Amazon выпустила Open Distro for Elasticsearch

Эта статья — обзор новостей о том, как
— Amazon выпустила Open Distro for Elasticsearch
— почему они это сделали?
— что это значит для компании Elastic и для Open Source вообще?

Elastic


Жила была компания Elastic.

Было у них несколько Open Source продуктов:
— Сам Elasticsearch: сервер, который получает, хранит логи и позволяет по ним делать поиск
— Kibana: frontend движок, который берёт данные из Elasticsearch и из них рисует красивые репорты
— ещё несколько утилит, которые собирают логи. Например LogStash

Elasticsearch бывают называют ELK (лось), как акроним основных элементов:
Elasticsearch
LogStash
Kibana

Хотя компоненты «L» и «K» в общем-то можно заменять на другие: Beats, Grafana, …

Ещё у Elastic есть X-Pack.
Это коммерческий продукт. Часть из возможностей X-Pack — платная (довольно дорогая) и часть — бесплатная (но лицензия всё равно коммерческая).
X-Pack расширяет возможности ELK:
— security
— alerting
— monitoring
— reporting
— graph
— …

Причём если не ставить X-Pack, то отсутствуют некоторые довольно существенные возможности. Например, по умолчанию ELK отсутствует аутентификация, то все данные «торчат» наружу. Можно прикрутить обратный прокси и сделать basic authentication (так себе вариант), а можно купить X-Pack.

Ход 1: Elastic хитро меняет лицензию


В июне 2018 Elastic написал статью в духе, что вот мы мол настолько открытые, что теперь даже наш коммерческий X-Pack делаем открытым:
https://www.elastic.co/blog/doubling-down-on-open

Но, народ быстро сообразил, что это подстава:
https://news.ycombinator.com/item? id=16487440

Потому что начиная с версии 6.3 репозиторий для ELK и X-Pack один, а лизенции две:
— для ELK — Apache 2.0
— для X-Pack — коммерческая лицензия. То есть код теперь открытый, но платить надо как и раньше.

image

И поставив теперь себе ELK вы никогда точно не знаете — у вас Open Source версия или коммерческая?
Когда вы исправляете что-то в ELK и отсылаете PR — это уходит в открытую часть кода или в коммерческую?

То есть Elastic сделала так, что поставить Open Source версию ELK’a стало очень непросто.
И народ стал переживать, что если у вас стоит коммерческая версия Elasticsearch, или Elasticsearch является частью вашего продукта, то может случиться так, что вы будете должны денег.
Хотя некоторые представители Elastic объясняли, что это не так: вот был раньше закрытый коммерческий X-Pack, а теперь есть открытый коммерческий X-Pack — как это может быть хуже?

Для обычных пользователей дело осложнялось ещё тем, что в образы Docker, Elastic включил X-Pack, который работал в Trial-mode (что было не очень очевидно), и через какое-то время отваливался и требовал платить. Да, X-Pack в этих контейнерах можно было не использовать, но те, кто не теме, могли попасться.

А Амазону похоже не понравилось то, что с момента этих изменений, все новые возможности (Index Lifecycle Management, APM UI, Infrastructure and Logs UI, Kibana multi-tenancy, Kibana Canvas) Elastic стал добавлять только под коммерческой лицензией (хотя зачастую бесплатно для пользователей) в которой был прописан запрет использовать эти новые возможности для SaaS предложений, то есть как раз для того, что делал Амазон.

Ход 2: Амазон выпускает Open Distro for Elasticsearch


11 Марта 2019 на блоге AWS вышел анонс Open Distro for Elasticsearch:
https://aws.amazon.com/blogs/aws/new-open-distro-for-elasticsearch/

А также статья в которой они объясняют почему они выпустили Open Distro for Elasticsearch:
https://aws.amazon.com/blogs/opensource/keeping-open-source-open-open-distro-for-elasticsearch/
Суть которой:
— Мы в Амазон любим Open Source и зависим от многих классных Open Source продуктов
— Мы поддерживаем и вкладываемся в Open Source
— Нам не нравится то, что сделали Elastic. Мы попросили их, чтобы они сделали чисто открытую версию Elasticsearch и мы были готовы вложиться, но они отказались
— Поэтому мы выпускаем свою открытую (Apache 2.0) версию которую мы называем Open Distro for Elasticsearch
— И туда мы включаем многие возможности, которые были в платном X-Pack. Такие как security, notifications, SQL, Performance Analyzer и т.д. Всё полностью открыто и бесплатно.

В связи с этим возникает ряд вопросов, на которые они уже приготовили FAQ. Вот эти пара моментов мне показалась важными:
— Open Distro for Elasticsearch — это не форк. Amazon будет контрибутить в Elasticsearch
— Amazon будет стараться не отставать от Elasticsearch: когда Elastic будет выпускать новые версии, то будут выпускаться соответствующие версии Open Distro for Elasticsearch.

Реакция, последствия


С одной стороны, ход Амазона рассматривается, как агрессивный по отношению к Elastic:
— Elastic вкладывается в разработку Elasticsearch, а зарабатывает на этом Amazon: на своём AWS у Амазона есть ряд предложений Elasticsearch.

С другой стороны, Амазон пишет, что Elasticsearch в значительной степени построен на успехе других Open Source продуктов:
— Apache Lucene, который начал развиваться ещё 11 лет до того, как появился Elasticsearch
— Jackson для парсинга JSON
— Netty, как контейнер для веба
— и другие

Если Elastic может зарабатывать на других Open Source продуктах, то почему Amazon не может зарабатывать на Elasticsearch?

Вот тут интересное обсуждение этой новости:
https://news.ycombinator.com/item? id=19359602

Народ пишет, что теперь многие Open Source разработчики дважды подумают:, а стоит ли открывать свой код под открытыми лицензиями, когда есть вот такие примеры того, что другие берут этот код и зарабатывают на этом?

Причём даже модель «open core» не является панацеей, потому что заинтересованная сторона может дописать свой код сверху так, как это сделал Амазон для Elasticsearch.

© Habrahabr.ru