Как компании зарабатывают на опенсорсе, а потом выкидывают его
Эти компании сначала при помощи сообщества разрабатывают опенсорсный софт или берут готовый, строят на нём прибыльный бизнес, зарабатывают миллионы. А потом меняют лицензию, оставляя контрибуторов, пользователей и партнёров в недоумении, что им делать. Такова бизнес-модель некоторых современных компаний вроде Redis Labs.
Но ещё хуже поступают крупные облачные провайдеры. Они просто используют готовые решения, вообще не занимаясь разработкой и убивая бизнес «паразитов», описанных выше. Здесь вообще паразиты в квадрате.
И весь этот террариум кормится опенсорсом.
По статистике Synopsys, 96% всех кодовых баз в настоящее время используют опенсорсный код. Можно предположить, что примерно такая же доля компаний-разработчиков получает от него выгоду. Из того же отчёта следует, что 77% всего нового кода в мире является производным от опенсорса. Это подавляющее большинство.
К сожалению, 53% кодовых баз содержит конфликты лицензии, то есть противоречия условиям, а 31% вообще поставляется без лицензии или с нестандартной лицензией.
Правда, статистика Synopsys включает всего 1067 кодовых баз её клиентов, что не так уж и много для всестороннего исследования.
▍ Пример Amazon
Компания Amazon хорошо известна жёсткими бизнес-практиками. Она использует различный опенсорсный софт, а иногда делает форки популярного ПО, чтобы ничего не платить компаниям, которые его разработали.
Например, несколько лет назад Amazon поступила так с опенсорсными продуктами ElasticSearch и Kibana, просто чтобы не платить разработчикам из компании Elastic. Дело в том, что Amazon с 2015 года предоставляла платный конкурентный сервис Amazon ElasticSearch Service, используя опенсорсный софт «на халяву» и забирая у Elastic клиентов, примерно как на иллюстрации:
Поэтому разработчики из Elastic сменили лицензию с Apache 2.0 на Server Side Public License (SSPL) в 2020 году, чтобы заставить Amazon заплатить за поисковый движок. Elastic пыталась заключить с Amazon такую же сделку, как с GCP, но не вышло.
В ответ на смену лицензии на ElasticSearch корпорация Amazon не пошла на переговоры, как того ожидали разработчики Elastic, а просто форкнула ElasticSearch, выпустив аналогичную систему OpenSearch под оригинальной лицензией Apache 2.0.
Сложно сказать, чьей вины больше в этой истории, хотя юридически все чисты перед законом, то есть все в своём праве. Amazon всё делала в интересах пользователей, но по сути разработчики опенсорсного продукта ElasticSearch остались ни с чем. Amazon увела их пользователей, скопировала разработанный ими продукт и ничего не заплатила.
Мегакорпорации вообще любят использовать бесплатно чужой труд, ведь в свободное ПО вложены миллионы человеко-часов.
В качестве офтопика. Даже за пределами облачного бизнеса корпорация Amazon тоже ведёт себя не совсем корректно. На складах она платит сотрудникам минимальные зарплаты, нанимает преимущественно временных работников, которых можно быстро уволить без выходного пособия, а в последнее время массово заменяет их роботами, которым зарплату платить вообще не надо. За несколько лет Amazon заменила 100 000 живых сотрудников на 750 000 роботов.
▍ Смена лицензии Redis
Наверняка многие слышали про недавнюю смену лицензии Redis. Это история из той же оперы, хотя со своими особенностями.
Опенсорсная система Redis, написанная известным итальянским программистом и писателем-фантастом antirez'ом — популярная резидентная БД, которая все данные хранит в оперативной памяти для минимальной задержки и максимальной производительности.
СУБД настолько популярная, что частную фирму Redis Labs (платформа на базе Redis и облачного сервиса Redis Enterprise Cloud) пару лет назад оценили в $2 млрд. Сама фирма основана в 2011 году израильскими предпринимателями Офером Бенгалем (Ofer Bengal) и Ифтахом Шульманом (Yiftach Shoolman), и она построила свой бизнес чисто на опенсорсе. Естественно, antirez не получил ничего от заработанных ими миллионов, он сейчас скромно пишет свои фантастические романы в тихом уголке Италии.
Redis Labs преимущественно взяла на себя дальнейшее развитие и разработку СУБД.
Так вот, в марте 2024 года компания Redis Labs объявила, что с этого дня все последующие версии Redis будут выпускаться с «лицензиями на доступность исходного кода». Начиная с Redis 7.4 программа будет распространяться по двойной лицензии: Redis Source Available License (RSALv2) и Server Side Public License (SSPLv1). Следовательно, Redis больше не будет распространяться по свободной лицензии Berkeley Software Distribution (BSD), как раньше.
Конечно, новая лицензия не означает, что исходный код закрывается. Он по-прежнему будет открыт. По условиям RSALv2 облачные провайдеры (и только они) должны будут платить за использование Redis. Это в каком-то смысле оправданно, потому что большую часть финансирования на разработку Redis компания получала от продажи облачных сервисов. В то же время облачные провайдеры типа AWS берут софт бесплатно и перепродают его на своих облачных сервисах по сути тем же клиентам. Такая же ситуация, как с Elastic. Поэтому Redis Labs и сменила лицензию, чтобы остановить паразитирование со стороны облачных провайдеров.
Но сама тенденция со сменами лицензий настораживает. Получается, формально Redis уже нельзя назвать полностью свободным ПО. И пусть пока ограничения только для облачных провайдеров, и они не затрагивают 99,9% разработчиков, но это движение в сторону от опенсорса. И некоторые дистрибутивы Linux вынуждены отказаться от использования Redis.
В принципе, сообщество Open Source довольно быстро нашло решение этой проблемы: вскоре появились свободные форки Redis, такие как Redict (под LGPL), KeyDB и Valkey. AWS, Google Cloud и другие заинтересованные бизнесы финансируют разработку Valkey. Все эти форки основаны на предыдущих версиях Redis, которые выпускались под свободной лицензией. В интересах облачных провайдеров создать аналогичную СУБД, которую они будут по-прежнему использовать бесплатно, и чтобы она разрабатывалась и нормально поддерживалась сообществом. Ради этого провайдеры даже готовы спонсировать разработку, это всё равно обойдётся на порядок дешевле, чем лицензия Redis.
Вся эта история показательна. Компания Redis Labs взяла опенсорсный продукт, хорошо поработала над ним, много заработала, а потом сменила лицензию, чтобы больше никто не мог им пользоваться бесплатно. Чтобы заработать ещё больше.
А облачные провайдеры хотят иметь свободное ПО и никому ничего не платить.
Конечно, новая лицензия позволит Redis защититься от сценария с Elastic, описанного выше. Может быть, всем разработчикам стоит изначально выпускать софт под такими «анти-амазоновскими» лицензиями… Но тогда это будет уже не СПО.
▍ Другие примеры
Redis Labs далеко не первая компания, которая провернула такой трюк. В прошлом году HashiCorp сменила лицензию своего основного продукта Terraform со свободной Mozilla Public License (MPL) на коммерческую Business Source License (BSL) 1.1.
После этого события появился свободный форк Terraform под названием OpenTofu (OpenTF).
UPD. Пару дней назад стало известно о том, что IBM покупает HashiCorp за $6,4 млрд. Вероятно, предварительная смена лицензии на Terraform (а это именно тот продукт, который нужен IBM) была одним из условий будущей сделки.
▍ Схема
- Взять опенсорсный продукт.
- Доработать продукт и построить бизнес на нём (например, выпустить облачное решение или организовать внедрение и поддержку для корпораций).
- Сделать форк опенсорсного продукта уже под новой, коммерческой лицензией, чтобы никто не мог с ними конкурировать.
Со стороны облачных провайдеров бизнес ещё проще: они просто берут бесплатный опенсорсный продукт и продают своим клиентам облачный сервис на этом продукте. Так делают и AWS, и Google Cloud, и все остальные. По сути, это разновидность вышеописанной схемы, только без отдельного юрлица для каждой опенсорсной программы.
На сайте Cloud Native Devstats можно посмотреть подробную статистику, сколько денег каждая компания жертвует на опенсорсные проекты.
Так вот, Amazon выделяет мизерное количество средств на финансирование проектов, от которых получает миллиарды прибыли. Например, на Kubernetes за последние десять лет она выделила лилипутский бюджет $51 014, хотя прибыль от его использования на AWS огромная:
Примерно такая же картина с Prometheus, OpenTelemetry и другим свободным софтом, который используется на AWS.
Облачные компании много зарабатывают на опенсорсе, но практически не финансируют его разработку.
Примерно так же зарабатывают и «отдельные юрлица», о которых мы упоминали выше, хотя они что-то вкладывают в разработку, которая ведётся сообществом. Всё вполне легально и даже в каком-то смысле оправдано. Компания имеет моральное право выпустить версию под коммерческой лицензией, ведь она считает продукт своим. Но со стороны выглядит так, словно компания берёт свободный софт, пользуется помощью сообщества, зарабатывает деньги, а потом выкидывает опенсорс на обочину. Дальше она может вложиться в развитие своей отдельной версии или другого продукта. Рабочая, опробованная схема бизнеса.
Может, для опенсорса даже полезно, что на нём можно строить успешный бизнес. Это привлекает предпринимателей и венчурных инвесторов, которые вкладывают деньги в развитие. Если на программе нельзя заработать, то останутся одни энтузиасты.
Обидно только то, что другим разработчикам опенсорсного софта не достаётся практически ничего от этих миллионов, которые зарабатывают на нём предприниматели. И ещё неправильно, когда бизнес строится на ограничении доступа к программному обеспечению (за счёт смены лицензии на коммерческую), это противоречит принципам опенсорса.