AGPL - что вы можете сделать, а что нет

188

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

Моя неуверенность подпитывается этим постом о MongoDB (который является AGPL) и даже больше комментариями ниже.

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

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

  • если вы используете его и модифицируете, нужно ли вам открывать исходные тексты всего приложения или распространять только изменения в iText?
  • если вы используете его и не изменяете, нужно ли вам открывать исходные тексты всего приложения?
  • Если вы заключаете iText в другое приложение, которое запускаете как отдельный процесс, но используете его из своего основного приложения, следует ли вам открывать все или только приложение-обертку? (Приложение-оболочка будет основано на HTTP-API, которое будет принимать файлы pdf и возвращать результаты использования iText в качестве JSON). Может ли это быть использовано для обхода лицензии AGPL?

Примечание: вопрос о AGPLv3

Bozho
источник
1
См. Также этот соответствующий ответ: opensource.stackexchange.com/questions/5003/…
Филипп Омбредан

Ответы:

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 нелегальны ...
Антти Хаапала
10

AGPL такой же, как GPL; поэтому, если ваше приложение использует код AGPL, оно должно быть лицензировано AGPL.

Что AGPL делает поверх GPL, так это переопределение пользователя. Для программ GPL, работающих на вашем сервере, вы являетесь пользователем, для AGPL реальными пользователями приложения являются пользователи вашего веб-сайта или службы. Поэтому вы распространяете приложение, если его использует кто-то другой, кроме вас. И это, конечно, подразумевает все стандартные требования GPL.

Что касается Mongo, я предполагаю, что приложения, использующие его, не используют его код, только некоторый API, который не лицензирован AGPL.

Позволь мне быть
источник
Вообще говоря, я тоже не использую код iText - я использую его API, который является двоичным Java-API, а не JSON API в случае Mongo.
Божо
@ Божо А по какой лицензии это API?
Let_Me_Be
2
Все драйверы @Bozho Mongo DB лицензируются по лицензии Apache (я цитирую сайт, на который вы ссылались).
Let_Me_Be
2
ну, это хитроумно - что мы называем API и что такое клиент API. Кстати, вы можете ответить на три вопроса пули выше?
Божо
2
Нет сомнений в том, что произведение, использующее код AGPL, лицензируется в соответствии с AGPL (за исключением кода GPLv3, который специально разрешается смешивать без применения условий AGPL, применяемых к коду GPLv3). Проблема заключается в определении использования Сети, которое относится только к «Модифицированным версиям», а определение «Модифицированные версии» в определениях означает, что оно относится только к чему-то, что требует авторского права (то есть к распространению). Так что все еще довольно мутно.
Эрик Фанкенбуш