Open-Source почти везде. Почти в каждом проекте и информационной системе встречается какая-то часть кода, распространяемая под open-source лицензией. И это не просто небольшие фрагменты кода, а полноценные, зрелые, высококачественные продукты, которые развиваются и поддерживаются большими (и дорогими) командами. В данной статье я постараюсь разобраться в бизнес-моделях “бесплатного” софта.

Open-Source - это именно модель распространения софта под либеральной лицензией, а ни в коем случае не бизнес-модель. Для понимания приведу несколько примеров моделей распространения. Вы можете записать ваш софт/фильм на диски/флешки и продавать их. И на диске вы пишете, что его нельзя копировать и перепродавать, только проигрывать в вашем плеере/компьютере. Либо вы можете продать кому-то право копировать и продавать. А можете брать деньги за просмотр в условном кинотеатре. В случае с Open-Source вы можете залить все на торрент/GitHub и указать лицензию MIT/Apache 2.0. Но это именно модель дистрибуции - то, как и с какой лицензией вы доносите свой продукт до пользователя.

На мой взгляд, модель распространения под Open-Source лицензией - это гениальное изобретение. Ведь она снимает порог входа для клиентов (можно бесплатно загрузить и протестировать), маркетинговые затраты (вас и так все рекламируют), да еще вам сообщество поможет выловить баги в продукте. Часто, это единственный способ “подвинуть” коммерческого лидера рынка. Есть правда один нюанс - как на этом заработать?

Поэтому бизнес-модели Open-Source продуктов заслуживают отдельного внимания. Ведь любой может взять дистрибутив и его бесплатно использовать, что нельзя делать при коммерческих проприетарных лицензиях. Давайте разберемся, какие есть доступные бизнес-модели.

1. Отдельные версии для сообщества и корпоративных клиентов

Частой историей является создание двух версий - базовой, распространяемой бесплатно, и коммерческой, включающий дополнительный функционал. 

Тут самое главное - баланс функционала. В “бесплатной” версии его должно хватить для начала использования, но не хватать для промышленного использования в крупных компаниях. 

По этой причине, как правило, версия для сообщества содержит почти весь функционал, дающий продуктовую ценность, а корпоративная версия дополнительно содержит функционал по безопасности, разграничению доступа и мониторингу. 

Ведь любая крупная компания будет внедрять только решение с гарантиями по стабильной работе и безопасности. Причем переплатит много денег за почти то же самое, но постарается снизить уровень ответственности конкретных лиц, принимающих решения. 

2. Облачная версия

Если вы не хотите тратить ресурс на администрирование инфраструктуры, вы покупаете подписку на уже работающий сервис в облаке. Почти все компании, развивающие open-source, стараются развивать свои облачные продукты.

Но тут для компаний-вендоров есть большая опасность - публичные облака по типу AWS. В классических публичных облаках уже решены многие проблемы с безопасностью, масштабируемостью и т.д. Помимо этого есть и другие полезные продукты. И если проект имеет либеральную лицензию MIT или Apache 2.0, никто не мешает Амазону, Гуглу или Майкрософт взять ваш открытый продукт и беззастенчиво его продавать.

Именно по этой причине такие компании, как MongoDB, Elastic, Grafana и другие, сейчас активно переходят с либеральных лицензий на открытые проприетарные лицензии типа AGPL 3.0, которые запрещают бесплатно продавать их продукты в составе других продуктов, включая облака.

Публичные облака отвечают взаимностью, создавая форки, такие как OpenSearch для ELK стека.

3. Консалтинг и интеграция

Часто, для покрытия функциональных задач хватает и ванильной версии, но для обеспечении стабильности и просто минимизации трудозатрат основной команды выгоднее нанять внешних специалистов, которые хорошо разбираются в технологии и могут предоставить гарантии правильной настройки и внедрения решения..

4. Инструмент конкурентной борьбы коммерческих (и не только) версий

Контроль над развитием Open-Source проекта может помогать в конкурентной борьбе комплиментарных коммерческих продуктов.

Так, компания Oracle контролирует MySQL. Это и дает некоторую защиту, что MySQL не будет конкурировать с их основными продуктами, так и создает дополнительный барьер для появления других коммерческих решений. Ведь ниша “кровавого энтерпрайза” занята Oracle, а для остальных есть несколько качественных Open-Source решений, таких как MySQL и PostgreSQL.

Причем влиять на парадигму развития продукта крайне важно. Почти каждая уважающая себя компания, зарабатывающая на open-source, если не расскажет, что они создатели технологии, то точно похвалится тем, как активно она коммитит и участвует в сообществе. Это нужно во многом для того, чтобы показать клиентам, что поставщик контролирует развитие продукта и сможет учесть интересы заказчиков.

Рассмотрим список компаний, которые успешно монетизируют Open-Source продукты.

Международные

Red Hat -  основными продуктами являютcя своя версия Linux и Kubernetes.

Elastic - инструменты для сбора и анализа логов, а также поиска по текстовым корпусам

Grafana - инструменты observability

Cloudera - продукты на основе Hadoop

Confluent - продукты на основе Kafka

Kong - API Gateway

Российские

Аренадата - продукты на основе Hadoop

Флант - сборка Kubernetes

Postgres PRO - версия PostgeSQL 

Рассмотрим решения подробнее.

Red Hat

Если вы очень хотите заплатить им деньги, вас никто останавливать не будет, но абсолютно такой же софт можно установить бесплатно. Основное, на чем зарабатывает Red Hat, это снятие ответственности с тех, кто платит. Так как если что-то пошло не так, виноваты не заказчики, а Red Hat, и есть поддержка, в которую можно обратиться. 

Но это самый простой пример, при этом один из наиболее успешных за счет массовости предлагаемого продукта. Что-что, а операционная система нужна почти везде.

Elastic

Строго говоря, с 2021 года и версии 7.11 Elastic перестал быть настоящим Open Source, перейдя на несвободную лицензию. Причина в том, что бизнес Elastic стал пересекаться с бизнесом публичных облаков, таких как AWS. AWS, Azure и другие провайдеры просто продавали Elastic, монетизируя его через биллинг облачных ресурсов. Разумеется, это не понравилось команде Elastic, и они изменили лицензию так, что бесплатно в облаке его уже было нельзя использовать. В ответ AWS создали форк с либеральной лицензией из последней открытой версии и назвали его OpenSearch. И кажется, со временем данные продукты утратят обратную совместимость. Но это не мешает AWS продавать продукт, изначально созданный Elastic, не платя лицензионные платежи.

Рассмотрим отличия открытой и монетизируемой версии Elastic, описанные на их сайте

Функциональные:

  • Различия в возможности создавать снимки/бекапы

  • Межкластерная репликация и балансировка

  • Межкластерный поиск

  • Дополнительный функционал поиска (Гео-поиск и т.д.)

  • Обнаружение аномалий

  • Встроенная оркестровка

Безопасность:

  • Ведение журнала аудита

  • IP-фильтрация

  • Набор функций аутентификации

  • Управление доступом/входом/токенами

  • Шифрование при хранении

  • Соответствие различным стандартам безопасности

  • Защита от саботажа

  • Аудит рабочей нагрузки

Мониторинг:

  • Настраиваемые политики хранения

  • Многоуровневый мониторинг

Оповещения:

  • Автопоиск аномалий

  • Набор коннекторов и интеграций

Интеграции:

  • Набор дополнительных интеграций с системами поддержки и т.д.

  • Коннекторы с популярными базами данных

Поддержка:

  • Гарантии по уровню поддержки и времени реагирования

Я выбрал только самые основные функции из представленных на сайте. Но даже по ним видно, что основные отличия - в функциях, позволяющих запускать эластичные, мультикластерные, высоконагруженные инсталяции, а также в функциях безопасности и мониторинга, наборе коннекторов и гарантиях поддержки.

Databricks

Databricks развивает несколько open-source проектов, но я рассмотрю только самый первый и известный - Spark. Подробную таблицу сравнения можно найти по ссылке.

Функциональные:

  • Запуск разных версий Spark

  • Различные оптимизации работы с файловой системой и S3

  • Изоляция отказов вычислительных ресурсов

  • Автомасштабирование вычислительных ресурсов

  • Автоматические миграции между спотовыми и обычными инстансами

Управление данными:

  • Поддержка ACID транзакций

  • Управление схемой и версиями данных

  • Поддержка потокового чтения

Визуализации:

  • Пользовательский интерфейс с богатым функционалом

  • Функционал командной работы

  • Интерактивные блокноты

Мониторинг и рабочие процессы:

  • Оповещения мониторинга

  • Развертывание в один клик

  • Стриминг с мониторингом

Безопасность:

  • Контроль доступа к блокнотам, кластерам, заданиям и данным

  • Журналы аудита

  • Единый вход с поддержкой SAML 2.0

  • Шифрование данных (в покое и в движении)

  • Соответствие HIPAA, SOC 2, тип 2

Интеграции:

  • Коннекторы к источникам данных

  • Коннекторы к другим сервисам (BI и т.д.)

Дополнительно:

  • Поддержка SQL

  • Поддержка со стороны разработчиков ядра

Компания использует две модели монетизации - через свое облако и через лицензии, при размещении в облаке Azure.

Cloudera

Компания развивает наиболее популярный дистрибутив Hadoop. Помимо самого дистрибутива имеет широкий набор сервисов для обработки “Big Data”, используемых вместе/в рамках Hadoop-кластеров. 

На рынке РФ похожую модель и список услуг предлагает компания Arenadata.

Таблицы сравнения найти не удалось, но во многом это связано со спецификой самого hadoop, который если и ставят, то только с вендорской поддержкой и только очень крупные компании.

Confluent

Продукт компании построен на основе Kafka. Сравнение дано на основе таблицы по ссылке.

Функционально:

  • Функционал serverless

  • Функционал эластичного масштабирования

  • Отсутствие “узкого места” в виде ZooKeeper

  • “Нулевое” время апгрейдов

Поддержка процессов разработки:

  • Поддержка дополнительных языков и не Java-клиентов

  • Более 100 дополнительных коннекторов

  • Поддержка потоковой аналитики

Мониторинг и интерфейс:

  • Пользовательский GUI

  • Мониторинг метрик и “здоровья” кластера

DevOps-функционал:

  • Нативное развертывание в kubernetes

  • Поддержка Ansible

  • Rest API

  • Функционал самобалансировки

Безопасность:

  • Ролевой тип доступа

  • Журнал аудита

  • Защита секретов

  • Ключи пользователя

  • Приватные сети

  • Соответствие набору стандартов

Гарантии SLA и другие возможности:

  • Гарантия безотказной работы по SLA

  • Возможность построения гибридной, мультиоблачной архитектуры

  • Поддержка мультикластерности

  • Поддержка репликаций

Поддержка:

  • Гарантии поддержки 24/7

  • Программы образования и профессиональные сервисы

Kong - Компания развивает API GateWay. 

Подробная таблица сравнения есть по ссылке.

Функционально:

  • Поддержка GrahQL

  • Поддержка лимитов API

  • Поддержка кэширования

Безопасность:

  • Расширенная аутентификация

  • Ролевой контроль доступа

  • Расширенная авторизация

  • Управление секретами

  • Поддержка стандарта FIPS 140-2 

  • Подписанные образы

Флант

Российская компания, которая развивает продукты на основе Kubernetes

Строго говоря у Флант есть открытая версия, которая отличается от “ванильного” Kubernetes, но мы рассмотрим именно сравнение открытой и коммерческой версии.

Основные отличия заключаются в функционале: 

  • Расширенная поддержка сред развертывания (OpenStack, отечественные дистрибутивы Linux и т.д.)

  • Возможность установки в закрытых окружениях

  • Мультитенантность

В безопасности: 

  • Наличие модуля поиска угроз безопасности

  • Сканирование образов приложений на уязвимости

  • Наличие интерфейса администратора

  • Наличие поддержки, вхождение в различные отечественные реестры

PostgresPRO 

Российская компания, которая развивает продукт на основе PostgeSQL.

Подробное сравнение можно найти на страницах 1 и 2 вендора.

Из основных отличий можно выделить 

  • Поддержка работы кластера из нескольких нод

  • Оптимизация потребления памяти и других ресурсов

  • Возможность выдерживать большие нагрузки

  • Возможность репликации, создания инкрементных бэкапов и т.д.

  • Автономные транзакции 

  • 64-разрядные счетчики транзакций

Итог

Как видно из анализа наиболее заметных игроков на рынке Open-Source, наиболее частые модели монетизации - это продажа корпоративных версий, “хостинга” преднастроенных решений в облаке и различных услуг по внедрению/поддержке.

При этом функционально корпоративные решения хоть и обратно совместимы с открытыми версиями, но содержат существенные изменения для работы в кластерах/облаках: возможность эластичного масштабирования, набор функций безопасности, дополнительные коннекторы, встроенный мониторинг и гарантии по поддержке.