- Public Domain
- GPL
- LGPL
- BSD
- MPL
Будьте осторожны с этими лицензиями здесь. В частности, MPL is not compatible with the GPL. Теперь многие (возможно, большинство) части лицензионного программного обеспечения MPL распространяются по двойной лицензии, в которой вы можете использовать и распространять программное обеспечение в соответствии с условиями MPL или в соответствии с условиями GPL (или иногда LGPL) , Но в этом случае вы не должны перечислять MPL в списке лицензий, которые вы распространяете ПО, потому что для того, чтобы ссылаться на программное обеспечение, выпущенное под GPL, вы должны использовать опцию GPL (или LGPL) лицензия.
- Могу ли я продать скомпилированную версию этого программного обеспечения, которая связывает все эти компоненты?
Yes (и другие лицензии не влияют на это, тоже).
- Что это установлено на сервере (будучи сервисом), это имеет значение?
Если вы продаете услугу, в которой вы только запустить программное обеспечение на своих собственных компьютерах и не распространять программное обеспечение для тех, кто за пределами вашей компании или организации, то ни одна из этих лицензий не накладывают каких-либо существенных ограничения на то, что вы можете делать. В частности, GPL и LGPL не требуют, чтобы вы предоставили исходный код кому-либо еще в этих случаях.
Если вы используете большое количество стороннего программного обеспечения, все равно, как правило, рекомендуется внести свои исправления в проект вверх. Расхождение с восходящим потоком может вызвать множество проблем в будущем, когда вы попытаетесь обновиться, а внесение кода вверх по течению будет означать, что вы получите больше людей, знакомых с проектами, которые вы модифицируете, чтобы просмотреть ваш код, что может помочь улучшить его качество.
- Что делать, если я изменю код, должен ли я рассказать миру, что я сделал?
If you distribute the software никому за пределами вашей компании или организации, то вы должны предоставить их с исходным кодом, или предоставить им письменное предложение предоставить исходный код на более поздний срок, не более чем стоимость физической передачи данных к ним.
Если вы не распространяете программное обеспечение, ни одна из вышеперечисленных лицензий не налагает на вас каких-либо существенных ограничений. GNU Affero GPL, или AGPL, является единственной лицензией, которую я знаю, которая налагает значительные ограничения на людей, которые запускают программное обеспечение в качестве сетевой службы, и поскольку вы не указали эту лицензию в своем вопросе, я не думаю, что это то, что вам нужно обеспокоен.
Обратите внимание, что я отвечаю на эти вопросы с точки зрения GPL, который является наиболее ограничительной лицензией, которую вы перечисляете. Эффективно, когда вы связываете несколько частей программного обеспечения с этими лицензиями вместе, вы можете рассмотреть возможность лицензирования целого в соответствии с условиями GPL (за исключением MPL, который, как я уже упоминал, несовместим). Смотрите the following slide для визуальной совместимости между общими лицензиями:
отличный и описательный ответ. Я хотел бы внести свой вклад в кодекс, но я боюсь, что эти изменения являются специфичными для домена, и никто больше их не будет интересовать. Я даже подозреваю, что клиент будет сожалеть об этих изменениях позже и хотел бы, чтобы мы вернули все это на трек. Очевидно, что я поставляю custoemr полный исходный код (актуальный, git-клон всего репо). - Еще раз спасибо. Tzury –
IANAL, но если я правильно понимаю условия GPL, вы можете использовать его с кодом MPL IFF, вы вообще не выпускаете код (ни двоичный, ни исходный). Поэтому, если вы запускаете код на сервере, условия GPL не применяются, если вы сохраняете код самостоятельно. Вероятно, вы захотите избежать GPL (если вы не хотите использовать GPL самостоятельно) или GPL-несовместимые лицензии (если вы хотите использовать код GPL) на случай, если вы захотите опубликовать (т. Е. Предоставить какой-либо прямой доступ) своим код в какой-то форме в будущем. –