Я занимаюсь разработкой ruby-приложения с открытым исходным кодом под лицензией MIT. Я использую эту лицензию, потому что я не хочу накладывать какие-либо ограничения на пользователей приложения. Также я могу читать и понимать эту лицензию.
Недавно я начал использовать другой рубиновый драгоценный камень в моем проекте (требуется somegem). Этот рубиновый камень находится под лицензией LGPL.
Должен ли я что-то изменить в своем проекте, потому что я использую другой рубиновый гем, лицензированный по лицензии LGPL? Мой проект не содержит исходный код для другого драгоценного камня, и он не поставляется с моим проектом. Он просто указан как зависимость, поэтому ruby gems установит его, и мой проект вызовет его из моего кода.
Кроме того, было бы полезно узнать, есть ли какие-либо лицензии, которые мне нужно «остерегаться», потому что их использование повлияет на лицензию моего проекта.
Есть несколько других постов на эту тему, но они сформулированы по-разному. Поскольку я нахожу эту лицензионную штуку сложной, я надеюсь получить ответ, направленный на мою ситуацию.
Спасибо,
Корсен
источник
Ответы:
Не влияет
LGPL - означает Малую GPL (используется для обозначения Библиотеки GPL). Существенная разница с GPL заключается в том, что она не накладывает лицензии на программное обеспечение, использующее библиотеку. Только если вы измените библиотеку или напрямую включите части кода в свое программное обеспечение, тогда ваш код должен быть LGPL. С другой стороны, если вы просто используете gem в своем приложении, вполне нормально, чтобы ваше приложение имело любую лицензию, какую пожелаете.
Упомянутая часть LGPL:
источник
Программное обеспечение LGPL зависит от вашего программного обеспечения. Так что это на самом деле является частью вашего программного обеспечения. LGPL позволяет использовать его из несвободного программного обеспечения (в то время как MIT - даже бесплатное программное обеспечение), поэтому наличие зависимости не является блокирующим фактором.
Однако, поскольку это зависимость, вам нужно предложить исходный код, если вы распространяете свое программное обеспечение. Я понятия не имею, если механизм require в ruby также всегда предоставляет источники. Если это так, я бы сказал, что вы уже распространяете с источниками. Если нет, вам нужно позаботиться о том, чтобы для каждой версии этого драгоценного камня, которая вам требуется в вашем программном обеспечении, вы предлагаете источники.
В любом случае вам, вероятно, следует позаботиться об источниках, потому что может случиться так, что сторонний проект (гем) выйдет в автономный режим, и ваш проект будет тогда сломан, так как он больше не требует несуществующего гема.
Это не юридический совет, просто с точки зрения программистов. Учтите, что пользователи вашего программного обеспечения запрашивают у вас источники, так как ваше программное обеспечение использует библиотеку, и это можно рассматривать как распространение, потому что вы написали
require "somegem"
там. Юридическое определение дистрибутива может не соответствовать ежедневному ожиданию программистов записи файлов на CD-ROM. Поэтому разумно иметь здесь более широкую концепцию, чтобы оставаться активными на случай, если все пойдет не так, как ожидалось.источник