MongoDB es una de las bases de datos NoSQL más populares del mundo, utilizada por grandes empresas tanto internamente como parte de su oferta tecnológica, esto es, integrada en los servicios que ofrecen, muy especialmente en el segmento de la nube. Lo cual supone que la mayor parte del beneficio que genera para los redistribuidores, no llega a la compañía que desarrolla el software. Un problema que han intentado solucionar con cambios en su licencia con los que nadie está tragando.
La última en sumarse al desplante ha sido Red Hat, que ya ha dado la orden de eliminar MongoDB de los repositorios de Fedora y lo mismo para la inminente Red Hat Enterprise Linux 8, cuya versión final está a punto de lanzarse. Las reacciones no se han hecho esperar, pues «una vez que RHEL elimina algo por defecto, otra distribución de Linux lo sigue. Los valores por defecto desempeñan un papel muy importante en los ecosistemas de Linux. Cuando systemd se conviertió en predeterminado, el resto de init murió. MongoDB también va a sufrir«, comentan desde nixCraft (un conocido portal de tutoriales) en su cuenta de Twitter.
Pero Red Hat no es la única organización que ha dado el paso. En Debian ya lo tenían decidido desde hace tiempo y con toda probabilidad se trasladará a Ubuntu. Mientras tanto, gigantes de la nube como Amazon han ido más allá, retirando a MongoDB y facilitando su propia solución compatible con esta, además de completamente cerrada. Algo que no ha gustado nada a los creadores de MongoDB, sobra decir.
Todo esto sucede por el cambio de licencia de la base de datos, diseñado específicamente para forzar a las compañías que hacen negocio con ella a pasar por caja, adquiriendo alguno de los planes comerciales que ofrecen, o a plegarse a los nuevos términos, que van más lejos de lo nunca visto. Según lo explican en ZDNet, «la objeción específica es que SSPL [la nueva licencia] requiere, si se ofrecen servicios bajo su licencia, que se debe liberar todos los programas que se usen para que el software esté disponible como un servicio».
Ni la GPL v3, denostada por muchos proyectos a causa de las obligaciones que plantea, llega a tanto. Para MongoDB no es necesario que se trata de un desarrollo derivado para exigir la liberación del software: con que se utilice en la misma estructura del servicio, la licencia es explícita. Lo cual es una locura que por ahora nadie compra. Porque no es una licencia compatible con el código abierto, según los expertos. En MongoDB han intentado que la Open Source Initiative (OSI) la apruebe, sin conseguirlo. Y ya están redactando una segunda versión, visto el rechazo causado. Pero parece que ni por esas.
Esta historia, como es obvio, lleva ya camino recorrido. El pasado noviembre nos hicimos eco de un movimiento que es mucho más amplio de lo que representa MongoDB y que se entiende por los nuevos desafíos que plantea la nube para el código abierto, que no es otro que el ingente beneficio que generan los grandes proveedores de servicios en la nube con muchas tecnologías abiertas. «Cada vez que un nuevo proyecto de código abierto se vuelve popular, los proveedores de nube eliminan la tecnología, ponen el software gratuito en su plataforma, capturan la mayor parte del valor, pero le dan muy poco a la comunidad«, decía entonces el CEO de MongoDB.
«Comprendo el razonamiento detrás de la decisión de MongoDB de cambiar a la SSPL. Sin duda puede ser frustrante ver a los grandes proveedores de servicios en la nube beneficiarse mucho más de los proyectos populares de código abierto que los contribuyentes que desarrollan y mantienen estos proyectos«, empatiza uno de los ingenieros de EnterpriseDB, compañía especializada en PostgresSQL.
El problema para MongoDB, sin embargo, es que para ser consideradas como código abierto, las licencia están sujetas a unas formas que la SSPL no cumple. «OSI no le impide utilizar ninguna licencia. Simplemente no lo llames Open Source«, señala el experto Bruce Perens. Ahora falta por ver el siguiente movimiento de MongoDB, si deciden resistir o reconducen la situación para recuperar el favor perdido.