Amazon en quête de confiance pour son fork d’Elasticsearch

Amazon OpenSearch

Sous la marque OpenSearch, Amazon ouvre au public son fork d’Elasticsearch et de Kibana. Le sujet de la gouvernance fait débat au sein de la communauté.

Amazon tourne-t-il autour du pot ? Voilà plusieurs semaines que le groupe américain fait l’objet d’accusations dans ce sens au sein de la communauté Open Distro. En toile de fond, la gouvernance d’OpenSearch.

Que cache cette marque ? Elle avait pris corps au milieu des années 2000, sous la forme d’un protocole d’agrégation de résultats de recherche. L’outil existe toujours, maintenu par un de ses créateurs. Actuellement, ce n’est pas lui qui pose problème, mais un tout autre OpenSearch. Amazon a effectivement « recyclé » le nom et l’a attribué à son fork du moteur Elasticsearch.

Pourquoi créer un dérivé ? À cause d’un conflit avec Elastic, l’entreprise qui porte le projet. Elle a décidé de modifier la licence de son code source. Exit Apache 2.0, place à un système « à la carte » reposant sur deux options dont aucune n’est open source au sens de l’OSI. Objectif affirmé : empêcher des tiers de fournir Elasticsearch en tant que service sans collaborer en retour.

Elasticsearch licences

En première ligne, AWS, qui dispose d’une telle offre managée.
Celle-ci peut reposer sur Elasticsearch… ou sur l’Open Distro. Il s’agit d’une déclinaison « maison » dotée de fonctionnalités supplémentaires (SQL, sécurité, machine learning…). Amazon s’est toujours refusé à parler d’un fork. En particulier parce que l’Open Distro fonctionne comme une version upstream (les changements redescendent vers le projet Elasticsearch). Du côté d’Elastic, on dénonce, au travers de cette initiative, des violations de marque et de code propriétaire.

Elasticsearch moins 5 millions de lignes

Les travaux sur OpenSearch avaient officiellement démarré le 21 janvier 2021. Portant aussi bien sur Elasticsearch que sur l’outil de visualisation Kibana, ils ont principalement consisté à éliminer tout code non placé sous licence Apache 2.0. Cela a impliqué la suppression de près de 5 millions de lignes. Et des changements sur plus de 50 000 fichiers.

Le code problématique se trouvait dans le fameux dossier x-pack. Il faut remonter à 2016 pour voir Elastic mettre en place ce réceptacle. Lequel allait accompagner le développement du modèle open core (cœur fonctionnel ouvert + modules additionnels propriétaires) sur la pile EKS (Elasticsearch et Kibana, ainsi que Beats et Logstash). Avec, en son sein, des fonctionnalités pour partie payantes. Le code des gratuites avait fini par être ouvert… sous licence maison. Licence qui interdit, entre autres, toute modification – en tout cas pour un usage en production – et la redistribution d’Elasticsearch, à moins de nouer un partenariat avec Elastic.

Au-delà du X-Pack, il a fallu retirer les interfaces associées. AWS a aussi écarté le système qui régit la compilation des fonctionnalités dudit pack selon les niveaux de licence. Il a par ailleurs établi une nouvelle infrastructure CI, mis la télémétrie en état dormant et coupé le fil RSS d’alertes produits/marketing. Puis finalement procédé à un renommage global sur la base de la marque OpenSearch. L’heure est désormais à la mise en œuvre d’un canal nightly. Et à la réinitialisation de la numérotation.

Gouvernance : trop tôt pour AWS

Un cap a été franchi cette semaine, avec l’ouverture des dépôts au public. Le projet en reste au stade alpha. AWS n’a pas encore intégré de correctif. On a donc pour le moment une copie quasi conforme d’Elasticsearch et de Kibana 7.10.2. Tout du moins de son code open source. Le passage en bêta est une question de semaines, nous affirme-t-on. Pour la disponibilité globale, il semble falloir tabler sur la mi-2021.

L’Open Distro vient se placer sous la même ombrelle. Avec probablement une convergence à venir. AWS s’engage à poursuivre la maintenance des versions Apache 2.0 d’Elasticsearch, qui resteront, sur une durée indéterminée, une option pour son offre managée. Les nouvelles fonctionnalités iront cependant exclusivement vers OpenSearch.

Et la gouvernance dans tout ça ? L’approche qui domine au sein de la communauté est celle d’un comité de direction « d’amorçage » qui réunirait des représentants d’entreprises intéressées pour contribuer au projet.
Que ce soit sur cette proposition ou sur celle du transfert à une fondation, AWS n’a pas tranché. Son argument : il est trop tôt pour choisir un cap, car la communauté OpenSearch commence à peine à se constituer. « Nous ne savons pas qui s’impliquera, ni comment », résume la firme, qui choisit de se positionner en « coordinateur » (steward).

Pour aller plus loin sur le sujet, consulter :

Illustration principale © agsandrew – Shutterstock