Elasticsearch trifft falsche Lizenz-Entscheidung

Di, 26. Januar 2021, Ralf Hersel

Elasticsearch ist eine Suchmaschine auf Basis von Lucene. Das in Java geschriebene Programm speichert Dokumente in einem NoSQL-Format (JSON). Die Kommunikation mit Clients erfolgt über ein RESTful-Webinterface. Elasticsearch ist neben Solr der am weitesten verbreitete Suchserver. Er ermöglicht auf einfache Weise den Betrieb im Rechnerverbund zur Umsetzung von Hochverfügbarkeit und Lastverteilung. Nachdem die Software bisher und der Apache-2.0-Lizenz bereitgestellt wurde, soll die kommende Version 7.11 der Suchmaschine sowie das darauf aufbauende Analyse-Dashboard Kibana unter der von MongoDB erstellten SSPL-Lizenz erscheinen, die als nicht-frei angesehen wird.

Hintergrund der Lizenz-Änderung ist das Problem, dass grosse Cloud-Hoster, allen voran AWS, den Software-Code als gehostete Lösung in ihre Angebote integrieren, ohne dass von den damit erwirtschafteten Gewinnen etwas bei den Hauptentwicklern der Software ankommt. Dieses 'Trittbrettfahren' soll durch die SSPL-Lizenz unterbunden werden, indem das 'Anbieten des lizenzierten Programms als Dienst eines Dritten' festlegt und verlangt, dass diejenigen, die die Software als Teil eines Dienstes öffentlich zugänglich machen, den gesamten Quellcode des Dienstes unter dieser Lizenz zur Verfügung stellen müssen. Somit muss der Cloud-Hoster, der einen eigenen Service, der auf Elasticsearch als wesentliche Komponente basiert, den Code aller Komponenten des Gesamtservices unter dieselbe Lizenz stellen.

Als Elastic den Lizenzwechsel ankündigte, waren viele Tech-Medien der Meinung, dass man damit dem Produkt Elasticsearch einen Bärendienst erweise. Genau das kündigt sich nun an: AWS will die Software-Projekte Elasticsearch und Kibana in einem eigenen Fork weiterführen, der auch künftig und der Apache-2.0-Lizenz stehen soll. Damit ist das Problem, der unlauteren Verwendung von freier Software im Rahmen von Cloud-Services weiterhin nicht gelöst.

Quelle: https://www.elastic.co/de/blog/licensing-change