Как использование драгоценного камня LGPL влияет на мое лицензированное приложение MIT?

21

Я занимаюсь разработкой ruby-приложения с открытым исходным кодом под лицензией MIT. Я использую эту лицензию, потому что я не хочу накладывать какие-либо ограничения на пользователей приложения. Также я могу читать и понимать эту лицензию.

Недавно я начал использовать другой рубиновый драгоценный камень в моем проекте (требуется somegem). Этот рубиновый камень находится под лицензией LGPL.

Должен ли я что-то изменить в своем проекте, потому что я использую другой рубиновый гем, лицензированный по лицензии LGPL? Мой проект не содержит исходный код для другого драгоценного камня, и он не поставляется с моим проектом. Он просто указан как зависимость, поэтому ruby ​​gems установит его, и мой проект вызовет его из моего кода.

Кроме того, было бы полезно узнать, есть ли какие-либо лицензии, которые мне нужно «остерегаться», потому что их использование повлияет на лицензию моего проекта.

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

Спасибо,
Корсен

corsen
источник
1
Это похоже на вопрос для юристов, а не программистов. (То есть: это хороший вопрос, хорошо заданный, с которым некоторые программисты могут иметь опыт работы… но это не делает его подходящим для переполнения стека, так как это очень и очень мало связано с программированием.)
Phrogz
7
Фрогз: ты преувеличиваешь. Это простой вопрос лицензирования, на который четко отвечают текст лицензии и многочисленные часто задаваемые вопросы. Вам действительно не нужен адвокат, чтобы читать.
vartec

Ответы:

26

Не влияет

LGPL - означает Малую GPL (используется для обозначения Библиотеки GPL). Существенная разница с GPL заключается в том, что она не накладывает лицензии на программное обеспечение, использующее библиотеку. Только если вы измените библиотеку или напрямую включите части кода в свое программное обеспечение, тогда ваш код должен быть LGPL. С другой стороны, если вы просто используете gem в своем приложении, вполне нормально, чтобы ваше приложение имело любую лицензию, какую пожелаете.

Упомянутая часть LGPL:

Программа, которая не содержит производных какой-либо части Библиотеки, но предназначена для работы с Библиотекой путем компиляции или связывания с ней, называется «работой, использующей Библиотеку». Такое произведение в отдельности не является производным произведением Библиотеки и, следовательно, выходит за рамки настоящей Лицензии.

Vartec
источник
1
Есть еще несколько требований к библиотеке LGPL, которые вы должны выполнить, особенно если вы жестко закодировали импорт ее внутри закрытой программы. Сказав это не означает, что вы должны поместить свой код в LGPL, но есть требования, которые должны быть выполнены. Я не уверен в механизме связывания rubygen, вероятно, он сопоставим с импортом Java: LGPL и Java .
Хакре
0

Должен ли я что-то изменить в своем проекте, потому что я использую другой рубиновый гем, лицензированный по лицензии LGPL? Мой проект не содержит исходный код для другого драгоценного камня, и он не поставляется с моим проектом. Он просто указан как зависимость, поэтому ruby ​​gems установит его, и мой проект вызовет его из моего кода.

Программное обеспечение LGPL зависит от вашего программного обеспечения. Так что это на самом деле является частью вашего программного обеспечения. LGPL позволяет использовать его из несвободного программного обеспечения (в то время как MIT - даже бесплатное программное обеспечение), поэтому наличие зависимости не является блокирующим фактором.

Однако, поскольку это зависимость, вам нужно предложить исходный код, если вы распространяете свое программное обеспечение. Я понятия не имею, если механизм require в ruby ​​также всегда предоставляет источники. Если это так, я бы сказал, что вы уже распространяете с источниками. Если нет, вам нужно позаботиться о том, чтобы для каждой версии этого драгоценного камня, которая вам требуется в вашем программном обеспечении, вы предлагаете источники.

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

Это не юридический совет, просто с точки зрения программистов. Учтите, что пользователи вашего программного обеспечения запрашивают у вас источники, так как ваше программное обеспечение использует библиотеку, и это можно рассматривать как распространение, потому что вы написали require "somegem"там. Юридическое определение дистрибутива может не соответствовать ежедневному ожиданию программистов записи файлов на CD-ROM. Поэтому разумно иметь здесь более широкую концепцию, чтобы оставаться активными на случай, если все пойдет не так, как ожидалось.

hakre
источник
1
«вам нужно предложить исходный код, если вы распространяете свое программное обеспечение». нет, если вы не общедоступны.
vartec
1
@vartec: если вы распространяете, вам нужно предложить источник. Только в случае, если вы некоммерческий и код не изменен, вы можете делегировать это требование вышестоящему проекту (см. GPL). Если библиотека не распространяется вами (однако в этом случае существуют инструкции по установке в жестком коде, которые пользователь не может изменить, и на самом деле в LGPL есть требования о замене, что может даже нарушить совместимость с LGPL), я думаю, что безопаснее обеспечить Источники, поэтому обратное проектирование и требования по замене легко выполняются.
Хакре
@vartec: Публичная доступность означает, что вы не распространяете. Если распространитель драгоценного камня не может предложить источники, копия драгоценного камня может быть недопустимой.
Хакре
LGPL, раздел 4.e «Предоставление информации об установке, но только в том случае, если в противном случае вам потребуется предоставить такую ​​информацию в соответствии с разделом 6 GNU GPL, и только в той степени, в которой такая информация необходима для установки и запуска модифицированной версии Совместная работа, произведенная путем рекомбинации или перекомпоновки Приложения с модифицированной версией Связанной версии. "
vartec
1
@vartec: Точно. 4.e продолжает: "(Если вы используете опцию 4d0, информация об установке должна сопровождать минимальный соответствующий источник и соответствующий код приложения. Если вы используете опцию 4d1, вы должны предоставить информацию об установке в порядке, указанном в разделе 6 GNU GPL для передачи соответствующего источника.) "
Хакре