2009-12-31 3 views
2

У меня есть программное обеспечение, которое написало и включает в себя несколько компонентов, каждый из которых поставляется с собственной лицензией. В целом, все 24 компонентов в использовании делимся следующие лицензии:Лицензии с открытым исходным кодом и меня

  • Public Domain
  • GPL
  • LGPL
  • BSD
  • MPL

Вопросы я прошу являются:

  1. Могу ли я продать скомпилированную версию этого программного обеспечения, которая связывается со всеми этими компонентами?
  2. Что это установлено на сервере (будучи сервисом), это имеет значение?
  3. Что делать, если я изменю код, я должен рассказать миру, что я сделал?

ответ

11
  • Public Domain
  • GPL
  • LGPL
  • BSD
  • MPL

Будьте осторожны с этими лицензиями здесь. В частности, MPL is not compatible with the GPL. Теперь многие (возможно, большинство) части лицензионного программного обеспечения MPL распространяются по двойной лицензии, в которой вы можете использовать и распространять программное обеспечение в соответствии с условиями MPL или в соответствии с условиями GPL (или иногда LGPL) , Но в этом случае вы не должны перечислять MPL в списке лицензий, которые вы распространяете ПО, потому что для того, чтобы ссылаться на программное обеспечение, выпущенное под GPL, вы должны использовать опцию GPL (или LGPL) лицензия.

  1. Могу ли я продать скомпилированную версию этого программного обеспечения, которая связывает все эти компоненты?

Yes (и другие лицензии не влияют на это, тоже).

  1. Что это установлено на сервере (будучи сервисом), это имеет значение?

Если вы продаете услугу, в которой вы только запустить программное обеспечение на своих собственных компьютерах и не распространять программное обеспечение для тех, кто за пределами вашей компании или организации, то ни одна из этих лицензий не накладывают каких-либо существенных ограничения на то, что вы можете делать. В частности, GPL и LGPL не требуют, чтобы вы предоставили исходный код кому-либо еще в этих случаях.

Если вы используете большое количество стороннего программного обеспечения, все равно, как правило, рекомендуется внести свои исправления в проект вверх. Расхождение с восходящим потоком может вызвать множество проблем в будущем, когда вы попытаетесь обновиться, а внесение кода вверх по течению будет означать, что вы получите больше людей, знакомых с проектами, которые вы модифицируете, чтобы просмотреть ваш код, что может помочь улучшить его качество.

  1. Что делать, если я изменю код, должен ли я рассказать миру, что я сделал?

If you distribute the software никому за пределами вашей компании или организации, то вы должны предоставить их с исходным кодом, или предоставить им письменное предложение предоставить исходный код на более поздний срок, не более чем стоимость физической передачи данных к ним.

Если вы не распространяете программное обеспечение, ни одна из вышеперечисленных лицензий не налагает на вас каких-либо существенных ограничений. GNU Affero GPL, или AGPL, является единственной лицензией, которую я знаю, которая налагает значительные ограничения на людей, которые запускают программное обеспечение в качестве сетевой службы, и поскольку вы не указали эту лицензию в своем вопросе, я не думаю, что это то, что вам нужно обеспокоен.

Обратите внимание, что я отвечаю на эти вопросы с точки зрения GPL, который является наиболее ограничительной лицензией, которую вы перечисляете. Эффективно, когда вы связываете несколько частей программного обеспечения с этими лицензиями вместе, вы можете рассмотреть возможность лицензирования целого в соответствии с условиями GPL (за исключением MPL, который, как я уже упоминал, несовместим). Смотрите the following slide для визуальной совместимости между общими лицензиями:

License compatibility illustration, follow link for more information

+0

отличный и описательный ответ. Я хотел бы внести свой вклад в кодекс, но я боюсь, что эти изменения являются специфичными для домена, и никто больше их не будет интересовать. Я даже подозреваю, что клиент будет сожалеть об этих изменениях позже и хотел бы, чтобы мы вернули все это на трек. Очевидно, что я поставляю custoemr полный исходный код (актуальный, git-клон всего репо). - Еще раз спасибо. Tzury –

+0

IANAL, но если я правильно понимаю условия GPL, вы можете использовать его с кодом MPL IFF, вы вообще не выпускаете код (ни двоичный, ни исходный). Поэтому, если вы запускаете код на сервере, условия GPL не применяются, если вы сохраняете код самостоятельно. Вероятно, вы захотите избежать GPL (если вы не хотите использовать GPL самостоятельно) или GPL-несовместимые лицензии (если вы хотите использовать код GPL) на случай, если вы захотите опубликовать (т. Е. Предоставить какой-либо прямой доступ) своим код в какой-то форме в будущем. –

1
  1. Да, но вы должны иметь уведомление о том, что где-то часть кода (то есть все, но общественное достояние) был под таким-то лицензии, и это источник доступен здесь.

  2. Нет, не имеет значения

  3. только для GPL и LGPL код

+0

Ваш пункт 1 является неправильным: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney –

+0

Смотрите также: HTTP : //www.gnu.org/philosophy/selling.html –

+0

только что изменил его. – Earlz

2
  1. Да, но см (3).

  2. Да, в зависимости от вашего чтения GPL. Если это ваш собственный сервер, вы в порядке.

  3. Если вы распространяете (то есть продаете) исполняемый файл, то тот факт, что один из компонентов является GPL'd, означает, что вы также должны распространять свой код.

+0

Я не думал, что вы когда-нибудь сможете продать код GPL? – Earlz

+6

earlz, это просто неправильно: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney –

+0

Абсолютно вы можете продать программное обеспечение GPL. Вы должны полностью распространять исходный код, и ваши клиенты могут распространять его по своему усмотрению, но в GPL ничего нет, что мешает вам продавать код за деньги. – Ichorus

0

1: да, ответы cf earlz или Neil Butterworth.

2: ??

3: если вы изменяете библиотеки GPL/LGPL и предоставляете (отдаете/продаете) свой продукт, вы должны распространять код (точнее, изменения, внесенные вами в библиотеку).

Мое мнение: есть эти библиотеки в отдельных проектах от вас, поэтому существует четкое разделение, и вы можете легко предоставить патч, если его попросят.

Юридическая информация: Я не юрист, проконсультироваться с адвокатом, если у вас возникли сомнения

+0

Если библиотека/компонент GPL'd и вы связываетесь с ней, вы должны GPL весь код, независимо от того, изменяете ли вы библиотеку/компонент или нет. – 2009-12-31 15:43:05

+0

@anon: Если вы используете код GPL, да, вы должны использовать GPL для своего собственного кода, если вы его опубликуете. Это актуально только тогда, когда вы публикуете его. Если код никогда не покидает ваш контроль, GPL не применяется. Даже Affero GPL применяется только тогда, когда вы действительно размещаете код где-то другие люди могут его использовать (т. Е. Запустить службу). AFAICT это также означает «вы должны выбрать между коммерческой лицензией или GPL до запуска проекта с помощью этого», например, в библиотеке ExtJS от Sencha не содержится воды. Справедливое использование и т. Д. –

1
  1. AFAIK, вы не можете связаться с GPL код, если не использовать GPL на программное обеспечение тоже (см http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem). Если вы связываете другое программное обеспечение вместе с кодом GPL, оно должно иметь «совместимую лицензию» (см. http://en.wikipedia.org/wiki/License_compatibility). Это соответствует, вы можете продавать свое программное обеспечение по любой цене, если хотите, если вы доставляете исходный код или предлагаете эту поставку бесплатно.
  2. Вы можете поместить программное обеспечение GPL на сервер с внесенными изменениями без доставки исходного кода, если вы никому не даете двоичный код. Google изучает эту возможность много, используя код GPL для предоставления собственных услуг через Интернет. Однако это поведение невозможно с GPLv3, если оно использует предложение «Affero» (aka AGPL)
  3. Если вы распространяете свои изменения как двоичные файлы, да, вы должны. В противном случае проверьте (2).
Смежные вопросы