La empresa Elasticsearch ha lanzado la versión 7.14.0 de elasticsearch-py, la biblioteca cliente oficial para Python, que incluye un cambio que bloquea la posibilidad de conexión a servidores que utilizan una plataforma comercial no original de Elasticsearch. A partir de ahora, la biblioteca cliente mostrará un error si el lado opuesto se presenta en el encabezado "X-Elastic-Product" no como "Elasticsearch" para nuevas versiones, o si no proporciona los campos tagline y build_flavor para versiones anteriores.
La biblioteca elasticsearch-py sigue siendo distribuida bajo la licencia Apache 2.0, pero su funcionalidad ahora está limitada únicamente a la conexión con productos comerciales de Elasticsearch. Según la empresa Amazon, el bloqueo afecta no solo a los forks de Open Distro for Elasticsearch y OpenSearch, sino también a soluciones basadas en versiones abiertas de Elasticsearch. Cambios similares se esperan en las bibliotecas cliente para JavaScript y Hadoop.
Las acciones de Elasticsearch son el resultado de un conflicto con proveedores de nube que ofrecen Elasticsearch como servicios en la nube, pero no adquieren la versión comercial del producto. La empresa Elasticsearch está descontenta porque los proveedores de nube, no relacionados con el proyecto, obtienen beneficios al revender soluciones abiertas, mientras que los desarrolladores quedan sin nada.
Inicialmente, la empresa Elasticsearch intentó cambiar la situación trasladando la plataforma a la licencia no libre SSPL (Server Side Public License) y dejando de publicar cambios bajo la antigua licencia Apache 2.0. La licencia SSPL ha sido declarada por la organización OSI (Open Source Initiative) como no conforme a los criterios de Open Source debido a requisitos discriminatorios. A pesar de que la licencia SSPL se basa en AGPLv3, el texto incluye requisitos adicionales de entrega bajo la licencia SSPL no solo del código de la aplicación misma, sino también de los textos fuente de todos los componentes implicados en la prestación del servicio en la nube.
Sin embargo, este paso solo agravó la situación y, con el esfuerzo conjunto de las empresas Amazon, Red Hat, SAP, Capital One y Logz.io, se creó un fork de OpenSearch, posicionado como una solución abierta completa, desarrollada con la participación de la comunidad. OpenSearch fue reconocido como listo para ser utilizado en sistemas operativos y capaz de reemplazar la plataforma de búsqueda, análisis y almacenamiento de datos Elasticsearch y la interfaz web Kibana, incluyendo la oferta de alternativas a los componentes de la edición comercial de Elasticsearch.
La empresa Elasticsearch escaló el conflicto y decidió dificultar la vida a los usuarios de forks al atar sus productos, aprovechando que las bibliotecas de clientes permanecían bajo su control (la licencia de las bibliotecas seguía siendo abierta y el fork OpenSearch continuaba utilizándolas para asegurar la compatibilidad y facilitar la transición de los usuarios).
En respuesta a las acciones de Elasticsearch, la empresa Amazon declaró que el proyecto OpenSearch comenzaría a desarrollar forks de 12 bibliotecas de clientes existentes y ofrecería soluciones para migrar los sistemas de clientes a ellas. Hasta la publicación de los forks, se recomendó a los usuarios esperar con la transición a nuevas versiones de las bibliotecas de clientes y, en caso de actualizar, retroceder a la versión anterior.
Fuente: opennet.ru
