La société Elasticsearch a publié la version 7.14.0 d'elasticsearch-py, la bibliothèque cliente officielle pour le langage Python, contenant un changement qui bloque la possibilité de se connecter à des serveurs utilisant une plateforme commerciale Elasticsearch non originale. La bibliothèque cliente affichera désormais une erreur si le produit de l’autre côté se présente dans l’en-tête « X-Elastic-Product » comme n’étant pas « Elasticsearch » pour les nouvelles versions, ou ne transmet pas les champs tagline et build_flavor pour les anciennes versions.
La bibliothèque elasticsearch-py continue d'être distribuée sous la licence Apache 2.0, mais sa fonctionnalité est désormais limitée à la connexion uniquement aux produits commerciaux Elasticsearch. Selon Amazon, le blocage concerne non seulement les forks Open Distro for Elasticsearch et OpenSearch, mais aussi les solutions basées sur les versions open source d'Elasticsearch. Des modifications similaires sont attendues dans les bibliothèques clientes pour JavaScript et Hadoop.
Les actions d'Elasticsearch sont le résultat d'un conflit avec des fournisseurs de cloud qui proposent Elasticsearch sous forme de services cloud, mais n'achètent pas la version commerciale du produit. Elasticsearch n'est pas satisfait de la manière dont des fournisseurs de cloud non liés au projet tirent profit en revendant des solutions open source, tandis que les développeurs restent sans rien.
Au départ, la société Elasticsearch a tenté de changer la situation en transférant la plateforme vers une licence non libre, la SSPL (Server Side Public License), et en cessant de publier des modifications sous l'ancienne licence Apache 2.0. La licence SSPL a été jugée par l'OSI (Open Source Initiative) comme ne répondant pas aux critères de source ouverte en raison de ses exigences discriminatoires. Bien que la licence SSPL soit basée sur l'AGPLv3, le texte contient des exigences supplémentaires pour la fourniture sous la licence SSPL, non seulement du code de l'application elle-même, mais aussi des codes sources de tous les composants impliqués dans la fourniture du service cloud.
Mais cette décision n'a fait qu'aggraver la situation et, grâce aux efforts conjoints d'Amazon, Red Hat, SAP, Capital One et Logz.io, un fork d'OpenSearch a été créé, se positionnant comme une solution ouverte complète, développée avec la participation de la communauté. OpenSearch a été jugé prêt à être utilisé dans des systèmes de production et capable de remplacer la plateforme de recherche, d'analyse et de stockage de données Elasticsearch ainsi que l'interface web Kibana, tout en offrant une alternative aux composants de l'édition commerciale d'Elasticsearch.
La société Elasticsearch a intensifié le conflit et a décidé de compliquer la vie des utilisateurs des forks en les liant à ses produits, profitant du fait que les bibliothèques clientes restaient sous son contrôle (la licence des bibliothèques restant ouverte et le fork OpenSearch continuant à les utiliser pour assurer la compatibilité et faciliter la transition des utilisateurs).
En réponse aux actions d'Elasticsearch, la société Amazon a déclaré que le projet OpenSearch commencerait à développer des forks de 12 bibliothèques clientes existantes et proposerait une solution de migration pour la transition des systèmes clients vers celles-ci. Avant la publication des forks, il est recommandé aux utilisateurs d'attendre avant de passer aux nouvelles versions des bibliothèques clientes, et en cas de mise à jour, de revenir à la version précédente.
Source : opennet.ru
