Redis вновь меняет лицензию
В Redis Labs уже второй раз за последние полгода меняют модель лицензирования для ряда своих продуктов. Сейчас компания переходит с Apache 2.0 Commons Clause на Redis Source Available License (RSAL). Поговорим о причинах этого решения и особенностях RSAL.
/ Pixino / congerdesign / PD
Немного истории
Redis Labs уже не первый раз меняет лицензию на свои продукты. В августе прошлого года компания перевела несколько модулей — Redis Graph, ReJSON и др. — с лицензии GNU AGPL на Apache 2.0 Commons Clause. Тем самым компания запретила продажу оригинальных модулей сторонними организациями. Однако это привело к неприятным последствиям.
Во-первых, новая лицензия стала причиной путаницы и непонимания. Некоторые пользователи ошибочно решили, что работа с модулями теперь регулируется только Apache 2.0 (без Commons Clause). Во-вторых, запрет на продажу решений Redis «нанес удар» по открытому ПО. К примеру, часть сервисов были вынуждены удалить разработчики Debian и Fedora. Им пришлось создавать форки репозиториев модулей Redis и объединять их в проект GoodFORM.
Команда Redis Labs также столкнулась с непредвиденными трудностями. Ограничения лицензии замедлили рост сообщества вокруг продуктов, хотя ожидалось, что эффект будет прямо противоположным. Всё это привело к тому, что в Redis Labs создали свою лицензию, заточенную под нужды и особенности компании — RSAL.
Что собой представляет новая лицензия
Согласно условиям RSAL, разработчики могут использовать модули RediSearch, RedisGraph, RedisJSON, RedisBloom, RedisML и несколько других в своих сервисах, менять исходный код и внедрять его в приложения. Итоговые решения можно распространять и продавать.
RSAL ограничивает только тип конечных продуктов. Приложение на основе обозначенных модулей не может быть базой данных, инструментом для кэширования и индексирования, поисковым движком или софтом для работы с машинным обучением.
Во всех остальных случаях разработанное ПО можно использовать и распространять с пометкой: This software is subject to the terms of the Redis Source Available License Agreement.
Цель этих ограничений — исключить коммерческую реализацию модулей конкурирующими компаниями без ущерба для сообщества Redis. Что касается самого ядра Redis, то как и в прошлый раз, оно остается открытым и распространяется под лицензией BSD. Для его поддержки в компании создали отдельную команду, которая будет управлять разработкой ядра независимо от того, что происходит с остальными компонентами.
/ Flickr / Mark Hougaard Jensen / CC BY-SA
Что думает сообщество
Некоторые представители комьюнити полагают, что повторная смена лицензии может стать очередной ошибкой. Мэтт Эсей (Matt Asay) из Adobe не согласен с утверждением, что крупные корпорации, которые продают ПО на базе открытых продуктов, негативно влияют на развитие open source экосистемы. Он говорит, что такие организации, наоборот, помогают распространять открытые продукты на глобальном рынке.
Видение Redis также не разделяет Гордон Хафф (Gordon Haff), глава подразделения облачных технологий в Red Hat. Он считает, что за счет лицензирования в Redis пытаются «усидеть на двух стульях» — получать прибыль от продажи модулей и быть open source компанией.
Apache-гуру из Red Hat Рич Боуэн (Rich Bowen) назвал решение компании «бессмысленным». По его мнению, люди, которые приходят в open source, ожидают увидеть бесплатные решения и им едва ли захочется разбираться в каких-то ограничениях и условиях. С ним согласны члены организации Open Source Initiative (OSI). Они заявляют, что действия Redis противоречат определению и принципам открытого ПО.
Есть и те, кто видит смысл в переходе на новую лицензию. Например, руководитель BaenCapital отмечает, что корпорации, которые выстраивают свои продукты на основе открытого ПО, поступают неэтично. Поэтому действия Redis вполне понятны — с помощью новых лицензий компания защищает свои интересы и права разработчиков.
Один из создателей Ansible Майкл Дехаан (Michael DeHaan) тоже считает, что если весь софт распространять бесплатно, большинство проектов просто не выживет. Не всем компаниям удается привлечь инвесторов, поэтому продажа отдельных компонентов крупным организациям — один из способов удержаться на рынке.
Кто еще недавно менял лицензию
Redis Labs — не единственные, кто пробует разные подходы к лицензированию. Так, в октябре 2018 MongoDB перешли с GNU AGPL на собственную версию GNU 3 — Server-Side Public License (SSPL). Цель смены лицензии та же, что и у Redis — не дать сторонним компаниям «упаковывать» и перепродавать открытую СУБД.
Авторы проекта Confluent тоже отказались от Apache 2.0 в пользу своего варианта — Confluent Community License. Условия новой лицензии запрещают продавать KSQL как проприетарное решение. Хотя реализовывать SaaS-сервисы на этом SQL-движке, все так же разрешено.
Есть и другие примеры компаний, где часть решений реализуют за деньги. Среди них — Elasticsearch, Hadoop, Berkeley DB и десятки других.
«Бесплатных проектов вроде Linux-ядра, WordPress или GIMP становится все меньше. Разработчики открытого ПО выстраивают бизнес-модели в попытке найти баланс между доходом и свободным распространением продуктов без ущерба для компании, — комментирует Сергей Белкин, начальник отдела развития провайдера виртуальной инфраструктура 1cloud.ru. — Но в ИТ-сообществе еще достаточно тех, кто выступает против изменений концепции open source. Поэтому в ближайшее время полностью свободное ПО не исчезнет с рынка, как бы ни менялись лицензии на отдельные продукты и их компоненты».