Чи може програма GPLv2 покладатися на ліцензовані бібліотеки Apache?


12

Чи може програмне забезпечення, що має ліцензію GPL (версія 2), покладатися на бібліотеки, ліцензовані за APLv2, не підтримуючи GPL? Мова тут напрошується мені, можливо, ні.

У моєму конкретному випадку я дивлюся на демон, який використовує деякі ліцензовані APLv2 зовнішні бібліотеки.

ОНОВЛЕННЯ (У відповідь на відповіді / коментарі.)

  1. Для цього питання я не можу передати основну програму (демон)
  2. Основна програма була розширена функціоналом, який використовує apr-utilі, можливо, інші компоненти APLv2

Моє запитання полягає в тому, чи можу я випустити розширений демон під GPLv2, чи це щось, що мені потрібно тримати в собі (без розповсюдження) та / або повторно реалізувати без APLv2, якщо я зобов’язаний (а) випустити це розширення, і, (b) збереження демона GPL'd?


2
У документі, який ви зв'язали, чітко зазначено, що ні. Однак у більшості GPL-кодів є положення "або, за вашим бажанням, будь-яка пізніша версія", що означає, що ви можете трактувати це як GPLv3, і це добре.
Ян Худек

Відповіді:


7

Давайте спочатку уточнимо деяку термінологію. Коли FSF каже, що ліцензія сумісна з GPL, вони не означають, що багато людей трактують. Багато хто інтерпретує "сумісний", щоб означати, що два програмні продукти можуть щасливо співіснувати в одній програмі.

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

З FAQ про GPL , моє наголос.

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

Таким чином, ліцензія сумісна з GPL, якщо її умови можуть бути використані під GPL.


Тож давайте подивимось на APLv2 та GPLv3.

  • APLv2_Lib + GPLv3_Lib => Комбінована lib, оскільки GPLv3 добре.
  • APLv2_Lib + GPLv3_Lib => Комбінована lib як APLv2 не в порядку.

І Apache говорить стільки, скільки тут :

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


Але ви працюєте з демоном, який був ліцензований під GPLv2, а не v3.

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

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

Отже, щоб відповісти на ваше запитання:

Ні , ви не можете поширювати комбінований демон, використовуючи ліцензовані матеріали GPLv2 та APLv2 .
FSF прямо заявляє, що ця комбінація не є допустимою для публічного розповсюдження.

Альтернативи:

  1. Ви маєте право використовувати його в приватному порядку .

  2. Також було б добре переписати функціональність APLv2, а потім поєднати свою нову роботу з роботою GPLv2.

  3. Ви можете побачити, чи можна демона змінити на GPLv3. Якщо так, то вам би було зрозуміло об'єднати роботу APLv2 у тепер демон GPLv3.


2

Мій погляд узгоджується з ОП на основі тексту посилання АСС ОП.

ASF (Apache Software Foundation) не подобається, що ідея коду ASFv2 є будь-якою частиною системи, яка використовує GPLv2, виходячи з обмеженої інформації про ваш випадок та моє розуміння різних ліцензій FOSS: незалежно від того, чи є проект парасольки GPLv2 або проект парасольки GPLv2, намагаючись включити ASFv2.

Крім того, здається, що проект парасольки ASFv2, у якого є код GPLv3, не повинен відбуватися, але проект парасольки GPLv3 може мати код ASFv2.

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

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