El rey Midas a la inversa

+1
0
-1

Cuenta la fábula que todo lo que tocaba el Rey Midas lo convertía en oro, y con ello terminó transformado su vida en mierda. Así en el mundo del software libre tenemos hoy nuestra versión inversa del Rey Midas. Porque todo lo que toca lo convierte en mierda y al final, de esa porquería han surgido cosas nuevas de gran valor.

Oracle adquirió hace tiempo a Sun Microsystems, propietaria – patrocinadora de al menos tres proyectos cruciales de software libre: La suite de oficina OpenOffice, el gestor de bases de datos MySQL y el lenguaje de programación Java y toda su plataforma operacional.

Lo primero que convirtió en suciedad fue la suite de oficina. OpenOffice estuvo a un tris de pasar al olvido, pero gracias al valor y la dedicación de los miembros de su comunidad, dio origen al LibreOffice, y posteriormente, tras donar el código a la Fundación Apache, a una renovada OpenOffice. Esto sin contar la motivación que la comunidad detrás de Caligra seguramente tuvo para así revivir un proyecto estancado como ya lo era la suite KOffice.

En cuanto a Java, también vivió sus momentos de crisis, incluso fuertes y públicos enfrentamientos con la Fundación Apache, que han llevado a Oracle a un punto más moderado en este aspecto. De cualquier forma hay tantas implementaciones de Java, que todo quedó en un aguacero sin llegar a la tempestad.

Desde hace meses comenzaron a prenderse los focos rojos en cuanto a la situación de MySQL. La primera voz de alarma surgió desde el proyecto MariaDB, creado por el fundador original de MySQL, desde entonces la situación se ha degradado en forma continua.

Lo primero es que hay que entender es que el propio fundador de MySQL es en gran medida responsable de la situación actual. Desde un inicio el asunto de las licencias de MySQL ha sido, por decirlo en forma amable, un mar de confusión. A diferencia de lo que la mayoría creé, MySQL nunca ha sido completamente libre, ni completamente gratuita. Todo depende de como se use, como se distribuya y si se gana o no dinero con su uso.

Esta es la razón por la que cualquier programa que usa como base de datos MySQL no puede incluirla directamente en sus instalables, y es entonces responsabilidad del usuario final el descargarla (o adquirirla) y configurarla. Si bien en GNU / Linux este es el procedimiento habitual (aunque no siempre) no lo es así en otros sistemas operativos.

Pese al enredoso tema de las licencias de MySQL, este gestor terminó por convertirse en el estándar de facto para los sitios de Internet. MySQL no es el gestor más potente ni mucho menos, tampoco es el que mejor rendimiento tiene, pero sí es el mas sencillo de administrar y el más conocido.

Ahora Oracle ha decidido deshacerse del enredo de las licencias (al menos en parte) y ha separado a MySQL en dos ramas: La libre (?) ahora llamada Community Edition, y la Privativa Enterpise Edition.

Cría fama y échate a dormir reza el dicho, y ahora sí la alarma ha corrido como pólvora ardiente ya que estos cambios si afectan en realidad a las distribuciones GNU / Linux, no en el escritorio, donde por más que nos duela la importancia de las distribuciones en marginal, sino en los servidores, especialmente los dedicados a la Internet, donde el modelo LAMP (Linux, Apache, MySQL, PHP) es dominante.

Y ha comenzado la migración a MariaDB, ya son varias las distribuciones que han decidido sacar a MySQL de sus repositorios para sustituirla con su fork. Hasta ahora el anuncio más importante ha sido dado por Slackware, que aunque es relativamente poco usado por el usuario de escritorio, no lo es así en los servidores, donde es uno de los sistemas operativos más respetado de todos. Yo conozco varios manager IT que solamente confían en Slackware para los puntos mas cruciales de su operación, incluso sé de casos donde dentro de un servidor Slackware conviven virtualizados servidores Red-Hat, W$, Debian e incluso Ubuntu. No por nada Slackware es una de las 3 distribuciones madre, la mas Unix de todas las distribuciones Linux.

Esto seguramente terminará en forma similar a lo ocurrido con el OpenOffice, la inmensa mayoría de las distros terminarán por cambiarse a MariaDB, ya que tiene dos características muy importantes: es 100% compatible (hasta ahora) con MySQL y ahora sí, sus licencias son 100% libres. Al final Oracle habrá conseguido al 100% lo que muchos analistas consideraron el propósito principal de la compra de Sun: Sacar a MySQL de la jugada. De igual manera habrá fracasado rotundamente al intentar sustituirla por sus propios productos comerciales.

Al final Oracle es nuestro Anti Rey Midas, afortunadamente lo que ha convertido en mierda, la comunidad lo ha vuelto en oro de ley.

Una última reflexión, existen otros excelentes desarrollos de gestores de bases de datos, mas capaces y 100% libres como son PostgreSQL y Firebird. ¿No deberíamos aprender la lección y entender que eso de poner todos lo huevos en una sola canasta es demasiado riesgoso?

Comentarios

Imagen de Goyo

No hay ningún enredo de licencias. MySQL siempre se ha publicado con la GPL y se puede usar igual que cualquier otro programa GPL. La GPL es una licencia 100% libre.

Imagen de gato2707

Pero como desarrollador de BD conozco, y no de ahora sino desde hace muchos años, bastante bien el sistema de licencias de MySQL. Y esta es la principal razón por la que nunca jamas he recomendado MySQL ni lo he usado directamente.

Por ejemplo (antes, ahora no he leído las nuevas licencias de la Community Edition) si tu desarrollabas un programa, un front-end por ejemplo, que basara sus datos en MySQL, y además lo comercializabas (ojo sin importar que modelo de licencia) y además incluías el servidor MySQL como parte de tu producto. Entonces contravenías las licencias de MySQL y en consecuencia tenías que pagar por cada copia vendida el precio del servidor: que por cierto nunca era claro.

Así en cada caso en particular debías negociar con MySQL el monto a pagar.

Caso muy distinto y habitual a lo que se puede hacer por ejemplo con SQLite o Firebird, ¿O acaso supones que el muy extendido uso de SQLite como servidor embebido en innumerables programas y plataformas es fortuito? Y lo mismo ocurre con el servidor embebido de Firebird. Esto entre otras condicionantes.

Entonces MySQL usaba (o usa?) una licencia GPL condicionada al uso del producto, lo que en resumidas cuentas es una versión alterada de la GPL.

La GPL no dice nada de tener que pagar, lo que dice es que un producto derivado (y un programa que la use no lo es) debe de ser también GPL.

Existen en la Red muchas tablas comparativas de las principales BD, ahí podrás encontrar mas detalles.

Por falta de interés yo prácticamente no he conservado este tipo de referencias, de cualquier modo conservé una la cual pongo a tu disposición (y de cualquiera por supuesto).

https://mega.co.nz/#!8ggiRYia!Di5aPAsMaMHiSYpgLrg77EPcjxEs3RDVp73o3npcreM

Por eso decía yo que es un hecho poco conocido. Pero podrías hacerte una pregunta sencilla ¿Por qué razón Sun pagó 1000 millones de dólares por MySQL?

Otro producto muy conocido que tiene un modelo muy similar es el VirtualBox, sí también fue adquirido por Sun y ahora es de Oracle, Claro que ahí siempre ha sido bien claro que se trata de software privativo, aunque existe una versión libre (VirtualBox OSE).

Yo recuerdo que alguna vez me escribiste que tu forma de cuestionar es porque "así eres", muy bien, pero dame alguna vez algo de crédito. :)

Saludos desde México
Mi Web: El Gato con Linux

Imagen de Gabriel_M

MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.
MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios.

Imagen de gato2707

aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso.

Solamente que hay que cambiar que no es necesariamente referido a productos privativos, se refiere a productos comerciales.

Ahora que si en la práctica casi no hay productos GPL comerciales, eso ya es harina de otro costal.

Saludos desde México
Mi Web: El Gato con Linux

Imagen de Goyo

Solamente que hay que cambiar que no es necesariamente referido a productos privativos, se refiere a productos comerciales.

Hay productos comerciales que incorporan MySQL y no tienen una licencia comercial, como los medios de instalación que venden muchas distros (incluyendo Debian y RedHat).

No soy capaz de encontrar ninguna referencia de que MySQL no se pueda usar en productos GPL comerciales. La web de MySQL, el archivo copyright en los paquetes de Debian y Ubuntu y los encabezados de los archivos con el código fuente publicados por Oracle/Sun/MySQL AB coinciden en que el software se puede usar en las condiciones de la GPL estándar(*). Creo que no debes ofenderte si te digo que me cuesta trabajo darte a ti más crédito que a todas estas fuentes juntas.

(*) Más una excepción que permite derivados libres que no sean estrictamente GPL, más otras opciones adicionales de licenciamiento. Pero estas cosas añaden más usos posibles, no restringen los que ya están permitidos por la GPL.

PS. También habría que cambiar "se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia" por algo como "se ofrece bajo la GNU GPL para algunos usos compatibles con esta licencia" o algo así?

Imagen de gato2707

Creo que ya encontraste tu respuesta.

Lo que es una pena, es que siendo que mi entrada de blog estaba dirigida a exponer las dulzuras de Oracle, se transformó por un ligero malentendido de licenciamiento en otra cosa.

Mucho me gustaría leer alguno de tus afilados comentarios acerca de como la comunidad se ha mostrado más robusta que la enorme Oracle, o quizá rebatiendo mi tesis que hay que dejar un poco de lado a MySQL y su fork para darle mayor oportunidad a otros proyectos. :)

Saludos desde México
Mi Web: El Gato con Linux

Imagen de Goyo

MySQL es software libre y afirmar lo contrario es para mí algo más que un ligero malentendido.

Sobre lo demás no tengo gran cosa que decir. Hasta donde sé las dulzuras de Oracle con respecto a MySQL se resumen en que hay indicios de que el desarrollo de la Community Edition (el MySQL libre del que hablo) podría quedar estancado o muy ralentizado. Yo no sé hasta qué punto es así o no, en todo caso me gusta ver que las iniciativas que no están guiadas por intereses corporativos (o al menos no por los de una única corporación) se muestren fuertes. Pero no es más que una preferencia mía. Me parece que la ODF lo está haciendo muy bien y tal vez aquí también podamos asistir a un bonito espectáculo, aunque la situación es muy distinta.

La tesis de que conviene dejar un poco de lado MySQL / MariaDB no la puedo rebatir porque siempre me ha parecido que se usa demasiado. Aunque las alternativas están ahí para quien quiera usarlas y hay quien lo hace con buenos resultados. Entiendo poco del asunto de todas formas.

¿Ves? Solo son puntos de vista personales sobre cosas que no conozco bien.

Imagen de Gabriel_M

Algunas cosas que están permitidas bajo la licencia GPL:

    La licencia GPL  permite manejar un negocio con fines de lucro usando MySQL.
    La licencia GPL permite modificar el código fuente de MySQL en la forma que desee.
    La licencia GPL  permite vender y distribuir MySQL.
    La licencia GPL  permite redistribuir las modificaciones de MySQL.

Y no es necesario pedirle permiso a nadie, ni pagarle a nadie por el derecho a hacer esto.
Por ejemplo, si se vende o se redistribuye software, hay que hacerlo bajo la licencia GPL también. No se puede despojar a la parte GPL o gravar el software y luego pasar a una versión menos libre del software para los demás.

Algunas cosas que la licencia GPL no requiere:

    La licencia GPL no  obliga a redistribuir las modificaciones de MySQL.
    La licencia GPL no requiere de una licencia GPL del software que simplemente se conecta a MySQL.
    La licencia GPL no requiere que todo el software en la empresa también sea GPL.

Es necesario comprar una licencia comercial de MySQL para las cosas que la licencia GPL no permite:

    Es necesaria una licencia comercial si desea modificar MySQL y redistribuir el resultado como software no libre.
    Es necesaria una licencia comercial si desea incorporar MySQL dentro de un programa no libre.

Para estas cosas que no están permitidas por la licencia GPL, es necesario comprar el derecho de usar el código fuente de MySQL bajo una licencia no GPL.

Imagen de Chma

muchas gracias por el artículo, he aprendido muchas cosas que, aunque algo de idea tenía, me las has clarificado. Muy bien explicado.

Gracias por la lección