17 de abril de 2008

Sun cerrará partes de MySQL

Sun acaba de crear un revuelo acojonante -y acongojante al mismo tiempo- con unos pequeños cambios que acaba de anunciar para MySQL, conocida empresa que como ustedes saben fue comprada por Sun hace poquito. Resulta que parte de futuras novedades de MySQL -en concreto, algo llamado "online backup", además de otras cosas en el futuro- estarán disponibles solamente bajo licencias privativas en la versión de pago de MySQL. Es decir, que lo que es libre, solo será software libre (gran) parte de MySQL, pero otras partes serán de pago, lo cual obligará a los usuarios que necesiten esas partes a plantearse la adquisición de una o varias licencias.

Puede resultar sorprendente esta decisión de Sun, la empresa que liberó Solaris, que liberó nada menos que Java, que compró y liberó OpenOffice, la gran alternativa al imperio Office. Pero para quienes hemos seguido con cierto escepticismo -y recuerden que ser escéptico es algo bueno, excepto con las mujeres- el acercamiento de Sun al software libre, no nos sorprende para nada. Lo que acaba de hacer Sun con MySQL es exactamente lo mismo que hace con Opensolaris, Openoffice y Java; para todos ellos tiene Sun una versión "comercial" con partes privativas cuyas fuentes no están disponibles al público. ¿Como puede Sun hacer esto, si es software libre y en algunos proyectos incluso están licenciados bajo la GPL? Red Hat, por ejemplo, no puede tener un kernel privativo, la licencia GPL se lo prohibe. ¿Como lo hacen en Sun?

Sun puede hacerlo porque a diferencia de Red Hat posee el copyright de todo. Posee el copyright de todo el código de Opensolaris, de todo Openoffice, de Java...y de MySQL. Al poseer el copyright, puede sacar copias del código bajo la licencia que les apetezca. Pueden sacar una versión privativa de pago, otra GPL, y si quisieran podrían sacar una por cada licencia que existe en el mundo, circunstancia que aprovecha para sacar una gran parte del código bajo licencias libres bajo las que se forman comunidades de desarrolladores, mientras que otra parte del código se publica solamente bajo licencia privativa, como está haciendo con MySQL. ¿Pero como es posible que Sun posea todo el copyright de esos proyectos, si en ellos contribuyen otras personas, ej. Novell y Red Hat en Openoffice?

Es posible porque en todos sus proyectos Sun pide a los contribuidores de código que firmen una cosa que se llama copyright assignment, es decir, que Sun exige que quienes participan en el desarrollo les cedan el copyright a ellos. Novell y Red Hat, por ejemplo, emplean a muchas personas para que mejoren OpenOffice, pero en todo el código que generan Red Hat da permiso a Sun para gestionar su copyright en ese código. En teoría Sun dice que es por comocidad, para facilitar posibles altercados judiciales, etc. En la práctica, el principal uso del copyright assignment es sacar versiones privativas de pago del software. Por supuesto, los colaboradores podrían optar por no ceder el copyright, pero si no lo hacen Sun no acepta las contribuciones de código en openoffice.org/opensolaris.org/java/mysql. Podrían crear un fork del código y establecer una comunidad y un repositorio de código donde no existan las cesiones de copyright, pero por el momento todos han preferido las ventajas de la unidad a la división, a pesar de que resulta totalmente patético que Sun se aproveche del trabajo de Red Hat y Novell de esa manera, y ellos no tengan derecho a hacer lo mismo. Quien más reticencia ha opuesto a este sistema ha sido IBM, que mejoró Openoffice en gran medida para un producto propio, pero se negó a contribuir al código precisamente por la cesión de copyright, aunque hace unos meses puso a 35 programadores chinos a contribuir a openoffice.org.

Sun no es la única que exige cesiones de copyright. Tambien lo exige la FSF para todos sus proyectos y la Apache Foundation. A mi tampoco me gusta, pero la diferencia es que estas dos son fundaciones, y jamás utilizarán tu copyright para sacar versiones privativas con las que lucrarse. Sun, sin embargo, lo hace para lucrarse. Hay una clara diferencia. Y ha quedado pero que muy claro hoy, con estas noticias que recibimos sobre MySQL, pues mientras que openoffice.org, opensolaris y java con MySQL eran privativos y la cesión de copyright era un "mal menor" teniendo en cuenta su liberación, en el caso de MySQL estamos hablando de un ligero movimiento hacia lo privativo. Es decir, Sun no tiende a la libertad a la que estamos acostumbrados en muchos otros sitios, sino a su concepción particular de libertad, que implica poder sacar versiones privativas. Para poder mantener este ecosistema es imprescindible que Sun se erija como centro de las comunidades de software libre, pues la cesión de copyright es un requisito que Sun solo puede exigir en sus repositorios de código, no en los de un hipotético fork competidor. Miren en las noticias y diganme qué oyen decir al CEO de Sun continuamente. Por cierto, no hay que descartar un fork de MySQL. Eso si, no tendría muchas posibilidades de sobrevivir.

Para terminar, recomendarles este enlace. No se mucho de bases de datos, pero todo el mundo (el 99% de los comentarios que veo en cualquier foro de internet) dice que ha mejorado de tal manera en las últimas versiones en todos los sentidos (además de su consabida superioridad técnica en muchos frentes) que considerar MySQL es perder el tiempo. Está licenciado bajo la BSD, lo cual implica que cualquier persona puede hacer lo que hace Sun con su cesión de copyright, pero al menos pueden hacerlos todos, no solo uno. Las reglas están claras, no te toman el pelo.

(Spam: En mi blog de política, El trasvase que no lo es)

4 comentarios:

  1. "Por cierto, no hay que descartar un fork de MySQL. Eso si, no tendría muchas posibilidades de sobrevivir."

    ¿Un fork libre de una comunidad o un fork privativo de Sun? En ambos casos, ¿por qué no tendría posibilidades de sobrevivir?

    ResponderEliminar
  2. gsc: un fork de la comunidad. No tendrá éxito porque la mayoria de contribuidores de mysql están en las oficinas de sun, segun dicen no hay muchos colaboradores de la comunidad por razones históricas. Ningún fork de la comunidad resistiría el ritmo de avance de mysql.

    rrey: dudo bastante de que Sun tenga intenciones de liberar todo lo de java, incluidas las porciones privativas. En cuanto a opensolaris, a día de hoy están haciendo lo mismo que van hacer con mysql.

    ResponderEliminar
  3. Estoy totalmente de acuerdo.

    Que MySQL tuviese una licencia dual, que permitiese su distribución no-GPL me parecía bien, siempre y cuando el código fuese el mismo en las dos versiones. Es un modelo de negocio bastante interesante.

    Que ahora ya tengan partes cerradas que no se incluyan en la versión libre me parece motivo suficiente para pasar mucho de mysql (que se apunte nokia la reacción de la comunidad ante este tipo de acciones, por si decide hacer lo mismo con qt...).

    Lo único malo es que PostgreSQL no está tan difundido como mysql, pero lo estará.

    ResponderEliminar
  4. Anónimo9:46 a. m.

    "Es decir, que lo que es libre, solo será software libre (gran) parte de MySQL, pero otras partes serán de pago, lo cual obligará a los usuarios que necesiten esas partes a plantearse la adquisición de una o varias licencias. "


    ¿Cual es el problema? ¿No es acaso ese el modelo del software libre en el que una empresa da servicios entorno a un producto libre?

    ResponderEliminar