AGPL - що ти вмієш робити, а що не можеш


188

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

Мою невпевненість подає цей пост про MongoDB (що є AGPL) та ще більше коментарями нижче.

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

Справа з MongoDB полягає в тому, що він використовує ліцензію Apache для коду клієнта, що ставить ще одне питання. Що станеться, якщо ви використовуєте програмне забезпечення AGPL, але розгортаєте його як інший додаток, ніж ваш комерційний із закритим кодом? Наприклад, візьміть iText - це бібліотека AGPL:

  • якщо ви використовуєте його та модифікуєте, чи потрібно відкривати джерело всієї програми або вам потрібно перерозподіляти лише зміни в iText?
  • якщо ви користуєтесь ним і не змінюєте його, чи потрібно відкривати весь ваш додаток?
  • Якщо ви загортаєте iText в іншу програму, яку ви запускаєте як окремий процес, але використовуєте її у своєму головному додатку, чи варто вам відкривати все, або лише програму для обгортки? (Додаток для обгортки буде API на основі HTTP, який буде приймати файли pdf та повертатиме результати використання iText як JSON). Чи можна це використовувати для обходу ліцензії AGPL?

Примітка. Питання стосується AGPLv3


1
Дивіться також відповідну відповідь: opensource.stackexchange.com/questions/5003/…
Philippe Ombredanne

Відповіді:


40

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

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

У більшості випадків, коли люди використовують окремі додатки GPL у закритих програмах, вони надають GPL роботу як необов'язкове розширення або альтернативне зворотне середовище до якогось іншого фрагмента коду тощо.

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


9
Хоча те, що ви говорите, є істинним, єдиною різницею між GPL та AGPL є потреба в постачанні коду, якщо він використовується інтерактивно через мережу. Однак у пункті, що охоплює це, зазначено, що воно стосується лише "Змінених версій" твору, а "модифіковані версії" визначаються як будь-яке використання, яке вимагає авторських прав. Просто запуск немодифікованої версії не створює "модифіковану версію", оскільки авторські права охоплюють лише розповсюдження.
Ерік Функенбуш

8
1. "пов'язано чи іншим чином" невірно. 2. "Це вважатиметься похідною роботою" неправильно 3. Я думаю, що "У більшості випадків" це неправильно. 4. "Робота (A) GPL не може поширюватися поряд з остаточним додатком навіть як окремий додаток" абсолютно невірно, наприклад, Debian поширює речі з усіма різними ліцензіями разом, не всі з яких сумісні з GPL. Власні системи також можуть це зробити. Погляньте на розділ 3 цієї сторінки, починаючи з "Постали запитання": ghostscript.com/doc/current/Commprod.htm Не читайте решту, вона намагається підманути вас на її придбання.
Сем Уоткінс

Debian фактично має 3 окремі сховища завдяки ліцензуванню. mainскладається з пакетів, сумісних з DFSG , які не покладаються на програмне забезпечення поза цією областю для роботи. Це єдині пакети, що вважаються частиною дистрибутива Debian . contribпакети містять програмне забезпечення, сумісне з DFSG , але вони не мають основної залежності (можливо, упаковані для Debian у невільний). non-freeмістить програмне забезпечення, яке не відповідає DFSG .
Кевін Брей

Re: "не можна поширювати поряд" - ви можете вказати на конкретні ліцензійні положення, що підтверджують це? Я повністю розумію, чому ви не хочете поставляти ліцензійний код AGPL у споживчому продукті, але це досить вузька обставина.
Чарльз Даффі

1
Як ... ват ... тож тепер усі ті Android-телефони з їх ядрами Linux незаконні ...
Antti Haapala

10

AGPL - те саме, що і GPL; тому, якщо ваш додаток використовує код AGPL, він повинен мати ліцензію AGPL.

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

Що стосується Mongo, я припускаю, що програми, що використовують його, не використовують його код, лише деякі API, які не мають ліцензії AGPL.


загалом кажучи, я не використовую код iText - я використовую його API, який є бінарним API Java, а не API JSON у випадку Mongo.
Божо

@Bozho І за якою ліцензією це API?
Let_Me_Be

2
@Bozho Mongo DB драйвери всі мають ліцензію за ліцензією Apache (я цитую веб-сайт, на який ви пов’язали).
Let_Me_Be

2
ну, це хитрість - що ми маємо за допомогою API та що таке клієнт API. До речі, ти можеш відповісти на три питання щодо кулі вище?
Божо

2
Немає сумніву, що робота, яка використовує код AGPL'd, ліцензується під AGPL (за винятком коду GPLv3, який спеціально дозволено переплутати без термінів AGPL, що застосовуються до коду GPLv3). Проблема полягає у визначенні використання мережі, яке посилається лише на "Змінені версії", а визначення "Модифіковані версії" у визначеннях означає, що воно стосується лише того, що вимагає авторських прав (тобто розповсюдження). Так що це все-таки досить каламутно.
Ерік Функенбуш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.