Ограничения на лицензирование с открытым исходным кодом GPL и LGPL

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

Спасибо!

Ответ 1

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

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

Ответ 2

  • GPL

    Другие разработчики могут заимствовать и изменять код и перераспределять его как часть своего собственного проекта, только если весь их проект также лицензирован под лицензией GPL.

    Это предотвращает использование кода в проприетарном программном обеспечении.

  • LGPL

    Другие разработчики могут заимствовать и модифицировать код и перераспределять его как часть своего собственного проекта, при условии, что часть, используемая в рамках LGPL, повторно лицензируется в соответствии с LGPL. Другие части проекта разрешены иметь другие лицензии.

    Это позволяет использовать код в проприетарном программном обеспечении.

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

Обратите внимание, что LGPL совместим с GPL: вы можете выбрать "обновить" код до GPL и включить его в полностью лицензированный проект GPL, как указано в моем первом марке, если хотите. Однако вы не можете пойти другим путем и повторно лицензировать лицензионный код GPL как LGPL.

Ответ 3

IANAL, но концепции довольно просты.

Сначала вы и ваш адвокат должны прочитать GPL и LGPL. Во-вторых, вы должны прочитать GPL FAQ. Насколько я понимаю, вы можете использовать библиотеки GPL/LGPL таким образом:

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

Ответ 4

GPL не запрещает вам продавать программное обеспечение. Однако вы должны предоставить доступ к источникам программного обеспечения.

Вопрос об использовании немного сложнее. GNU/Linux выпущен под GPL. Ничто не запрещает вам писать программное обеспечение, которое работает под Linux, независимо от лицензии вашего программного обеспечения. Однако вы не можете распространять Linux вместе с вашим программным обеспечением. Это часто проблема с библиотеками, которые должны быть частью программы. Для этого и предназначена лицензия LGPL. Вы можете скомпилировать c-программу, которую вы пишете с помощью gcc (отсюда и с использованием лицензионных библиотек runtime-времени LGPL от gcc) и по-прежнему выпускаете программное обеспечение без ограничений GPL.

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

Надеюсь, что это поможет.

Ответ 5

Если вы вырезаете и вставляете или связываете код GPL'd в своем приложении, ваша заявка должна быть лицензирована под лицензией GPL, и тогда вам необходимо освободить код.

Тем не менее, вы все равно можете продать свое приложение и afaik, единственное наложение - вы отпустите исходный код для своих клиентов.

Если библиотека, с которой вы ссылаетесь, является меньшей публичной лицензией Gnu или LGPL, тогда вам не нужно выпускать свой собственный код приложения, но вам все равно необходимо выпустить все изменения, если вы изменили код lgpl'd.

Ответ 6

Различие GPL и LGPL определяет, действительно ли вам/не нужно освобождать источник для вашего приложения любому, у кого есть копия двоичного файла. В любом случае вы все равно можете продать приложение.