Открыть сервис

AGPLv3

AGPLv3 (GNU Affero General Public License version 3) — это копилефт-лицензия на свободное программное обеспечение, разработанная Фондом свободного программного обеспечения (Free Software Foundation, FSF). Она является модификацией GNU General Public License версии 3 (GPLv3) и предназначена для решения юридических коллизий, связанных с распространением программного обеспечения через компьютерные сети, в частности, через веб-сервисы. Основное отличие AGPLv3 от GPLv3 заключается в требовании предоставлять исходный код пользователям, взаимодействующим с программой удалённо по сети.

История

Лицензия AGPLv3 была опубликована 19 ноября 2007 года. Её появление было вызвано так называемой «лазейкой веб-приложений» (ASP loophole) в GPLv2 и GPLv3. Эта лазейка позволяла компаниям использовать модифицированное программное обеспечение под GPL на своих серверах, не раскрывая внесённые изменения, поскольку GPL требует предоставления исходного кода только при распространении копий программы, а не при простом предоставлении доступа к ней через сеть.

Первая версия лицензии — Affero General Public License (AGPLv1) — была создана в 2002 году компанией Affero, Inc. для своего проекта OpenID. AGPLv1 была основана на GPLv2, но содержала дополнительное условие, требующее раскрытия исходного кода при сетевом взаимодействии. В 2007 году, после выхода GPLv3, FSF решила стандартизировать подход, выпустив AGPLv3 как официальную лицензию FSF, гармонизированную с GPLv3. AGPLv1 не была одобрена FSF и не считалась совместимой с GPLv2, в то время как AGPLv3 была признана совместимой с GPLv3.

Основные положения

AGPLv3, как и GPLv3, является копилефт-лицензией, что означает, что производные работы (модифицированные версии) должны распространяться под той же лицензией. Ключевые положения включают:

  • Право на копирование, распространение и модификацию: Пользователи имеют право запускать, изучать, изменять и распространять программу.
  • Обязательство предоставлять исходный код: При распространении программы (в том числе в составе более крупного произведения) необходимо предоставлять полный соответствующий исходный код.
  • Сетевое взаимодействие (Section 13): Это ключевое отличие от GPLv3. Если пользователь модифицирует программу под AGPLv3 и предоставляет к ней доступ через компьютерную сеть (например, через веб-сервер), он обязан предоставить исходный код модифицированной версии любому, кто взаимодействует с программой удалённо. Это условие не распространяется на неизменённую версию, полученную от автора.
  • Защита от патентных исков: Лицензия содержит явный патентный грант от всех участников, распространяющих программу. Если участник подаёт патентный иск против другого пользователя, он теряет право на распространение программы (условие взаимного прекращения патентных прав).
  • Совместимость с GPLv3: AGPLv3 является совместимой с GPLv3. Это означает, что код, распространяемый под AGPLv3, может быть объединён с кодом под GPLv3, и результат может распространяться под AGPLv3. Однако код под GPLv3 не может быть просто перелицензирован под AGPLv3 без согласия всех авторов.

Отличия от GPLv3

Основное различие между AGPLv3 и GPLv3 заключается в условии о сетевом взаимодействии (Section 13). GPLv3 не требует предоставления исходного кода при простом использовании программы через сеть (например, SaaS-модель). AGPLv3, напротив, закрывает эту лазейку, делая лицензию более строгой для облачных и веб-сервисов.

ХарактеристикаGPLv3AGPLv3
РаспространениеТребует исходный код при распространении бинарных копийТребует исходный код при распространении бинарных копий
Сетевое использованиеНе требует исходный код при удалённом доступеТребует исходный код при удалённом доступе к модифицированной версии
СовместимостьСовместима с AGPLv3Совместима с GPLv3
Основная цельЗащита прав пользователей при распространении ПОЗащита прав пользователей при распространении ПО и при сетевом использовании

Применение и распространение

AGPLv3 используется для проектов, которые часто развёртываются как веб-сервисы, чтобы гарантировать, что пользователи, взаимодействующие с ними, получат доступ к исходному коду. К известным проектам, распространяемым под AGPLv3, относятся:

  • MongoDB (до версии 4.0, после чего перешла на Server Side Public License)
  • Nextcloud — платформа для облачного хранения и совместной работы
  • GitLab Community Edition — система управления репозиториями кода
  • Rocket.Chat — платформа для обмена сообщениями
  • Grafana (до версии 8.0, после чего перешла на AGPLv3)
  • Matrix Synapseсервер децентрализованной сети обмена сообщениями

Критика и ограничения

AGPLv3 подвергается критике со стороны коммерческих организаций, особенно тех, кто строит бизнес на предоставлении облачных услуг (SaaS). Основные претензии:

  • Сложность для бизнеса: Требование раскрывать исходный код модификаций, используемых в облачных сервисах, может подорвать коммерческие модели, основанные на закрытых улучшениях.
  • Несовместимость с некоторыми лицензиями: AGPLv3 несовместима с лицензиями, которые не являются копилефт-лицензиями или имеют другие условия, например, с Apache License 2.0 (хотя некоторые проекты, как Elasticsearch, используют двойное лицензирование).
  • Юридическая неопределённость: Термин «взаимодействие» (interact) в Section 13 может трактоваться по-разному, что создаёт неопределённость для разработчиков, чьё ПО используется в сложных сетевых архитектурах.
  • Сравнение с GPLv3: Некоторые разработчики считают AGPLv3 слишком строгой для проектов, которые не являются веб-сервисами, и предпочитают использовать GPLv3 для настольных приложений.

Юридический статус в России

AGPLv3, как и другие свободные лицензии, не имеет специального регулирования в российском законодательстве. Она признаётся договором присоединения, условия которого принимаются пользователем при совершении конклюдентных действий (например, при скачивании или использовании программы). В соответствии с частью 4 Гражданского кодекса РФ, лицензионные договоры могут быть заключены в любой форме, если иное не установлено законом. AGPLv3, будучи документом на английском языке, может быть признана судом в РФ, если её условия не противоречат российскому законодательству. Однако, как и в случае с другими зарубежными лицензиями, существует риск неоднозначного толкования её условий российскими судами, особенно в части ответственности и порядка разрешения споров.

Источники

  1. GNU Affero General Public License version 3. Free Software Foundation.
  2. GNU General Public License version 3. Free Software Foundation.
  3. Stallman, R. (2007). Free Software, Free Society: Selected Essays of Richard M. Stallman. GNU Press.
  4. Rosen, L. (2004). Open Source Licensing: Software Freedom and Intellectual Property Law. Prentice Hall.
  5. Гражданский кодекс Российской Федерации. Часть четвертая.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →