Die Firma Elasticsearch hat die Version elasticsearch-py 7.14.0 veröffentlicht, die offizielle Client-Bibliothek für die Programmiersprache Python. Diese enthält eine Änderung, die die Verbindung zu Servern blockiert, die nicht die originale kommerzielle Elasticsearch-Plattform verwenden. Die Client-Bibliothek wird nun einen Fehler ausgeben, wenn auf der anderen Seite ein Produkt verwendet wird, das im Header „X-Elastic-Product“ nicht als „Elasticsearch“ gekennzeichnet ist, oder wenn die Felder tagline und build_flavor für ältere Versionen nicht übermittelt werden.
Die Bibliothek elasticsearch-py wird weiterhin unter der Lizenz Apache 2.0 bereitgestellt, aber ihre Funktionalität ist nun auf die Verbindung zu kommerziellen Produkten von Elasticsearch beschränkt. Laut Amazon betrifft die Sperrung nicht nur die Forks Open Distro for Elasticsearch und OpenSearch, sondern auch Lösungen, die auf den Open-Source-Versionen von Elasticsearch basieren. Ähnliche Änderungen werden auch für die Client-Bibliotheken für JavaScript und Hadoop erwartet.
Die Maßnahmen von Elasticsearch sind eine Reaktion auf Konflikte mit Cloud-Anbietern, die Elasticsearch als Cloud-Dienst anbieten, jedoch die kommerzielle Version des Produkts nicht erwerben. Elasticsearch ist unzufrieden damit, dass unbeteiligte Cloud-Anbieter, die fertige Open-Source-Lösungen weiterverkaufen, profitieren, während die Entwickler selbst leer ausgehen.
Zunächst versuchte Elasticsearch, die Situation zu ändern, indem die Plattform unter die nicht offene Lizenz SSPL (Server Side Public License) überführt und die Veröffentlichung von Änderungen unter der alten Lizenz Apache 2.0 eingestellt wurde. Die SSPL-Lizenz wurde von der OSI (Open Source Initiative) als nicht den Kriterien der Open Source entsprechend anerkannt, da diskriminierende Anforderungen enthalten sind. Obwohl die SSPL-Lizenz auf AGPLv3 basiert, enthält der Text zusätzliche Anforderungen zur Bereitstellung unter der SSPL-Lizenz, die nicht nur den Code der Anwendung, sondern auch den Quellcode aller Komponenten umfasst, die an der Bereitstellung des Cloud-Dienstes beteiligt sind.
Dieser Schritt hat die Situation jedoch nur verschärft, und in gemeinsamer Anstrengung der Unternehmen Amazon, Red Hat, SAP, Capital One und Logz.io wurde ein Fork von OpenSearch geschaffen, der als vollwertige Open-Source-Lösung positioniert ist, die mit der Unterstützung der Community weiterentwickelt wird. OpenSearch wurde als bereit für den Einsatz in produktiven Systemen anerkannt und ist in der Lage, die Such-, Analyse- und Datenlagerplattform Elasticsearch sowie die Weboberfläche Kibana zu ersetzen, wobei es auch eine Alternative zu den Komponenten der kommerziellen Version von Elasticsearch bietet.
Das Unternehmen Elasticsearch hat den Konflikt eskaliert und beschlossen, den Nutzern der Forks das Leben zu erschweren, indem es sich an seine eigenen Produkte bindet, und hat dabei ausgenutzt, dass die Client-Bibliotheken weiterhin unter seiner Kontrolle standen (die Lizenz für die Bibliotheken blieb offen, und der Fork OpenSearch nutzte sie weiter, um die Kompatibilität zu gewährleisten und den Übergang für die Nutzer zu erleichtern).
Als Reaktion auf die Entwicklungen von Elasticsearch hat Amazon angekündigt, dass das OpenSearch-Projekt mit der Weiterentwicklung von 12 bestehenden Client-Bibliotheken beginnen wird und Lösungen für die Migration auf diese Bibliotheken anbieten wird. Bis die Forks veröffentlicht werden, wird den Benutzern geraten, mit dem Wechsel auf neue Versionen der Client-Bibliotheken vorsichtig umzugehen, und im Falle eines Updates auf die vorherige Version zurückzugreifen.
Quelle: opennet.ru
