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, напротив, закрывает эту лазейку, делая лицензию более строгой для облачных и веб-сервисов.
| Характеристика | GPLv3 | AGPLv3 |
|---|---|---|
| Распространение | Требует исходный код при распространении бинарных копий | Требует исходный код при распространении бинарных копий |
| Сетевое использование | Не требует исходный код при удалённом доступе | Требует исходный код при удалённом доступе к модифицированной версии |
| Совместимость | Совместима с 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, будучи документом на английском языке, может быть признана судом в РФ, если её условия не противоречат российскому законодательству. Однако, как и в случае с другими зарубежными лицензиями, существует риск неоднозначного толкования её условий российскими судами, особенно в части ответственности и порядка разрешения споров.
Источники
- GNU Affero General Public License version 3. Free Software Foundation.
- GNU General Public License version 3. Free Software Foundation.
- Stallman, R. (2007). Free Software, Free Society: Selected Essays of Richard M. Stallman. GNU Press.
- Rosen, L. (2004). Open Source Licensing: Software Freedom and Intellectual Property Law. Prentice Hall.
- Гражданский кодекс Российской Федерации. Часть четвертая.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →