Могу ли я использовать программное обеспечение GPL в коммерческом приложении

204

У меня есть 3 вопроса о GPL здесь:

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

  2. Что, если я изменю какое-то программное обеспечение, которое использует мое приложение. Затем я должен выпустить свое приложение под лицензией GPL или я могу просто предоставить модифицированное программное обеспечение в соответствии с условиями GPL.

  3. А что если я использую программное обеспечение GPL, но не изменяю его, могу ли я распространять его вместе со своим приложением?

Например, у меня есть PHP-фреймворк, в котором я использую библиотеку GeSHi, чтобы выделить некоторые результаты.

  1. Поскольку GeSHi - это GPL, должен ли мой фреймворк быть GPL?

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

  3. Могу ли я распространять свои фреймворки с помощью GeSHi?

Петах
источник
10
Реклама! = Собственная собственность
Герстманн
2
Просто любопытно, что означает распределение в этом случае? Если речь шла, скажем, о программном обеспечении в устройстве, к которому никто не мог прикоснуться, кроме компании, которая продает устройство, является ли это «распространением»?
Уэс Миллер
2
Да, это распределение. Вот почему вы найдете такие вещи, как ADSL-маршрутизаторы, где исходный код (должен быть) доступен для загрузки. Авторитетные поставщики делают источник доступным, потому что этого требуют условия лицензии. То же самое касается коробок NAS, IP-камер и многих других гаджетов.
fast_now
2
@quickly_now - вот почему материал Tivoisation был добавлен в GPLv3, поэтому, если вы используете код GPLv2 в устройстве, вам не нужно его выпускать, но если вы используете код GPLv3, вы это делаете. Помните, что Tivo использовал код GPL и никогда не выпускал свои модификации, которые расстроили кучу людей и частично привели к GPLv3.
Скотт Уитлок

Ответы:

177

Если я использую программное обеспечение GPL в своем приложении, но не изменяю и не распространяю его, должен ли я выпускать свое приложение под лицензией GPL?

ОТВЕТ: Ваш вопрос немного двусмысленный. Два случая:

(a) Если вы не распространяете СВОЮ ЗАЯВКУ, ответ - Нет, поскольку вы не распространяли свою заявку. Например, если это было для внутреннего использования только в вашей компании, то вы не обязаны ничего делать.

(b) Если вы распространяете СВОЮ ЗАЯВКУ, и вы использовали что-то GPL как часть вашего приложения (даже если вы только ссылаетесь на библиотеку во время выполнения) - и даже если вы не берете деньги - и даже если вы не меняете что GPL s / w в любом случае - тогда вы ДОЛЖНЫ сделать источник ВАШЕЙ ЗАЯВКИ доступным.

Предоставление доступа к источникам не означает загрузку. Возможно, вам необходимо получить письменный запрос и отправить ксерокопию листинга (см. Комментарии: на самом деле вы не можете отправить листинг. Это было преувеличением, чтобы заявить о себе) . Вам разрешено взимать «разумную» плату за обработку / копирование. Но вы не можете избежать обязательства сделать свой собственный исходный код доступным.

Что, если я изменю какое-то программное обеспечение, которое использует мое приложение. Затем я должен выпустить свое приложение под лицензией GPL или я могу просто предоставить модифицированное программное обеспечение в соответствии с условиями GPL.

ОТВЕТ: см. Выше. Если вы использовали GPL s / w, то вы должны сделать свой исходный код доступным. Это включает в себя модифицированный код GPL.

А что если я использую программное обеспечение GPL, но не изменяю его, могу ли я распространять его вместе со своим приложением?

ОТВЕТ: см. Выше. Вы можете распространять его (код GPL) при условии, что вы сделаете свой источник доступным.

Поскольку GeSHi - это GPL, должен ли мой фреймворк быть GPL?

ОТВЕТ: Если вы распространяете свой фреймворк, тогда ДА.

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

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

Могу ли я распространять свои фреймворки с помощью GeSHi?

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

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

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

quickly_now
источник
67
Нужно любить GPL:
заставить
31
Просто примечание: это, вероятно, нарушит лицензию на предоставление исходного кода в виде фотокопии. Как отмечено в лицензии: «Исходный код для работы означает предпочтительную форму работы для внесения в нее изменений».
Mipadi
26
@Petah: GPL похож на вирус: он заражает все, к чему прикасается. Если вы предоставляете универсальный интерфейс и разрешаете пользователю устанавливать различные компоненты по своему выбору, вы МОЖЕТЕ сойти с рук, не будучи загрязненными GPL. ОДНАКО, если бы вы раздавали свои вещи, а кто-то другой должен был связать 2 вместе ... тогда, похоже, ваши вещи будут затронуты GPL. У вас очень сложная ситуация, независимо от того, как вы пытаетесь ее обойти.
quick_now
10
Если вопрос задавался несколько раз, то почему это не дубликат?
11
Обратите внимание, что взимание «разумной» платы за обработку не является сильным сдерживающим фактором для людей, заинтересованных в вашем исходном коде; Первый получатель вашего исходного кода может по закону предоставить другим ваш исходный код.
Брайан,
12

Это очень сильно противоречит, если вы используете его на веб-сайте, а не распространяете исполняемый файл.

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

конкретно

Если вы распространяете эту библиотеку в исполняемом файле, вы должны раскрыть свой исходный код, предоставив его либо вместе с вашим дистрибутивом, либо перечислить доступный способ (URL, физическая копия) для получения источника в течение 3 лет. Не применяется, если вы работаете через веб-портал.

https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29

Маслоу
источник
2
Не могли бы вы расширить это? В настоящее время это одно собственное предложение и текст из tldrlegal. Чем использование GPL на веб-сайте отличается от использования его в отдельном приложении?
Веб-сайт, как правило, не распространяет программное обеспечение (а просто предоставляет услугу)
Василий Старынкевич,
3
ВНЕ: есть лицензия AGPL, которая пытается обратиться к GPL, работающему как сервис: tldrlegal.com/license/…
kbrock
Если рассматриваемая библиотека GPL написана, скажем, на HTML, javascript и CSS, и код библиотеки «распространяется» сервером через веб-браузер людей, посещающих веб-сайт, мне интересно, может ли это вызвать другой ваш HTML, javascript, и CSS-код, чтобы стать GPL. Один интересный момент заключается в том, что этот код уже был бы «доступен» только при просмотре источника веб-страницы, хотя, возможно, и не в его предпочтительной форме. Однако даже тогда ваш серверный код не распространяется, и поэтому я полагаю, что он не должен быть GPL.
still_dreaming_1
2

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

Если вы выпускаете / распространяете программное обеспечение, содержащее компоненты GPL (например, статически связанные библиотеки), ваше программное обеспечение должно быть включено в GPL. (Такое впечатление создается для версии 2; версия 3 может отличаться.)

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

Модификация [L] GPL'd компонентов предполагает вклад обратно в создателя / сопровождающего. Я не понимаю, как это влияет на лицензирование вашего продукта.

Agi Hammerthief
источник
-4

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

Правовая проблема (закон) возникает при распространении программы GPL в виде бинарного файла или библиотеки в ОС, не являющейся GPL. Программа GPL заражает и заражает родительский и дочерний процесс, не относящийся к GPL (частная и даже другая лицензия с открытым исходным кодом), с точки зрения закона. Заражение означает, что производная программа нарушает GPL, заражение означает, что GPL-программа нарушает собственную лицензию. Никаких проблем не возникает, когда вы компилируете распределенный источник GPL в качестве действующего лица (человек, организация, компания).

Бисмарка
источник
11
это, кажется, просто повторяет высказанные и объясненные замечания в предыдущем ответе, который был опубликован 4 года назад
комнат