Elasticsearch: License changing from Open Source to Free & Open

Lo que hayáis estado al tanto de la actualidad que rodea a Elasticsearch, seguro que sois conocedores de los tira y afloja que Elastic y AWS han mantenido en los últimos años. Finalmente, los peores augurios se han cumplido y la compañía de Shay Banon ha decidido cortar el problema de raíz y cambiar el modelo de licenciamiento de Elasticsearch y Kibana, pasando de “open source” a “open & free”.

Pero, ¿Qué supone eso para las organizaciones que hacen uso de estos productos? ¿Y para los proveedores cloud? Todo ello y más será cuidadosamente desgranado en el presente artículo.

Motivation

El principal motivo que esgrimen desde Elastic para justificar el cambio de licencia, es el hecho de que algunos proveedores cloud, pero en especial AWS, aprovecharan el modelo de licenciamiento open source de Elasticsearch y Kibana para ofertar servicios gestionados de los mismos, sin contribuir de forma alguna al proyecto.

Es cierto que técnicamente se trata de un movimiento legal, aunque de dudosa moralidad, por parte de los chic@s de Jeff Bezos. Es igual de cierto que Elastic no es empresa open source al uso, sino una organización que busca generar beneficios en base a un conjunto de productos que han construido y evolucionado a lo largo de los años. Evidentemente, están en su derecho, ¡faltaría más!, pero ese cruce de intereses era una bomba de relojería preparada para estallar en cuanto los fríos números económicos así lo indicaran y no esta de mas señalar que a diferencia de Azure o GCP, AWS no tiene acuerdo alguno con Elastic para ofertar su servicio gestionado, y, por lo tanto, no obtienen rédito alguno de ello.

Ahora bien, lo que no tiene justificación alguna por parte AWS, mas allá de la obtención de un beneficio propio y egoísta, a la par de ilegal, es la continua insistencia en aparentar que su servicio gestionado de Elasticsearch y Kibana es ofrecido en colaboración con Elastic, cuando no es así. No hay más que echar mano de la hemeroteca para comprobar como Wener Volgers, actual CTO de Amazon, publicitada en 2015 vía Twitter el lanzamiento de dicho servicio.

Esta tensión se traslada incluso a los foros de AWS, en los que podemos ver respuestas por parte del equipo de Elastic, dejando claro que Elastic Cloud es la única solución oficial que provee un servicio gestionado de Elasticsearch.

Fuente Original

Tampoco debió sentar muy bien en Elastic que AWS publicara en marzo de 2019 la primera versión de Open Distro, una distribución de Elasticsearch con licencia Apache 2.0 que proveía de mejoras a nivel de seguridad empresarial, alertas, o SQL, entre otros. Al fin y al cabo, se trataba de una forma de ofertar a sus clientes todas aquellas características Elastic ofertaba a través del modulo de pago X-Pack, su principal fuente de ingresos de la época. Meses después, X-Pack pasaría a ser gratuito, pero no open source.

La guinda del pastel llegó un 4 de septiembre de 2019, con la denuncia impuesta por parte Elastic sobre floragunn GmbH, creadores de Search Guard, un plugin de seguridad para Elasticsearch y Kibana, por supuesto uso ilegal de código propietario. ¿Y que tiene que ver AWS en todo esto? Pues que tanto Open Distro for Elasticsearch from AWS, como Amazon Elasticsearch Service hacen uso de este código basado en Search Guard para proveer algunas de sus funcionalidades.

Elastic License

Tal y como se había anunciado, tanto Elasticsearch como Kibana han sufrido un cambio en el modelo de licenciamiento de su código fuente a partir de la versión 7.11, pasando de Apache 2.0 a Elastic License.

Así, esta licencia permite el derecho libre de usar, modificar, crear trabajos derivados y redistribuir los productos, con tres simples limitaciones:

  • No proporcionar los productos a otros como un servicio gestionados.
  • No eludir la funcionalidad de la clave de licencia ni eliminar / ocultar funciones protegidas por claves de licencia.
  • No eliminar ni ocultar ninguna licencia, derechos de autor u otros avisos.

¿Cómo afecta esto a las miles de organizaciones que emplean estos productos internamente en su operativa de negocio? De ninguna manera, nada cambia para aquellas empresas que hacen uso de las distribuciones estándar tanto de Elasticsearch como de Kibana. Ambos seguirán siendo gratuitos y abiertos, pero no open source.

¿Y quienes son por tanto los afectados por este cambio? Básicamente, aquellas personas y organizaciones que toman Elasticsearch o Kibana, y los venden directamente ya sea de forma embebida o como un servicio gestionado. En otras palabras, AWS.

La patata caliente estaba por tanto en el tejado de Amazon y la respuesta no se ha hecho esperar, con el anuncio del desarrollo de un “truly open source Elasticsearch”. Como no podía ser de otra forma, se ha apresurado a señalar que ni el cambio de licencia de Elastic, ni la decisión de crear su propio fork, supondrán un impacto negativo en el servicio Amazon Elasticsearch Service.

Conclusiones

En conclusión, solo el tiempo dirá cómo afecta a ambas compañías este cambio de rumbo o si alguna de ellas debe acabar dando su brazo a torcer. En lo que a los usuarios se refiere, a corto plazo no debería ser especialmente problemático, pero a medio-largo plazo puede no ser todo de color rosa si las características ofertadas acaban siendo dispares.

En cualquier caso, es una autentica lastima que estos dos titanes no hayan sido capaces de llegar a un acuerdo y trabajar de forma conjunta en un producto único. Esperemos no tener que arrepentirnos de lo que pudo haber sido y nunca fue.

Referencias

Se recomienda encarecidamente leer los siguientes artículos que han servido de base para el escrito:

  1. https://www.elastic.co/blog/licensing-change
  2. https://www.elastic.co/blog/license-change-clarification
  3. https://www.elastic.co/blog/why-license-change-AWS
  4. https://www.elastic.co/pricing/faq/licensing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s