Как мы уже писали ранее, Elastic, разработчики поисковой и аналитической системы Elasticsearch, релицензировали свой проект, отказавшись от open source. В итоге Amazon решила сделать его форк. В июле 2021 года участники проекта объявили о выпуске первой общедоступной (GA) версии OpenSearch 1.0, форка Elasticsearch 7.10.2 и Kibana 7.10.2 под лицензией Apache 2.0.
Разработчики Elastic оказались крайне недовольны форком и решили отомстить – они сделали свои клиентские библиотеки несовместимыми с OpenSearch. Python-клиент был обновлен: теперь он выполняет API-запрос, проверяющий, есть ли соединение с Elasticsearch; если его нет, то выдается ошибка. Сообщество выразило свой протест такому некорректному поведению со стороны Elastic.
«Это прискорбно», — отметил менеджер по продуктам в Invenio Ларс Холм Нильсен. – «Вы заставляете нас занять определенную сторону в этой потасовке. Мы разрабатываем open source продукт, который мог бы легко работать и с Elasticsearch, и с OpenSearch. Пусть люди сами выбирают, что им больше нравится».
«Похоже, что нам самим теперь придется делать выбор – использовать OpenSearch или Elasticsearch. Поведение Elastic не внушает нам доверия. Серьезно, какое будущее может быть с вами? И не надо во всем винить Amazon – вы ведь уже изменили серверную лицензию. Зачем вообще был нужен еще и этот дополнительный шаг?»
Старший технический менеджер Elastic Филип Краусс опубликовал следующий ответ до отключения комментариев:
«Amazon OpenSearch – это другой продукт. Несмотря на некоторую нашу общую историю, у нас уже появилось много различий, вызывающих определенную путаницу и проблемы».
Разработчики Elastic также модифицировали .NET Connector для Elasticsearch, включив в него дополнительную проверку при первом использовании.
Старший разработчик Elastic Стив Гордон сказал, что это изменение никак не отразится на поддерживаемых конфигурациях. Намерение компании заключалось в том, чтобы «сразу акцентировать внимание на имеющихся несовместимостях, чтобы потребители не думали, что они работают в поддерживаемой конфигурации, которая не тестируется и может функционировать совсем не так, как ожидалось».
В итоге изменения Elastic сделали многие библиотеки несовместимыми с OpenSearch. Разработчики OpenSearch решили создать новый набор клиентских библиотек, которые упростили бы подключение приложений к кластеру OpenSearch или Elasticsearch:
«Многие разработчики, использующие Elasticsearch и OpenSearch в своих приложениях, также прибегают к open source библиотекам, поддерживаемым Elastic. Эти библиотеки предлагают удобные высокоуровневые интерфейсы для нескольких популярных языков программирования. За последние несколько недель Elastic добавил к нескольким из этих клиентов новую логику, которая отклоняет подключения к кластерам с OpenSearch или кластерам с open source дистрибутивами Elasticsearch 7. Хотя клиентские библиотеки по-прежнему имеют открытый код, они теперь позволяют подключаться только к коммерческим предложениям Elastic».
OpenSearch опубликовал список из десятка клиентов, для которых разработчики планируют выпустить свои форки. Эти форки будут поддерживать совместимость со всеми дистрибутивами Elasticsearch.
«Мы не рекомендуем обновлять до последней версии любой из поддерживаемых Elastic клиентов, поскольку это может вести к поломке приложений», — отметили специалисты OpenSearch в апдейте проекта.
Запрет Elastic на взаимодействие официальных клиентов с open source форками еще сильнее подорвал репутацию компании (которая и так была достаточно слабой после трюка с релицензированием Elasticsearch).
«Похоже, Elastic высосали все преимущества из open source и теперь выплевывают кости», — отметил Саймон Фиппс, директор по стандартам и политике OSI.
10up, создатели сервиса ElasticPress.io, одного из самых известных решений на базе Elasticsearch в экосистеме WordPress, пока еще не определились со своими дальнейшими действиями из-за релицензирования продукта. Компания не торопится выбрать чью-то сторону. Васкен Хаури, вице-президент по платформам и системам в 10up, отметил, что этот спор «вряд ли как-то затронет нас в ближайшем будущем (2-3 года)».
Обновление до Elasticsearch 7.11+ потребовало бы от пользователей оплаты сервиса или перехода к open source форку. Васкен заявил, что компания «практически не пользуется большинством новых функций, предлагаемых сейчас Elasticsearch», а потому текущие проекты «могут работать еще пару лет без необходимости обновлений». Соответственно, пользователям плагина ElasticPress и клиентам сервиса ElasticPress.io не нужно беспокоиться о возобновившейся войне Elastic с Amazon.
Источник: wptavern.com