Dans un billet de blog, Shay Banon, fondateur et PDG d’Elastic (l’entreprise porteuse du projet) a fait savoir que le code source de la version 7.11 du moteur de recherche et d’analyse distribué, qui était distribué en Apache 2.0, basculera vers un système de doubles licences « à la carte » : Elastic et SSPL, non approuvées par l’OSI.
« Nous transférons notre code source sous licence Apache 2.0 dans Elasticsearch et Kibana vers une double licence sous Server Side Public License (SSPL) et sous Elastic License, donnant aux utilisateurs le choix de la licence à appliquer. Ce changement de licence garantit à notre communauté et à nos clients un accès libre et ouvert pour utiliser, modifier, redistribuer et collaborer sur le code. Cela protège également notre investissement continu dans le développement de produits que nous distribuons librement et en open source en empêchant les fournisseurs de services cloud d'offrir Elasticsearch et Kibana en tant que service sans contribuer en retour. Cela s'appliquera à toutes les branches maintenues de ces deux produits et aura lieu avant notre prochaine version 7.11. Nos versions continueront d'être sous la licence Elastic comme elles le sont depuis trois ans ».
La première de ces licences est en place depuis 2018. Elle a accompagné le développement du modèle open core (cœur fonctionnel ouvert + modules additionnels propriétaires) sur l’ensemble de la pile Elastic (Elasticsearch, Kibana, Beats, Logstash). Ce modèle avait d’abord impliqué l’adjonction de fonctionnalités payantes. Par exemple, un système d’alerte et des briques de machine learning. S’y étaient ensuite adjointes des composantes gratuites, entre autres pour le monitoring et le débogage.
SSPL est une licence créée par MongoDB pour incarner les principes de l'open source tout en offrant une protection contre les fournisseurs de cloud public offrant des produits open source en tant que service sans contribuer en retour. La SSPL permet une utilisation et des modifications libres et sans restriction, avec la simple exigence que si vous fournissez le produit en tant que service à d'autres, vous devez également publier publiquement toutes les modifications ainsi que le code source de vos couches de gestion sous SSPL.
« Ces dernières années, le marché a évolué et la communauté en est venue à comprendre que les entreprises open source doivent mieux protéger leurs logiciels pour continuer à innover et à réaliser les investissements nécessaires. Alors que les entreprises poursuivent leur transition vers les offres SaaS, certains fournisseurs de services cloud ont pris des produits open source et les ont fournis en tant que service sans réinvestir dans la communauté. Passer à la stratégie de double licence avec SSPL ou Elastic License est une étape naturelle pour nous après l'ouverture de notre code commercial et la création d'un niveau gratuit, le tout sous la licence Elastic, il y a près de trois ans. Il est similaire à ceux créés par de nombreuses autres entreprises open source au cours de ces années, y compris MongoDB, qui a développé la SSPL. La SSPL permet une utilisation gratuite et sans restriction, ainsi que des modifications, avec la simple exigence que si vous fournissez le produit en tant que service, vous devez également publier publiquement toutes les modifications ainsi que le code source de vos couches de gestion sous SSPL ».
Amazon annonce la création et la maintenance d'un fork open source d'Elasticsearch et Kibana
Dans un billet de blog publié au début de cette année, Carl Meadows, Senior Manager of Product Management de la division AWS d'Amazon, a expliqué la position de son entreprise :
« Elastic a annoncé qu'il changerait sa stratégie de licence logicielle et ne publierait pas de nouvelles versions d'Elasticsearch et de Kibana sous la licence Apache, version 2.0 (ALv2). Au lieu de cela, de nouvelles versions du logiciel seront proposées sous la licence Elastic (qui limite son utilisation) ou la licence publique côté serveur (qui a des exigences qui le rendent inacceptable pour de nombreux membres de la communauté open source). Cela signifie qu'Elasticsearch et Kibana ne seront plus des logiciels open source. Afin de garantir que les versions open source des deux packages restent disponibles et bien prises en charge, y compris dans nos propres offres, nous annonçons aujourd'hui qu'AWS intensifiera la création et la maintenance d'un fork open source sous licence ALv2 d'Elasticsearch et de Kibana ».
« OpenSearch », le fork Elasticsearch d'Amazon, disponible en version 1.0
« En avril de cette année, nous avons présenté OpenSearch, une suite de recherche et d'analyse open source pilotée par la communauté et dérivée des outils open source Elasticsearch 7.10.2 et Kibana 7.10.2. Le projet se compose d'un moteur de recherche (OpenSearch), d'une visualisation et d'une interface utilisateur (OpenSearch Dashboards) et des fonctionnalités avancées d'Open Distro pour Elasticsearch (notre distribution précédente d'Elasticsearch) telles que les alertes, la sécurité, la détection d'anomalies, etc. Tous les logiciels du projet sont publiés sous la licence Apache, version 2.0.
« Nous sommes ravis de partager que le projet OpenSearch a franchi une étape importante avec le lancement d'OpenSearch 1.0. Cette étape marque la première version prête pour la production d'OpenSearch. En plus d'être prêtes pour la production, plusieurs nouvelles améliorations ont été ajoutées au projet : flux de données, filtrage de la plage d'analyse des traces, planification des rapports, etc.
« Depuis l'introduction d'OpenSearch, l'équipe a travaillé au grand jour pour amener le projet à ce point. Nous avons minutieusement testé le logiciel, ajouté l'automatisation des tests, créé l'infrastructure et effectué d'autres mises à jour pour nous assurer que le code est adapté à une utilisation en production. Nous avons également investi dans la rétrocompatibilité et la fonctionnalité de mise à niveau pour rendre la transition vers OpenSearch aussi simple que possible pour les utilisateurs d'Elasticsearch open source. Avec ce travail, le projet pourra avancer rapidement avec une cadence de publication régulière que tout le monde pourra suivre sur la feuille de route publique du projet.
« Comme nous l'avons mentionné précédemment, les développeurs adoptent les logiciels open source pour de nombreuses raisons, la plus importante étant peut-être la liberté d'utiliser ce logiciel où et comme ils le souhaitent. Nous encourageons quiconque à utiliser, modifier, étendre, intégrer, monétiser, revendre et proposer OpenSearch dans le cadre de ses produits et services. L'adoption à grande échelle profite à l'ensemble de la communauté ».
Cette publication est l'aboutissement de plusieurs étapes de développement. Lorsque les référentiels ont été initialement ouverts, l'équipe du projet a récapitulé l'ensemble du processus jusqu'à ce point. Depuis lors, le rythme du changement sur OpenSearch s'est accéléré, avec l'ajout des plugins du projet Open Distro for Elasticsearch, ainsi que des mises à jour clés fournies par les contributeurs de la communauté. Ces mises à jour incluent :
- Suppression continue du code propriétaire et des marques : Alors que l'effort initial de pré-Alpha a supprimé la grande majorité des bits et des références propriétaires désormais redondants, un nettoyage supplémentaire a eu lieu tout au long du reste du développement. Vous pouvez désormais utiliser OpenSearch avec l'assurance qu'il est exempt de code propriétaire et de références.
- Mise à niveau : OpenSearch devrait fonctionner aussi bien pour vous, que vous créiez une application à partir de zéro ou que vous mettiez à niveau une charge de travail existante à partir d'une version antérieure d'Elasticsearch. Dans cet esprit, l'équipe a passé du temps à rendre les mises à niveau aussi faciles que possible. Vous pouvez effectuer une mise à niveau d'Elasticsearch vers OpenSearch exactement de la même manière que vous le feriez entre les versions d'Elasticsearch dans le passé.
- Compatibilité : La corne d'abondance sans cesse croissante d'outils et de bibliothèques fonctionnant avec OpenSearch en fait une suite de recherche et d'analyse encore plus utile. La communauté d'utilisateurs a joué un rôle déterminant pour signaler et aider les développeurs du projet à comprendre ce qui est nécessaire pour assurer une compatibilité continue avec leurs outils préférés. Maximiser la compatibilité nécessitait d'apporter des modifications à la façon dont les versions sont signalées ainsi que de maintenir les fonctionnalités API importantes utilisées par diverses bibliothèques.
- Tests : Avec un projet aussi complexe qu'OpenSearch, des tests robustes garantissent que les petits changements ne se transforment pas en problèmes inattendus. L'équipe a accordé une attention particulière à s'assurer qu'OpenSearch dispose d'une infrastructure de test moderne et flexible qui servira le projet pour les années à venir.
La version en disponibilité générale d'OpenSearch 1.0 a également quelques améliorations depuis la bêta, entre autres (la liste n'est pas exhaustive) :
- Prise en charge de l'architecture ARM64 pour Linux,
- Artefacts minimaux pour l'intégration d'OpenSearch et des tableaux de bord OpenSearch dans les produits et services existants,
- Prise en charge des flux de données pour les tableaux de bord OpenSearch,
- Prise en charge de la planification dans le plug-in Reporting.
Sources : annonce Amazon, note de version (GitHub)