[Перевод] AWS, MongoDB и экономические реалии open source
В 1999 году доходы музыкальной индустрии США достигли максимальной отметки $14,6 млрд (все цифры от RIAA). Но важно понимать, что именно продавалось:
- $12,8 млрд получено от продажи CD
- $1,1 млрд от продажи кассет
- $378 млн составили продажи музыкальных видео на физических носителях
- $222,4 млн — синглы на CD
В общем, музыкальная индустрия в основном продавала пластиковые диски в красивых коробках. Записанная музыка — просто способ отличить одни кусочки пластика от других. Сама музыка не продавалась.
Это может показаться глупым отличием, но так становится понятно, что произошло дальше:
Доходы музыкальной индустрии резко упали, хотя распространение и доступность музыки взлетели до небес. Люди больше не покупали пластиковые диски у музыкальной индустрии; они просто скачивали музыку напрямую.
Проблема в том, что записанная музыка с точки зрения бизнеса бесполезна: как только запись сделана, её можно копировать сколько угодно. Предложение фактически бесконечно. Из этого следует, что монетизация записи зависит от навязанного дефицита. Именно эту роль играли пластиковые диски: конечный запас физического товара, который являлся наиболее удобным способом получения музыки. Пиратские mp3-файлы с таких сайтов, как Napster и его последователи, оказался ещё удобнее — и дешевле.
Как видно на диаграмме, отрасль начала стабилизироваться в 2010 году, а в 2016 году вернулась к росту. Похоже, в 2018 году объём продаж увеличится примерно на 10% с $8,7 млрд в 2017 году и достигнет пика 1999 года в не слишком отдалённом будущем.
Что произошло? Музыкальная индустрия — в значительной степени усилиями Spotify, а затем Apple — нашла новый товар. Нет, они по-прежнему не продают музыку. На самом деле, они побеждают пиратство в своей собственной игре: музыкальная индустрия продаёт удобство. Вы можете получить почти любую существующую запись всего за $10 в месяц.
Из блога AWS от 9 января:
Сегодня мы запускаем Amazon DocumentDB (совместимую с MongoDB) — быструю, масштабируемую и высокодоступную БД документов, совместимую с существующими приложениями и инструментами MongoDB. Для хранения документов используются SSD с шестикратной репликацией в трёх зонах доступности. Это распределённое, отказоустойчивое и самовосстанавливающееся хранилище, которое обеспечивает производительность, масштабируемость и доступность для рабочих нагрузок MongoDB в производственном масштабе.
Для этой статьи не особенно важна специфика MongoDB и DocumentDB. Достаточно знать основное, что MongoDB разработала более гибкую СУБД, которая лучше подходит для больших объёмов как структурированных, так и неструктурированных данных. Это полезно в масштабных приложениях, на которые никогда не были рассчитаны обычные реляционные БД.
И теперь вы можете запустить её на AWS. Как бы.
MongoDB выпускается с открытым исходным кодом. Компания MongoDB Inc. получила венчурное финансирование, а в октябре 2017 года вышла на IPO. Она распространяет свой основной продукт — сервер баз данных — под лицензией GNU Affero General Public License (AGPL).
AGPL — близкий родственник GPL, лицензии типа копилефт от Ричарда Столлмана. Копилефт допускает свободное распространение, использование и модификацию материалов, защищённых авторским правом (в данном случае программного обеспечения), с условием, что те же самые права распространяются на все производные работы. То есть любой проект на коде GPL должен сам иметь лицензию GPL. Это отличие от «разрешительных» лицензий, которые позволяют использовать защищённый авторским правом материал без условия, что производные работы также будут с открытым исходным кодом. AGPL расширила GPL на интернет-системы. Поскольку здесь ПО только используется, а не копируется, то GPL не сработает, но конечный результат будет ещё более обременительным, чем GPL.
И GPL, и AGPL особенно проблематичны для коммерческих компаний: например, Apple запрещает ПО с лицензией GPL в App Store, потому что магазин приложений требует от приложений иметь лицензию для одного пользователя. Разрешительные лицензии можно заменить, но GPL нельзя обойти. AGPL ещё хуже, потому что её правила срабатывают просто по факту использования ПО; вот почему Google запрещает AGPL в компании. Из документации Google по open source:
Лицензия налагает ограничения на программное обеспечение, используемое по сети: Google чрезвычайно трудно это соблюдать. Использование программы под лицензией AGPL требует, чтобы она ссылалась только на софт под такой же лицензией. Даже если вы думаете, что ни на что не ссылаетесь, это всё равно представляет огромный риск для Google из-за того, насколько интегрирован наш код. Риски сильно перевешивают выгоды.
Существует одно дополнение:
В некоторых случаях у нас могут быть альтернативные лицензии для кода под AGPL.
Это и есть бизнес MongoDB: она как раз предлагает альтернативные лицензии.
MongoDB объясняет свою бизнес-модель в форме S-1:
Мы считаем, что наша высокодифференцированная бизнес-модель сочетает преимущества открытого исходного кода для разработчиков с экономическими преимуществами бизнеса на проприетарном ПО. Чтобы подтолкнуть разработчиков к изучению и использованию платформы, мы предлагаем Community Server с открытым исходным кодом. Community Server — это совершенно бесплатная версия СУБД, которая включает не все функции коммерческой платформы. Так разработчики могут свободно оценить продукт. На наш взгляд, это способствовало популярности платформы и стимулировало продажи корпоративной подписки…
В отличие от компаний, которые работают на сторонних проектах с открытым исходным кодом, мы владеем интеллектуальной собственностью, так как являемся создателями программного обеспечения, что позволяет внедрить бизнес-модель платной подписки… Основной пакет — комплексное предложение для корпоративных клиентов MongoDB Enterprise Advanced для работы в облаке, локально или в гибридной среде. MongoDB Enterprise Advanced включает наш собственный сервер БД, расширенные функции безопасности, возможности корпоративного управления, графический интерфейс, интеграцию аналитики, техническую поддержку и коммерческую лицензию на платформу. Мы также предлагаем MongoDB Atlas, облачную базу данных как услугу, или DBaaS, которая включает в себя комплексную инфраструктуру и управление Community Server.
По сути, кроме сервера БД с открытым исходным кодом MongoDB продаёт три вещи:
- Дополнительные инструменты для внедрения MongoDB в больших компаниях
- Hosted-сервис для использования MongoDB в маленьких компаниях
- Правовая определённость
Важность последнего нельзя переоценить: корпоративная версия MongoDB и hosted-сервис не попадают ни под AGPL, ни под новую лицензией Server Side Public License (SSPL), которую MongoDB представила в конце прошлого года. SSPL — это AGPL на стероидах: она принуждает компании, которые оказывают услуги на базе MongoDB открывать код не только внесённых изменений, но всего стека.
Amazon — крупнейшая компания, которая работает по модели SaaS. Однако это не означает, что Amazon продаёт «программное обеспечение». Реальность такова, что программное обеспечение ничем не отличается от музыки: оно бесконечно воспроизводимо, и поэтому само по себе ничего не стоит.
Вместо этого ценность ПО обычно реализуется тремя способами:
- Оборудование. Самый известный пример — iPhone, единственный способ получить iOS, но есть бесчисленное множество других примеров.
- Лицензии. На протяжении десятилетий это было основным бизнесом Microsoft: лицензии продавались OEM-производителям для потребительского рынка или компаниям напрямую. Действительно, есть некоторая ирония в том, что исторические враги — Microsoft и open source — одинаково зависели от авторского права, сильного правового режима и добросовестности компаний.
- Софт как сервис, SaaS (в том числе инфраструктура как сервис IaaS и платформа как сервис PaaS). Новая модель Microsoft, Amazon и почти всех софтверных стартапов. В этом случае продаётся не программа сама по себе, а её утилитарная польза: разработчик занимается всем остальным, в том числе обеспечивает надёжную доступность сервиса.
С учётом этим факта прочитаем ещё раз, что объявила AWS:
Это распределённое, отказоустойчивое и самовосстанавливающееся хранилище, которое обеспечивает производительность, масштабируемость и доступность для рабочих нагрузок MongoDB в производственном масштабе.
AWS не продаёт MongoDB: она продают «производительность, масштабируемость и доступность». DocumentDB — лишь одна из многих областей, где проявляются эти преимущества AWS.
Это действительно важные вещи. Корпоративные клиенты переходят в облако не потому, что это обязательно дешевле (хотя здесь затраты лучше коррелируют с использованием), а потому что производительность, масштабируемость и доступность — трудные проблемы, которые имеют мало общего с основной компетенцией и бизнесом большинства компаний.
Зато это основная компетенция AWS с внушительной инфраструктурой, на которую можно опереться для решения этих проблем. Эффективно работающие серверы для миллионов клиентов позволяют бросить на решение этих задач больше ресурсов, чем способна выделить любая другая компания, плюс собственные наработки: от программного обеспечения дата-центров до собственных микросхем (и больших оптовых скидок от поставщиков, таких как Intel).
В результате «производительность, масштабируемость и доступность» становятся чрезвычайно привлекательным бизнесом: чем больше клиентов получает AWS, тем выше маржа, а компания может использовать гораздо больше ресурсов для новых вариантов использования, что делает AWS ещё привлекательнее для новых клиентов. Microsoft конкурирует, но пока отстаёт, Google ещё дальше. На самом деле даже управляемая служба MongoDB работает в облаке: просто нет смысла поднимать свою инфраструктуру.
Таким образом, мы подошли к основной задачке для компаний open source:
- MongoDB использует open source, чтобы привлечь разработчиков.
- MongoDB Inc. построила успешную бизнес по продаже дополнительных инструментов по управлению MongoDB для компаний.
- Всё больше компаний хотят перейти в облако AWS (или Google, или Microsoft с похожим предложением MongoDB), потому что ценят производительность, масштабируемость и доступность.
Тут положение MongoDB Inc. не слишком отличается от положения звукозаписывающих компаний после появления mp3 в интернете: они продают не программное обеспечение, а скорее инструменты, которые делают это программное обеспечение пригодным для использования. Но эти инструменты всё больше устаревают по мере того, как вычисления перемещаются в облако. И теперь уже AWS продаёт то, что действительно хотят покупатели.
Хуже того, поскольку AWS не имеет доступа к MongoDB (лишь совместимые API), она поддерживает только MongoDB 3.6, а текущая версия — 4.0.5. Вполне возможно, что если сервис AWS станет популярным, MongoDB начнёт фактически стагнировать: конечно, вы можете получить лучшую версию от MongoDB Inc., но тогда вам придётся управлять ею самостоятельно или приложить усилия, чтобы связать все ваши сервисы AWS с предложением MongoDB (опять же, в потенциале дифференциации этого предложения может быть спасение MongoDB и важный урок для других компаний).
Разрешительная лицензия не обязательно станет спасением. Например, Redis Labs предлагает свою базу Redis под разрешительной лицензией: это означает, что у AWS обычно последняя версия, что хорошо для развития Redis, но не приносит ей никаких денег. Это вынудило Redis Labs изменить лицензию на дополнительные модули, добавив оговорку Commons Clause, которая заставляет поставщиков услуг платить за использование модулей, эффективно превращая их в несвободные программы.
Трудно не сочувствовать MongoDB Inc. и Redis Labs: обе компании потратили массу денег и усилий на создание своих продуктов, а теперь Amazon зарабатывает на них деньги. Но вот в чём дело: Amazon зарабатывает не на продаже программного обеспечения, а на услуге, которую ценят предприятия, а MongoDB и Redis популярны в значительной степени потому, что начинали с открытых исходников.
Основная часть написанного хорошо известна людям из сообщества open source: какое-то время шли бурные споры о влиянии облачных сервисов на open source. Но я думаю, что эти споры слишком отвлекаются на тему «справедливости» и на то, чем AWS якобы «обязана» open source. Это вполне можно понять, Да, такие компании, как MongoDB Inc. и Redis Labs упорно трудились, и да, AWS в значительной степени построена на открытом исходном коде, но мир управляется экономическими реалиями, а не субъективными суждениями о справедливости.
Именно поэтому я начал с музыки: резкое падение продаж звукозаписывающих компаний не обязательно было «справедливым», и да, компании вроде Apple с плеером iPod заработали миллиарды на пиратстве. Но имеет значение только тот факт, что сама музыка стала бесконечно воспроизводимой.
То же самое и с программным обеспечением: биты на диске фундаментально свободны — спросите Ричарда Столлмана. В своем эссе «Почему программы должны быть свободными» он написал:
Предельная стоимость копии программы близка к нулю (и вы можете оплатить эту стоимость, проделав работу самостоятельно), так что в условиях свободного рынка её цена была бы почти нулевой. Лицензионная плата значительно сдерживает применение программы. Если полезная многим программа несвободна, гораздо меньшее число людей воспользуется ею.
Легко показать, что общая польза от программы для общества снижается, если ей назначить владельца. Каждый потенциальный пользователь программы, встав перед необходимостью платить, чтобы воспользоваться ею, может принять решение заплатить, но может и отказаться от пользования программой. Когда пользователь решает заплатить, происходит перенос ценностей от одной стороны к другой, суммарное достояние не меняется. Но каждый раз, когда кто-то отказывается от пользования программой, это наносит ему вред, не принося никому выгоды. Сумма отрицательных чисел и нулей всегда отрицательна.
Но это не сокращает затраты труда на разработку программы. В результате производительность процесса в целом, измеренная как удовлетворение нужд пользователей, доставленное часом работы, снижается.
Это неизбежный компромисс, и справедливо задать вопрос: закончится ли золотой век для компаний, которые строят бизнес на открытом софте (хотя и не для самого open source в целом). Модель монетизации зависит от локального использования ПО; как только начинают доминировать облачные вычисления, экономическая модель становится гораздо более сложной.
Однако AWS, Microsoft и Google тоже лучше взять паузу. Трудно представить, что они когда-нибудь заплатят за программное обеспечение с открытым исходным кодом, но в то же время написание (общедоступного) программного обеспечения не обязательно является основной компетенцией их облачного бизнеса. Они также получили выгоду от деятельности компаний open source: те предоставили средства, с помощью которых они продают свой товар — производительность, масштабируемость и доступность. Прямо сейчас все в выигрыше, но если просто следовать экономическим реалиям, то в долгосрочной перспективе всем станет хуже.