L'azienda Elasticsearch ha pubblicato la versione 7.14.0 di elasticsearch-py, la libreria client ufficiale per il linguaggio Python, contenente una modifica che blocca la connessione a server che utilizzano piattaforme commerciali di Elasticsearch non originali. La libreria client restituirà un errore se dall'altra parte viene presentato un prodotto nel campo dell'intestazione «X-Elastic-Product» diverso da «Elasticsearch» per le nuove versioni, oppure non trasmette i campi tagline e build_flavor per le versioni precedenti.
La libreria elasticsearch-py continua a essere distribuita con la licenza Apache 2.0, ma ora la sua funzionalità è limitata esclusivamente alla connessione a prodotti commerciali di Elasticsearch. Secondo Amazon, il blocco riguarda non solo i fork di Open Distro for Elasticsearch e OpenSearch, ma anche soluzioni basate su versioni open source di Elasticsearch. Modifiche simili sono attese anche per le librerie client per JavaScript e Hadoop.
Le azioni di Elasticsearch sono il risultato di un conflitto con i fornitori di servizi cloud, che offrono Elasticsearch come servizio cloud, ma non acquisiscono la versione commerciale del prodotto. L'azienda Elasticsearch è insoddisfatta del fatto che i fornitori di servizi cloud, estranei al progetto, ne traggano profitto rivendendo soluzioni open source pronte all'uso, mentre gli sviluppatori stessi ne restano privi.
Inizialmente, l'azienda Elasticsearch ha cercato di cambiare la situazione trasferendo la piattaforma a una licenza non libera chiamata SSPL (Server Side Public License) e interrompendo la pubblicazione delle modifiche sotto la vecchia licenza Apache 2.0. La licenza SSPL è stata riconosciuta dall'organizzazione OSI (Open Source Initiative) come non conforme ai criteri Open Source a causa della presenza di requisiti discriminatori. Sebbene la licenza SSPL si basi su AGPLv3, nel testo sono presenti requisiti aggiuntivi che impongono la fornitura non solo del codice dell'applicazione, ma anche del codice sorgente di tutti i componenti coinvolti nella fornitura del servizio cloud.
Tuttavia, questo passo ha solo aggravato la situazione e, grazie agli sforzi congiunti di Amazon, Red Hat, SAP, Capital One e Logz.io, è stato creato un fork di OpenSearch, presentato come una vera e propria soluzione open source, sviluppata con la partecipazione della comunità. OpenSearch è stato riconosciuto come pronto per l'uso nei sistemi di produzione e capace di sostituire la piattaforma di ricerca, analisi e archiviazione dati Elasticsearch e l'interfaccia web Kibana, offrendo anche componenti che sostituiscono le edizioni commerciali di Elasticsearch.
L'azienda Elasticsearch ha intensificato il conflitto e ha deciso di rendere difficile la vita agli utenti dei fork limitando l'accesso ai propri prodotti, sfruttando il fatto che le librerie client erano rimaste sotto il suo controllo (la licenza per le librerie è rimasta aperta e il fork di OpenSearch ha continuato a utilizzarle per garantire compatibilità e semplificare la transizione degli utenti).
In risposta alle azioni di Elasticsearch, Amazon ha dichiarato che il progetto OpenSearch inizierà lo sviluppo di fork di 12 librerie client esistenti e offrirà soluzioni per la migrazione su di esse. Fino alla pubblicazione dei fork, si raccomanda agli utenti di attendere prima di passare alle nuove versioni delle librerie client e, in caso di aggiornamento, di tornare alla versione precedente.
Fonte: opennet.ru
