Чи можна використовувати програмне забезпечення GPL у комерційній програмі


203

У мене є 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-камер та численних інших гаджетів.
quick_now

2
@quickly_now - саме тому в програмі GPLv3 було додано матеріали Tivoisation, тож якщо ви використовуєте код GPLv2 у пристрої, ви його не потрібно реалізовувати, але якщо ви використовуєте код GPLv3, це робити. Пам'ятайте, що Tivo використовував код GPL і ніколи не випускав їх модифікацій, що засмучувало купу людей і частково призводить до GPLv3.
Скотт Вітлок

Відповіді:


177

Якщо я використовую програмне забезпечення GPL у своїй програмі, але не змінюю і не поширюю його, чи повинен я випустити свою програму під GPL?

ВІДПОВІДЬ: Ваше запитання трохи неоднозначне. Два випадки:

(а) Якщо ви не розповсюджуєте ВАШЕ ЗАЯВКУ, то відповідь - ні, оскільки ви не поширювали свою заявку. Наприклад, якщо це було для внутрішнього використання лише у вашій компанії, ви нічого не зобов’язані робити.

(b) Якщо ви розповсюджуєте ВАШЕ ЗАЯВКУ, і ви використовували щось GPL як частину вашої програми (навіть якщо лише підключення під час роботи до бібліотеки) - і навіть якщо ви не стягуєте гроші - і навіть якщо ви не змінюєте що GPL s / w будь-яким способом - тоді Ви ОБОВ'ЯЗКОВО зробите доступне джерело ВАШОГО ЗАЯВКИ.

Надання джерела доступним не означає завантаження. ІТ може бути, що ви повинні отримати письмовий запит і надіслати фотокопію лістингу (див. Коментарі: фактично ви не можете надсилати лістинг. Це було перебільшенням) . Вам дозволяється стягувати плату за "розумне" поводження / копіювання. Але ви не можете уникнути зобов'язання зробити доступним власний вихідний код.

Що робити, якщо я модифікую деяке програмне забезпечення, яке використовує моя програма. Тоді я повинен випустити свою заявку відповідно до GPL, чи можу я просто поставити модифіковане програмне забезпечення відповідно до умов GPL.

ВІДПОВІДЬ: Дивіться вище. Якщо ви використовували GPL s / w, тоді ви повинні зробити свій вихідний код доступним. Сюди входить модифікований код GPL.

Що робити, якщо я використовую програмне забезпечення GPL, але не змінюю його, чи можу я поширювати його за допомогою моєї програми?

ВІДПОВІДЬ: Дивіться вище. Ви можете поширити його (код GPL) за умови надання доступного джерела.

Оскільки GeSHi - це GPL, чи має моя структура бути GPL?

ВІДПОВІДЬ: Якщо ви поширюєте свої рамки, то ТАК.

Чи можу я змінити GeSHi для конкретних випадків використання моєї програми, якщо я надаю свої модифікації назад в технічне обслуговування GeSHi?

ВІДПОВІДЬ: Ви можете, якщо хочете. Вам не доведеться. Ви можете його змінити, але, розповсюджуючи свою програму, ви зобов’язані зробити своє джерело доступним, а також джерело змін, які ви внесли до бібліотеки.

Чи можу я перерозподілити свої рамки за допомогою GeSHi?

ВІДПОВІДЬ: Ви можете, якщо хочете. Якщо ваша програма не поширюється з кодом GPL і ви змушуєте користувачів завантажувати її окремо, щоб скористатися нею, то ваш випадок трохи більш особливий і може спровокувати якийсь аргумент, але той самий принцип, швидше за все, застосовується: зробіть своє джерело доступним.

Якщо ви хочете уникнути цих проблем, тоді вам потрібно використовувати речі з іншою ліцензією або, принаймні, LGPL, що дозволить зателефонувати бібліотекам під час запуску без вірусного поширення умов GPL назад до вашого коду.

У разі сумнівів вам потрібна юридична консультація. До будь-якої поради, яку ви отримаєте тут (від мене чи когось іншого), слід ставитися досить обережно. Надати належну юридичну пораду може лише юрист.



31
Лише зауваження: це, ймовірно, порушило б ліцензію на надання вихідного коду як фотокопію. Як зазначено в ліцензії: "Вихідний код твору означає бажану форму твору для внесення змін до нього".
mipadi

26
@ Petah: GPL - це як вірус: він заражає все, до чого торкнеться. Якщо ви надаєте загальний інтерфейс і дозволяєте користувачеві встановлювати різні компоненти за власним вибором, ви МОЖЕТЕ піти від того, щоб не забруднити GPL. ЗАРАЗ, якби припустив, що ти віддав свої речі, а хтось ще мав би зв'язати два разом ... тоді це виглядатиме так, що твої речі торкнуться 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 на веб-сайті відрізняється від використання його в самостійній програмі?

Веб-сайт зазвичай не поширює програмне забезпечення (а лише надає послугу)
Basile Starynkevitch

3
ТАК: Є ліцензія AGPL, яка намагається вирішити проблему GPL, яка працює як сервіс: tldrlegal.com/license/…
kbrock

Якщо відповідна бібліотека GPL написана на мові HTML, javascript та CSS, а код бібліотеки "поширюється" сервером на веб-браузер людей, які відвідують веб-сайт, мені цікаво, чи це може спричинити ваш інший HTML, javascript, і код CSS, щоб стати GPL. Цікавим моментом є те, що цей код уже був би "доступний" лише за допомогою перегляду джерела веб-сторінки, хоча, можливо, не у бажаному вигляді. Однак навіть тоді ваш код на стороні сервера не поширюється, і тому, я думаю, GPL не потребує.
still_dreaming_1

2

Відмова : Я не юрист, і я не читав жодної версії GPL протягом певного часу, тому ця відповідь може бути юридично недостовірною.

Якщо ви випускаєте / розповсюджуєте програмне забезпечення, що містить компоненти GPL'd (наприклад, статично пов'язані бібліотеки), ваше програмне забезпечення повинно охоплюватися GPL. (Це враження від версії 2; версія 3 може бути різною.)

Якщо ви випускаєте / розповсюджуєте програмне забезпечення за допомогою бібліотек LGPL'd, ваше програмне забезпечення не повинно охоплюватися GPL, але бібліотеки повинні зберігати LGPL.

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


-4

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

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


11
це, здається, просто повторює пункти, зроблені та пояснені в попередній відповіді , опублікованій 4 роки тому
гнат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.