Чи можна використовувати ліцензії на програмне забезпечення Apache, версії 2.0 та GNU LGPL 3 у своїх комерційних веб-додатках?


31

У мене є два плагіни. Один має ліцензію GNU LGPL 3, а інший має ліцензію на програмне забезпечення Apache, версія 2.0. Чи можу я використовувати їх у своєму комерційному додатку? І якщо так, то які заходи безпеки слід вжити?


17
Майте на увазі, що НІКОЛИ НІКОЛИ не дотримуйтесь юридичних порад, які ви отримуєте в Інтернеті, за винятком випадків, коли це стосується юриста. Переважно той, хто спеціалізується на даній галузі, в даному випадку: ліцензії на програмне забезпечення. Тому прийміть усі відповіді, отримані із зерном солі, бо в іншому випадку ви можете піддаватись позовам (оскільки ваш додаток є комерційним).
Раду Мурзеа

Відповіді:


34

Чи можу я використовувати їх у своєму комерційному додатку?

Це залежить від того, що ви маєте намір робити з програмним забезпеченням, яке ви виробляєте.

По-перше, ні ASL 1 , GPL, ні LGPL не обмежують те, що ви можете використовувати програмне забезпечення для своєї організації. Усі обмеження стосуються коду, який розповсюджується за межами вашої організації.

  • Для GPL обмеження полягає в тому, що якщо ви включаєте код GPL'ed у власне програмне забезпечення, а потім розповсюджуєте програмне забезпечення за межами вашої організації, ТІЛО ви повинні зробити вихідний код доступним за умовами GPL або сумісної ліцензії з відкритим кодом.

    Отже, якщо ви використовуєте код GPL'ed у своїй програмі та розповсюджуєте його, то ваша програма повинна бути відкритим кодом ... інакше ви порушуєте ліцензію.

  • Для LGPL обмеження (див. Вище) стосується лише вихідного коду самої бібліотеки LGPL'ed; тобто якщо ви зміните бібліотеку. Якщо ви просто використовуєте бібліотеку, вам не потрібно робити доступ до вихідного коду.

    Існує також обмеження, що код LGPL у вашій програмі повинен бути замінений користувачем вашого коду. Це означає (по суті), що якщо ви поширюєте свій код лише як бінарні файли, ви не можете статично пов’язати свій код з цією бібліотекою. Ви повинні використовувати динамічне посилання.

  • Для ASL єдине суттєве обмеження полягає в тому, що ви повинні сказати, чи змінили ви з оригінальної версії код ASL'ed, який ви використовуєте.

Нарешті, лише для того, щоб зрозуміти, ні GPL, LPGL, ні ASL не ставлять жодних обмежень щодо вашої мети у використанні програмного забезпечення. І це включає, чи є ваша мета - заробляти гроші. Вони просто стримують спосіб заробляти гроші ... а у випадку з LGPL та ASL обмеження досить мінімальні.

І якщо так, то які заходи безпеки слід вжити?

Для LGPL та ASL ніяких запобіжних заходів не потрібно.

IANAL - Я не юрист. Якщо вам потрібно бути впевненим, запитайте справжнього кваліфікованого експерта; тобто юрист, який спеціалізується на програмному праві інтелектуальної власності.


1 - Для цілей цієї відповіді ASL == Ліцензія на програмне забезпечення Apache версія 2.


Це стосується веб-програми? я маю на увазі, що клієнт отримає лише файл війни, що містить файли .class та .JAR. Якщо з LGPL все ще все в порядку?
Java Main

Якщо ви не змінюєте бібліотеки LGPL, тоді ви можете включити їх зі своїм кодом програми у файл WAR. Але робити це потрібно так, щоб особа, якій ви поширюєте свій код, змогла замінити код LBPL на іншу версію. "Uber-JAR", ймовірно, є порушенням. Обмивання бібліотек LGPL разом із кодом - це безумовно порушення. (IANAL)
Стівен C

Є папка під назвою lib, куди я розміщую всі файли jar. Тож він може замінити будь-який файл Jar іншою його версією. Але я не гарантую, що це буде працювати завжди. Це все-таки добре?
Java Main

Запитайте свого адвоката :-)
Стівен C

Це просто звичайний веб-додаток, який працює на tomcat. Якщо ви можете допомогти, буде добре. У будь-якому випадку дякую за роз'яснення, що справді допомагає
Java Main

5

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

Для використання в програмі із закритим кодом це фактично означає, що ви можете використовувати плагін Apache Licensed без обмежень і що ліцензійний модуль LGPL повинен бути динамічно пов'язаний.

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


BartvanIngenSchenau, що ви маєте на увазі під "закритим джерелом" програми? Ви маєте на увазі пакетне рішення (не розповсюджуючи вихідний код), чи маєте на увазі його розповсюдження в межах організації порівняно з чимось на зразок комерційного розповсюдження?
Рахаель

1
@Rachael: "Закритий джерело" зазвичай використовується для позначення програмного забезпечення, для якого вихідний код не розповсюджується. Розподіл всередині організації є трохи особливий випадок , коли мова йде про ліцензування авторського права, оскільки надання копій програмного продукту для людей в організації не розглядається розподіл для більшості законів про авторське право (він буде вважати копіювання).
Барт ван Іґен Шенау

-4

Перш за все, це не юридична консультація.

Програмне забезпечення GPL не дозволяється пов'язувати (включаючи мережу), збирати або поставляти з програмним забезпеченням, яке не є GPL будь-якої форми. LGPL це трохи послаблює, щоб дозволити сторонній підтримці, яка не є GPL, у тому числі для комерційних продуктів. Важлива частина тут полягає в тому, що вона повинна бути сторонньою (так би мовити), що створює невелику петлю-отвір.

Коротше кажучи, ви посилаєтесь на існуючу бібліотеку LGPL (називайте це першою стороною), але програмне забезпечення, яке робить це посилання, повинно бути зроблено LGPL. Назвіть це програмне забезпечення другою стороною. Хоча програмне забезпечення другої сторони повинно бути випущено як LGPL, але як власник програмного забезпечення другої сторони ви можете дозволити іншому програмному забезпеченню використовувати його поза межами LGPL (доки програмне забезпечення другої сторони залишається доступним і під LGPL). Іншими словами, програмне забезпечення другої сторони повинно бути доступним як LGPL, але це не так потрібноліцензувати його як LGPL у будь-яких випадках. Кожен окремий користувач програмного забезпечення повинен мати ліцензію на використання зазначеного програмного забезпечення за законом. Я говорю, що якщо кожен користувач має доступ до програмного забезпечення як LGPL, ви можете також ліцензувати його, використовуючи невірусні умови. Ви також можете створити сторонне програмне забезпечення, фактично ліцензуючи для себе сторонне програмне забезпечення для використання стороннім програмним забезпеченням за умовами, що не стосуються LGPL. Я навіть чув про те, щоб люди писали собі договір та ліцензію на використання власного програмного забезпечення. Закон може бути дивним! Сторонне програмне забезпечення не повинно бути LGPL ні в якому разі.

Отже, вам потрібно створити бібліотеку, яка пов'язуватиметься з вкладкою LGPL як просто обгортку, і випустіть обгортку як LGPL. Потім ви можете зв’язатись із цією обгорткою ( вашою обгорткою) у програмному забезпеченні, що не стосується LGPL, якщо ваша обгортка доступна як LGPL.

Я не можу виступати за ліцензію на програмне забезпечення Apache, тому що я не знайомий з цим.


Зауважте, що я використовую термін "посилання" дуже загально, оскільки це не стосується лише компільованих мов, а також може включати "в тому числі" програмне забезпечення LGPL (з локального або мережевого розташування, наприклад, з PHP або Javascript) або іншим чином "підключення" до програмного забезпечення через таку мережу, як Java RMI тощо
JSON

1
"Програмне забезпечення GPL заборонено пов'язувати (включаючи мережу), збирати або поставляти з програмним забезпеченням, яке не є GPL будь-якої форми." . Значення "або" має бути "і". Ви можете використовувати програмне забезпечення GPL'ed у програмному забезпеченні, яке не є GPL'ed, за умови, що ви його не "постачаєте".
Стівен С

2
Ця відповідь неправильна на багатьох рівнях. Питання не в GPL, а в LGPL. ASL-код може бути інтегрований у код майже за будь-якою іншою ліцензією, що означає також LGPL або навіть GPL (навіть якщо заборонено навпаки). Ви навіть можете використовувати його в програмному забезпеченні із закритим джерелом. І, як зазначив Стівен К., ви можете робити все, що завгодно, доки ви не опублікуєте його або зробите доступним для публіки.
Олексій Дуфреной
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.