El crecimiento del software open source es imparable. Y con él los problemas de su sostenibilidad o lo que es lo mismo: todo el mundo está muy contento de utilizar software open source pero muy pocos están dispuestos a contribuir a su mejora y evolución.

Hasta ahora el problema era conocido (y grave, por ejemplo nosotros proponemos el uso de bots para aliviar la situación) pero pervivía un cierto “buenrollismo” en la comunidad. Se asumía que cada uno a su manera intentaba ayudar en lo que podía. Y eso incluía también a grandes empresas que, aparte de ser grandes consumidores de software open source, también contribuían con sus propios proyectos.

Y digo hasta ahora porque Amazon parece que ha sido el primero en romper la baraja. Como parte de su modelo de negocio cada vez ofrecen más servicios que, básicamente, consisten en coger un proyecto open source y venderlo en versión “as a Service”.  Por ejemplo,  Amazon ElastiCache for Redis  es un “Redis as a Service”, Amazon DocumentDB es “compatible” con MongoDB Atlas, y ElasticSearch Service la versión Amazon de ElasticSearch. Estas iniciativas han tenido un impacto económico claramente negativo en las empresas que hasta ahora ofrecían servicios similares, muchas veces las empresas que fundaron y liberaron el software correspondiente en primer lugar. Y que ahora ven como Amazon se “aprovecha” de su esfuerzo.

Que quede claro que Amazon no ha hecho nada ilegal. Bajo las licencias open source tiene todo el derecho del mundo a empaquetar el software open source y venderlo como servicio. Lo que pasa es que parte de la comunidad open source considera que, aún siendo legal, Amazon ha tenido un comportamiento poco ético ya que se beneficia de unos productos en lo que no ha contribuido. Faltaría más, Amazon tiene una visión bastante diferente y defiende su rol en estos proyectos y sus acciones como una manera de proteger el software en sí y sus usuarios.

Pero lo peor estaba por llegar. Lo que podría haber sido una simple batalla comercial ha acabado en una guerra de licencias. Varias de las empresas afectadas han reaccionado creando nuevas licencias “casi” open source que te permiten hacer lo que quieras con el software (la parte “open source” de la licencia) excepto venderlo tal cual (la parte “no open source”). Técnicamente hablando, no son licencias open source, aunque se parecen mucho. Buscan evitar que alguien coja el producto open source y lo venda sin añadir ningún valor añadido. Sigue siendo posible vender extensiones o adaptaciones del software siempre y cuando esa diferencia sea substancial. A veces se conocen como licencias de “código disponible” más que de “código abierto”.

Licencias (casi) open source: puedes hacer lo que quieras mi software mientras no te llames Amazon Click To Tweet

Las más conocidas entre estas nuevas licencias son:

  • Commons Clause, promovida por un conjunto de empresas (incluyendo inicialmente a Redis) para protegerse de los cloud providers. Se define como una extensión a la licencia Apache2 que restringe la posibilidad de vender el software sin modificaciones substanciales.
  • Redis Source Available License, una nueva licencia de Redis que intenta clarificar la confusión que se generó al aplicar la licencia Commons Clause a sus módulos.
  • Server side public license, la respuesta de MongoDB. En este caso, más que restringir la venta, la licencia obliga a que se libere como open source toda infrastructura que empaquete MongoDB en su Stack y venda ese “paquete” como servicio.
  • Confluent community license, similar a las dos primeras, no permite ofrecer el producto como servicio.

Como veis, todas siguen el mismo principio de intentar evitar que alguien que no sea la empresa creadora del proyecto se beneficie del mismo sin aportar nada a cambio. Aunque se comprende la intención detrás de estos cambios de licencia, mucha gente de la comunidad open source piensa que ha sido peor el remedio que la enfermedad. Al final perdemos todos. Si ya era complicado entender los múltiples tipos de licencias open source, ahora todavía más. Y además, se fragmenta el ecosistema open source (Amazon, por ejemplo, no puede utilizar las versiones nuevas de software que usan estas licencias y tiene que evolucionarlos por separado a partir de una versión anterior al cambio de licencia) y los recursos disponibles que ahora hay que repartirlos entre los proyectos originales y las varias forks que se han generado, limitando la innovación del software y complicando aún más si se puede su sostenibilidad.