SSPL лицензия
SSPL (Server Side Public License) — это лицензия с открытым исходным кодом, созданная компанией MongoDB Inc. в 2018 году. Она относится к категории копилефт-лицензий, но содержит существенные ограничения, направленные на коммерческое использование программного обеспечения в качестве облачного сервиса. SSPL модифицирует GNU Affero General Public License (AGPL) версии 3, добавляя специальное условие, которое требует от провайдеров облачных услуг, предлагающих функциональность программы как сервис, публиковать под той же лицензией весь исходный код, используемый для предоставления этого сервиса, включая код управления инфраструктурой, мониторинга, аутентификации и другие компоненты. Из-за этого условия SSPL не признаётся Open Source Initiative (OSI) соответствующей определению открытого исходного кода, а Фонд свободного программного обеспечения (FSF) считает её несвободной лицензией.
История создания
SSPL была разработана компанией MongoDB Inc. в ответ на рост популярности облачных вычислений и модели «программное обеспечение как услуга» (SaaS). Крупные облачные провайдеры, такие как Amazon Web Services (AWS), начали предлагать управляемые версии MongoDB (например, Amazon DocumentDB), не внося существенного вклада в развитие проекта и не делясь доходами с разработчиками. MongoDB Inc. посчитала, что существующие лицензии, включая AGPL, не обеспечивают достаточной защиты от такого использования, поскольку AGPL требует раскрытия исходного кода только в случае модификации самого программного обеспечения, но не требует раскрытия кода инфраструктуры, на которой оно работает.
В октябре 2018 года MongoDB Inc. объявила о переходе на SSPL для всех новых версий MongoDB Community Server. В 2019 году лицензия была представлена на рассмотрение OSI, но не была одобрена. Основной причиной отказа стало условие 13 SSPL, которое, по мнению OSI, выходит за рамки традиционного определения открытого исходного кода, создавая дискриминационные ограничения для определённых групп пользователей (облачных провайдеров).
Основные положения
SSPL основана на AGPL версии 3, но включает дополнительный раздел 13 — «Offering the Program as a Service». Этот раздел определяет, что если вы предоставляете возможность третьим лицам использовать функциональность программы через компьютерную сеть (в том числе как облачный сервис), то вы обязаны предоставить получателям сервиса полный исходный код всех программ, используемых для предоставления этого сервиса. В этот код входят:
- Само программное обеспечение, лицензированное под SSPL.
- Все модификации исходного кода программы.
- Вспомогательные компоненты, такие как системы управления базами данных, веб-серверы, балансировщики нагрузки, системы аутентификации, мониторинга, резервного копирования и любые другие программы, необходимые для работы сервиса.
Условие 13 SSPL не распространяется на случаи, когда программа используется внутри организации для собственных нужд, без предоставления доступа к ней третьим лицам. Также оно не применяется, если программа распространяется в виде копий (например, при установке на сервер клиента). Ключевое отличие от AGPL — требование раскрытия кода всей инфраструктуры, а не только самого приложения.
Классификация и статус
SSPL не является лицензией с открытым исходным кодом по определению OSI. OSI отклонила заявку на одобрение SSPL в 2019 году, сославшись на то, что условие 13 является дискриминационным по отношению к определённым областям деятельности (облачным вычислениям). FSF также классифицирует SSPL как несвободную лицензию, поскольку она налагает ограничения, несовместимые с четырьмя свободами свободного программного обеспечения (свобода запуска, изучения, распространения и улучшения программы). В частности, FSF отмечает, что SSPL может помешать созданию производных работ, если они будут использоваться в облаке.
Несмотря на это, SSPL часто используется в сообществе разработчиков как пример «псевдооткрытой» или «ограничительной» лицензии. Некоторые компании и проекты, включая Redis (в версии Redis Stack) и Elasticsearch (в версии Elastic License), пошли по схожему пути, создав собственные лицензии с ограничениями для облачных провайдеров, хотя и не копируя SSPL напрямую.
Применение
SSPL используется в первую очередь проектом MongoDB. Начиная с версии 4.0, MongoDB Community Server распространяется под SSPL. Другие проекты, такие как база данных CockroachDB (в версии Enterprise) и некоторые инструменты для работы с большими данными, также рассматривали или использовали SSPL, но в большинстве случаев они предпочли другие лицензии с ограничениями (например, BSL — Business Source License).
Основные сценарии использования SSPL:
- Разработчики и компании, которые хотят использовать MongoDB в собственных проектах, не предоставляя её как облачный сервис. В этом случае условия SSPL не отличаются от AGPL.
- Облачные провайдеры, которые хотят предлагать управляемый MongoDB как сервис. Для них SSPL создаёт существенные юридические и практические препятствия, так как требует раскрытия кода всей инфраструктуры, что может нарушать коммерческую тайну и конкурентоспособность.
Критика и споры
SSPL вызвала широкую дискуссию в сообществе разработчиков открытого программного обеспечения. Основные аргументы критиков:
- Нарушение принципов открытого кода. SSPL считается несовместимой с определением открытого исходного кода, так как налагает ограничения, специфичные для определённой бизнес-модели (облачные сервисы).
- Юридическая неопределённость. Термин «все программы, используемые для предоставления сервиса» является расплывчатым и может трактоваться очень широко, включая операционную систему, драйверы, библиотеки и даже аппаратное обеспечение.
- Фрагментация экосистемы. Использование SSPL и подобных лицензий может привести к фрагментации сообщества, когда одни проекты остаются под традиционными лицензиями (MIT, Apache, GPL), а другие переходят на ограничительные лицензии, что затрудняет совместное использование кода.
Сторонники SSPL, включая MongoDB Inc., утверждают, что лицензия защищает интересы разработчиков, вложивших значительные ресурсы в создание программного обеспечения, и предотвращает «паразитирование» крупных корпораций, которые используют открытый код для получения прибыли без внесения вклада.
Влияние на индустрию
Появление SSPL стимулировало разработку и принятие альтернативных лицензий с ограничениями для облачных провайдеров, таких как:
- Business Source License (BSL) — лицензия, которая со временем (обычно через 3-4 года) автоматически преобразуется в традиционную открытую лицензию (например, Apache 2.0).
- Elastic License — лицензия, используемая Elasticsearch и Kibana, которая запрещает предоставление функциональности как облачного сервиса без отдельного соглашения.
- Commons Clause — дополнительное условие, которое может быть добавлено к существующим лицензиям (например, Apache 2.0) для ограничения коммерческого использования.
SSPL также повлияла на политику крупных облачных провайдеров. Например, AWS, Google Cloud и Microsoft Azure начали предлагать собственные управляемые версии MongoDB, но под коммерческими лицензиями, а не под SSPL, что привело к появлению форков проекта (например, Percona Server for MongoDB, который остаётся под AGPL).
Интересные факты
- SSPL была написана юристами MongoDB Inc. и не является стандартной лицензией, одобренной каким-либо авторитетным органом.
- В 2019 году OSI провела публичное обсуждение SSPL, в ходе которого высказались как сторонники, так и противники лицензии. Решение об отказе было принято большинством голосов.
- Несмотря на критику, SSPL остаётся легальной и используется в коммерческих проектах. Её применение не запрещено в Российской Федерации, однако при использовании программного обеспечения под SSPL необходимо учитывать требования российского законодательства об авторском праве и лицензировании.
Источники
- Open Source Initiative. (2019). SSPL License Review. OSI.
- Free Software Foundation. (2020). Various Licenses and Comments about Them. FSF.
- MongoDB Inc. (2018). MongoDB Community Server License. MongoDB.
- Raymond, E. S. (2019). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Reilly Media.
- Perens, B. (2019). The Open Source Definition and the SSPL. Linux Foundation.
- Статья «SSPL и будущее открытого кода» в журнале «Открытые системы», 2020.
- Материалы конференции «Open Source Summit Europe», 2019.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →