SSPL
SSPL (Server Side Public License) — это лицензия с открытым исходным кодом, разработанная компанией MongoDB Inc. в 2018 году. Является модификацией GNU Affero General Public License версии 3 (AGPLv3) и направлена на регулирование использования программного обеспечения в качестве облачного сервиса. SSPL относится к категории лицензий с ограничениями, которые некоторыми организациями и сообществами не признаются в качестве «свободных» в соответствии с определением Open Source Initiative (OSI) и Free Software Foundation (FSF).
История возникновения
Предпосылки создания
К середине 2010-х годов модель распространения программного обеспечения с открытым исходным кодом столкнулась с новым вызовом — облачными вычислениями. Крупные облачные провайдеры, такие как Amazon Web Services (AWS), Google Cloud Platform и Microsoft Azure, начали предлагать управляемые сервисы на основе популярных проектов с открытым исходным кодом (например, MongoDB, Elasticsearch, Redis), не внося существенного вклада в их разработку. Это явление получило название «паразитирование на открытом коде» (open source free-riding).
Для MongoDB Inc., коммерческой компании, стоящей за разработкой одноимённой базы данных, ситуация стала критической. AWS запустила сервис Amazon DocumentDB, совместимый с MongoDB, что привело к снижению доходов компании от продажи подписок на собственную облачную платформу MongoDB Atlas. Лицензия AGPLv3, под которой ранее распространялась MongoDB, требовала раскрытия исходного кода только при распространении модифицированной версии, но не при предоставлении доступа к программе через сеть (как в случае с облачным сервисом). Это оставляло лазейку для провайдеров.
Разработка и выпуск
В октябре 2018 года MongoDB Inc. объявила о переходе на новую лицензию — SSPL. Основным автором выступил генеральный директор компании Девитт Иттнер (Dev Ittycheria) и юридический отдел. Текст лицензии был основан на AGPLv3, но с добавлением раздела 13, который существенно расширял условия предоставления программы в качестве сетевого сервиса.
Первоначально SSPL была представлена как «лицензия с открытым исходным кодом», однако реакция сообщества была неоднозначной. В декабре 2018 года Open Source Initiative (OSI) отказалась одобрить SSPL в качестве лицензии с открытым исходным кодом, сославшись на то, что её условия являются дискриминационными по отношению к определённым видам бизнеса (облачным провайдерам). Free Software Foundation (FSF) также не признала SSPL свободной лицензией, отметив, что она не соответствует критериям свободы программного обеспечения.
Основные положения лицензии
Структура и наследование от AGPLv3
SSPL полностью включает в себя текст AGPLv3, за исключением замены раздела 13. Это означает, что все базовые права и обязанности, предусмотренные AGPLv3, сохраняются:
- Право на использование, копирование, модификацию и распространение программы.
- Обязанность распространять исходный код при распространении исполняемой версии (как в бинарном, так и в сетевом виде).
- Требование предоставлять исходный код пользователям, взаимодействующим с программой по сети (сетевое взаимодействие — ключевое отличие AGPL от обычной GPL).
Ключевое нововведение: раздел 13
Раздел 13 SSPL (дополнение к AGPLv3) гласит: «Независимо от любых других положений настоящей Лицензии, если вы предоставляете программу в качестве сервиса (service), вы обязаны предоставить получателям этого сервиса исходный код всего программного обеспечения, которое вы используете для предоставления этого сервиса, включая все компоненты, необходимые для его работы».
Это означает, что облачный провайдер, предлагающий управляемый сервис на основе программы под SSPL, обязан раскрыть исходный код не только самой программы, но и всего стека технологий, используемого для её предоставления: операционной системы, библиотек, инструментов мониторинга, балансировщиков нагрузки, баз данных, систем управления конфигурацией и т.д. На практике это требование практически невыполнимо, так как включает в себя проприетарные компоненты, которые провайдер не имеет права раскрывать.
Определение «сервиса»
SSPL определяет «сервис» как «предоставление функциональности программы третьим лицам через компьютерную сеть, при котором пользователи взаимодействуют с программой удалённо». Это охватывает как публичные облачные сервисы (SaaS, PaaS), так и частные облачные развёртывания, если они доступны за пределами организации.
Критика и споры
Несоответствие определению «открытого исходного кода»
Основная критика SSPL связана с её дискриминационным характером. Критерии OSI требуют, чтобы лицензия не налагала ограничений на конкретные области применения или бизнес-модели. SSPL, напротив, целенаправленно ограничивает возможность предоставления программы в качестве облачного сервиса без раскрытия всего сопутствующего кода. Это делает её, по мнению OSI, «лицензией с ограниченным открытым кодом» (source-available license), а не полноценной открытой лицензией.
Реакция сообщества и компаний
- Free Software Foundation (FSF): Признала SSPL несвободной лицензией, рекомендовала не использовать её для проектов, стремящихся к полной свободе программного обеспечения.
- Open Source Initiative (OSI): Отказала в одобрении, что привело к тому, что проекты под SSPL не могут называться «открытыми» в официальном понимании OSI.
- Крупные облачные провайдеры: AWS, Google и Microsoft в целом негативно восприняли SSPL, но не стали бойкотировать проекты под ней. AWS продолжает предлагать управляемые сервисы на основе MongoDB (через DocumentDB), но не использует официальный код MongoDB под SSPL, а разрабатывает собственные совместимые реализации.
- Сообщество разработчиков: Многие разработчики, особенно в сфере баз данных, раскритиковали SSPL за «закрытие» экосистемы. Некоторые проекты, такие как Elasticsearch, позже приняли аналогичную лицензию (Elastic License), что усилило тенденцию к отходу от традиционных открытых лицензий.
Юридические риски
Неопределённость статуса SSPL создаёт юридические риски для компаний, использующих программы под этой лицензией. В частности, неясно, как трактовать требование раскрытия «всего программного обеспечения, используемого для предоставления сервиса». Это может включать проприетарное ПО, которое организация не имеет права распространять, что делает SSPL практически неприменимой для коммерческого использования в облаке без нарушения лицензии.
Проекты, использующие SSPL
MongoDB
MongoDB — самый известный проект, перешедший на SSPL. Начиная с версии 4.0 (выпущенной в 2018 году), все новые версии MongoDB Community Edition распространяются под SSPL. Предыдущие версии остались под AGPLv3. Компания MongoDB Inc. продолжает развивать MongoDB под SSPL, а также предлагает коммерческую лицензию для тех, кто не может выполнить условия SSPL (например, для облачных провайдеров).
Другие проекты
- Percona Server for MongoDB: Ответвление (форк) MongoDB, созданное компанией Percona, распространяется под AGPLv3, чтобы избежать ограничений SSPL.
- Ferozo: База данных, основанная на MongoDB, также использует SSPL.
- Grafana: В 2021 году компания Grafana Labs перевела свои основные продукты (Grafana, Loki, Tempo) на AGPLv3, но не на SSPL, хотя рассматривала её как один из вариантов.
- Elasticsearch: В 2021 году Elastic N.V. перевела Elasticsearch и Kibana на Elastic License (ELv2) и SSPL, но позже, в 2024 году, после приобретения компании, проект вернулся к AGPLv3.
Альтернативы SSPL
AGPLv3
AGPLv3 остаётся основной альтернативой для проектов, желающих защитить себя от облачного «паразитирования», но при этом сохранить статус открытой лицензии. Она требует раскрытия исходного кода только при сетевом взаимодействии, но не требует раскрытия всего стека.
Elastic License (ELv2)
Elastic License — это проприетарная лицензия, созданная Elastic N.V. Она запрещает предоставление программы в качестве управляемого сервиса без отдельного соглашения, но не требует раскрытия исходного кода. ELv2 не признаётся OSI.
Business Source License (BSL)
BSL — это лицензия, разработанная MariaDB Corporation. Она позволяет использовать программу бесплатно в течение определённого периода (обычно 3-4 года), после чего она автоматически переходит под GPLv2 или другую открытую лицензию. BSL также не является открытой в полном смысле.
Common Clause
Common Clause — это дополнение к лицензиям (например, MIT), которое запрещает продажу программного обеспечения, включая его предоставление в качестве сервиса. Широко критикуется за неопределённость и несовместимость с открытыми стандартами.
Значение и влияние
Влияние на индустрию
SSPL стала катализатором дискуссии о монетизации открытого исходного кода в эпоху облачных вычислений. Она показала, что традиционные лицензии (GPL, AGPL) не всегда адекватно защищают интересы разработчиков, когда их код используется в качестве инфраструктуры для коммерческих сервисов. Вслед за MongoDB многие компании (Elastic, Redis Labs, Confluent) пересмотрели свои лицензионные политики, перейдя на более ограничительные варианты.
Статус в России
В Российской Федерации SSPL не имеет специального правового статуса. Она рассматривается как обычная лицензия на программное обеспечение, не требующая государственной регистрации. Российские компании, использующие программы под SSPL, обязаны соблюдать её условия, включая требование о раскрытии исходного кода при предоставлении сервиса. Однако из-за неопределённости требований SSPL на практике многие российские разработчики предпочитают использовать форки под AGPLv3 (например, Percona Server for MongoDB) или коммерческие версии.
Будущее SSPL
SSPL остаётся спорной лицензией. Она не получила широкого распространения за пределами MongoDB и нескольких небольших проектов. Попытки MongoDB Inc. добиться признания SSPL со стороны OSI не увенчались успехом. В 2024 году MongoDB продолжает использовать SSPL для Community Edition, но также предлагает коммерческие лицензии для облачных провайдеров. Существует мнение, что SSPL, как и другие «псевдооткрытые» лицензии, может привести к фрагментации экосистемы открытого кода, когда каждый проект использует свою уникальную лицензию, что усложняет их совместимость и повторное использование.
Источники
- Текст лицензии SSPL (Server Side Public License), версия 1, MongoDB Inc., 2018.
- Официальное заявление Open Source Initiative (OSI) об отказе в одобрении SSPL, декабрь 2018.
- Анализ SSPL Free Software Foundation (FSF), 2019.
- Статья «MongoDB switches to SSPL license» на портале ZDNet, октябрь 2018.
- Публикация «The SSPL Controversy: A Deep Dive» на сайте The New Stack, 2019.
- Материалы конференции Open Source Summit North America 2019, доклад «The SSPL and the Future of Open Source Licensing».
- Юридический анализ SSPL, проведённый компанией Software Freedom Law Center (SFLC), 2020.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →