Qué ocurre cuando una empresa quiere comprar un software libre
Ayer nos enteramos que la empresa Atlassian acaba de adquirir BlueJimp. Quizá para muchos, no sepan quién es Atlassian (el creador de herramientas de desarrollo y documentación de software que utilizan, entre otros, Asterisk: issues.asterisk.org, wiki.asterisk.org, etc…) y BlueJimp es la empresa que da cobertura al softphone y aplicación de mensajería instantánea de software libre: Jitsi. Básicamente lo han hecho para dar cobertura WebRTC a una aplicación de Atlassian llamada HipChat, pero como suele ocurrir en estos casos, el miedo a «cerrar» futuros desarrollos de proyectos de software libre, está presente en muchos usuarios.
El interés de Atlassian en la compra de BlueJimp (o la excusa) es: dotar al proyecto HipChat de los desarrolladores WebRTC necesarios para seguir mejorando, incluir soporte de multi-videoconferencia, etc…, aunque de paso, aprovechan para hacerse con los proyectos asociados incluidos los de software libre como Jitsi.
Desde aquí, damos la enhorabuena a Emil Ivov y esperamos que vaya todo muy bien.
No obstante, en el trabajo, hablando con varios compañeros, cada cierto tiempo surge esta duda, generalmente por personas que desconocen cómo funciona el software libre, muchas veces infundadas, otras veces originadas por algún rumor con lo que se nos plantea la pregunta: ¿qué ocurre cuando una empresa quiere comprar un proyecto entero de software libre? Así que vamos a intentar responderla de una vez por todas.
Varias veces me han preguntado ¿Qué pasaría si una empresa compra un proyecto como Asterisk o Elastix?
Para explicar esto, lo primero que aparece por la cabeza son cientos de ideas relacionadas con licencias que seguramente aburrirían al lector, por lo que vamos a centrarnos en conceptos más sencillos de entender.
Un proyecto de software libre tiene un dueño y una licencia. Una vez aparece una versión de ese proyecto y el dueño lo licencia como «libre», se permite que cualquiera pueda distribuir el proyecto, modificarlo y crear distintas versiones (forks) siempre y cuando las distribuya también con la misma licencia libre del original.
El propietario del software tiene la capacidad de cambiar la licencia de las nuevas versiones (no de las que ya ha publicado), por lo que pueden sacar una nueva versión con una licencia «cerrada», de ahí que un proyecto de software libre no se compra ni se venda, si no que directamente compran la empresa propietaria del proyecto para poder cambiar la licencia y empezar a comercializar el proyecto como un software privativo.
No obstante, eso no significa que el proyecto entero se privatice, únicamente las nuevas versiones, quedando las anteriores versiones para seguir el desarrollo, quizá con otro nombre, quizá con nuevas características, pero siempre libre.
Un poco de imaginación…
Si alguna empresa comprase Digium para cerrar Asterisk, siempre podemos utilizar la última versión para crear un fork, con la misma licencia, y distinto nombre, que tendríamos que mantenerla nosotros (ya que los desarrolladores de Digium seguramente trabajarían en una versión «cerrada» de Asterisk con otro nombre), por lo que realmente el problema está en la reducción de personas que desarrollan el proyecto, más que en el software en sí.
Algo así nos tememos que ocurrirá con Jitsi tras la compra, que los desarrolladores se centrarán en otros proyectos a los que sí le sacarán un rendimiento económico mientras que el proyecto Jitsi puede que reduzca
Ejemplos reales
Ejemplos de esos casos existen varios. Uno de los más conocidos fue el de MySQL, creado por la empresa MySQL AB que fue adquirida por SUN y posteriormente por Oracle que tras acabar prácticamente con la versión libre, convirtió MySQL en varias versiones:
- MySQL Community Edition (la actual versión de software libre)
- MySQL Standard Edition (comercial económica)
- MySQL Enterprise Edition (comercial básica)
- MySQL Cluster Carrier Grade (comercial profesional)
La comunidad no tardó en reaccionar y de MySQL salió algún que otro «fork» para mantenerlo libre y poder añadirle características sin que estas tuvieran que pasar por el filtro de Oracle.
Eso sí, eso es posible si hay desarrolladores externos a la empresa fuente (en este caso MySQL AB) que puedan continuar con el proyecto.
Como siempre, recordaros que cualquier comentario, rebate o mejora, los comentarios están abiertos y disponibles para escuchar vuestas opiniones. 🙂