Я зарабатываю на PHP, но никогда раньше не работал и не участвовал в проектах с открытым исходным кодом.
Я разрабатываю CMS для собственного использования. У меня есть работающий прототип, и я думаю, что когда он будет готов (возможно, через пару месяцев), это может быть чем-то, что заинтересовало бы сообщество PHP.
Я довольно уверенный разработчик, но есть области, в которых мои знания отсутствуют, особенно когда речь идет о проблемах с открытым исходным кодом:
- Как лучше всего публиковать проект и / или находить других людей, которые могут быть заинтересованы в сотрудничестве?
- Моя CMS работает на CakePHP и в основном находится в виде слоя поверх него. Я разработал проект CakePHP на GitHub: раньше я пользовался системами контроля версий (SVN), но я довольно плохо знаком с GIT, поэтому хочу быть уверенным, что я делаю вещи «наилучшим образом»
- Как я могу узнать о проблемах лицензирования? Какая лицензия с открытым исходным кодом подойдет для моего приложения? Кроме того, мой проект заимствует из многих других проектов с открытым исходным кодом, например, у меня есть разделы кода (которые я сильно изменил), но в которых были уведомления об авторском праве / лицензировании - я понятия не имею, каковы мои обязательства с точки зрения держать их в
Это всего лишь несколько примеров вопросов, которые у меня есть, но я чувствую, что должны быть какие-то ресурсы, которые были бы полезны для меня. Где лучше всего начать, каковы лучшие сообщества / сайты, которые освещают эти проблемы? Я осмотрелся вокруг, но не смог придумать много ...
источник
Ответы:
Я не юрист, но я попробую.
CakePHP лицензируется по лицензии MIT , что в основном означает, что он разрешает повторное использование в проприетарном программном обеспечении при условии, что лицензия распространяется с этим программным обеспечением. Он совместим с лицензиями GPL , под которыми выпущено много проектов с открытым исходным кодом.
Что касается других проектов, которые вы «заимствуете», вам придется проверить их типы лицензий и проверить их совместимость друг с другом и тип лицензии, которую вы решили использовать. Если кто-либо из них использует лицензию GPL , вам также придется выпустить лицензию GPL в соответствии с условиями лицензии.
Я предлагаю выпустить под лицензией GNU GPL v3, поскольку она дает вам соответствующие права собственности на вашу работу, позволяя другим потенциально использовать ее как в коммерческих, так и в открытых проектах. Помните, однако, что лицензии «заимствованных» проектов должны быть совместимы .
Что касается лучших практик с Git и Github, используйте
git submodule
для включения других проектов в свою собственную библиотеку. Это лучше, чем включать файлы напрямую, поскольку вы не принимаете работу как свою собственную.источник
git submodule add git://github.com/jquery/jquery.git public/vendor/jquery
Проверьте это руководство от Эрика С. Рэймонда (остальная часть книги также стоит прочитать).
Лично я бы не стал сильно беспокоиться об этом - вы не будете зарабатывать на этом деньги напрямую, как и никто другой, поскольку уже есть множество отличных бесплатных универсальных CMS. Я предлагаю вам использовать самую либеральную лицензию, которую вы можете (MIT или BSD), если только вы не заимствуете код, на который распространяется вирусная лицензия (как правило, GPL или их разновидности), и в этом случае вы так или иначе вынуждены использовать эту лицензию.
Обязательно внимательно прочитайте все лицензии библиотек и фрагментов, которые вы используете; они должны указать, разрешено ли вам распространять и изменять код и нужно ли включать их в какие-либо производные работы (большинство лицензий требуют этого, и даже для тех, кто этого не делает, атрибуция - это минимум, что вы можете сделать, чтобы поблагодарить авторы оригинальных работ).
источник