El futuro de MySql

Como comentaba en el post anterior, la compra de Sun por parte de Oracle ha levantado alarmas sobre el futuro de MySQL, una de las bases de datos más utilizadas (si no la-más-utilizada) en el mundo del desarrollo web, fundamentalmente por su carácter de software libre — sin ir más lejos, cientos de CMS como WordPress, Joomla o Drupal la utilizan de forma preferente o exclusiva, por lo que la posibilidad de que Oracle decidiera detener su desarrollo para favorecer sus propios sistemas de bases de datos (propietarios y de pago) se presenta para algunos como una amenaza real al futuro de sus aplicaciones.

Pero… ¿existen verdaderamente razones para estas preocupaciones? Creo que no, y es más, creo que temer por el futuro de MySQL es no entender las ventajas del software libre, o peor aún, pensar que “software libre = software gratis”… Habría que agregar también que es en puntos como este donde se aprecia la diferencia práctica entre el código abierto y el software libre: a pesar de las diferentes concepciones que podríamos encontrar al respecto (por ejemplo, la definición “oficial” de código abierto, de la Open Source Initiative se parece más bien a una definición de software libre), podríamos reducir didáctica e ilustrativamente su diferencia al hecho de que en su sentido más básico, “código abierto” hace referencia al simple hecho de que es posible ver el código fuente de un programa. En este sentido, cualquier programa escrito en un lenguaje interpretado (PHP, Perl, Python, Ruby [on Rails]) distribuido públicamente caería en la definición de “código abierto” (a menos que por alguna razón “especial” su autor decidiera ofuscar el código).

Un ejemplo de lo anterior podría ser Movable Type, que en lo fundamental siempre ha sido de “código abierto”: el programa es puro código fuente interpretado, pero hasta hace poco no existía la libertad de distribuir una versión modificada, la que existe sólo a partir de su licenciamiento con la GPL. Es entonces cuando las cuatro libertades para usuarios de software cobran sentido: no se trata de una razones puramente filosóficas o políticas (aunque también lo es) ni de una posición utópica o radical (como si ello fuera algo malo)… software libre no es lo mismo que código abierto.

¿Y qué tiene que ver esto con MySQL? Que justamente, su carácter de software libre asegura un futuro protegido: si Oracle decide detener su desarrollo, cualquier grupo de desarrollo podrá tomar la última versión publicada bajo la GPL y continuar el desarrollo, creando un fork… con otro nombre (si Oracle decide proteger su marca), con nuevas metas, con otras personas participando; agregando nuevas características o simplemente mejorando su seguridad y rendimiento o con cualquier otro plan de desarrollo.

No es una posibilidad utópica: ha pasado un montón de veces y seguirá pasando. Ubuntu es un fork de Debian, WordPress es un fork de b2, Webkit es un fork de KHTML e incluso el sistema operativo de Apple, Mac OS X es un fork de Nextstep, que a su vez es un fork de BSD (que es una variante de UNIX).

¿Y si Oracle no detiene el desarrollo de MySQL sino que lo transforma en un producto de software libre de pago? Está dentro de sus libertades, mientras siga publicando su código fuente. Y esto tampoco sería el peor de los escenarios: del mismo modo, cualquier grupo podría dedicarse a distribuir ejecutables compilados a partir del código fuente, y en este caso también hay referentes —CentOS es una distribución de GNU/Linux compilada a partir del código fuente liberado por Red Hat, una distribución comercial de Linux (y una de las de mayor tradición).

De cualquier modo, los primeros pasos para asegurar el futuro de MySQL ya se han dado: uno de los creadores de esta base de datos ha anunciado la creación de la Open Database Alliance para coordinar el desarrollo colaborativo en torno a MySQL.

Y los más paranoicos se alegrarán de saber que ya existen un par de fork’s totalmente compatibles con MySQL y que fácilmente podría convertirse en su sucesor: MariaDB, una rama de MySQL desarrollada en comunidad que mantendrá la compatibilidad con los nuevos lanzamientos de MySQL, y Drizzle, un fork modular basado en MySQL 6.0 y desarrollado por los propios ingenieros de MySQL (ahora SUN) … y quién sabe, si Oracle decide finalmente jubilar a MySQL, quizás podríamos tener un sucesor que no sea solamente una copia sino una nueva y mejor base de datos.

Oracle compra Sun

El anuncio se realizo el día de hoy. De acuerdo a los comunicados de prensa de SUN y de Oracle (en inglés) anunciando el movimiento.

Después de que las conversaciones de adquisición con IBM no se concretaron, Oracle, en una movida sorpresa, llegó a un acuerdo para comprar Sun por 7.400 millones de dólares.

Según su comunicados el motivo más importante recae en dos de las propiedades más valiosas de Sun: Java y Solaris.

La Junta Directiva de Sun aprobó la compra de forma unánime, se hará efectiva en verano después de que los accionistas y el gobierno estadounidense den su aprobación.

Recordemos también que Sun compró MySQL hace un poco más de un año, lo cual significa que ahora pasa a ser controlado por Oracle.

Lo realmente procupante de esta operación es el futuro de MySQL como el manejador de bases de datos estandard de aplicaciones web y hasta hace poco de ERPS y aplicaciones de misión critica. Es por muchos conocido que muchas empresas empezaron a migrar sus aplicaciones de misión critica y core bussines a MySQL. Esto obedecía principalmente a la situación económica, a el hecho de que MySQL tenia ahora el motor transaccional innodb que le permitía cumplir con los estandares de ACID (ACID compliant) y por supuesto a que en manos de SUN podrías obtener un buen contrato de soporte 24 x 7 365 y en tu idioma. Muchos pensamos que estos factores mostraban a MySQL como un producto bien madurado y por evolución natural lo colocaría en una posición de líder indiscutible en la industria de los RDBMS.

Sin embargo en mi muy particular punto de vista, es una movida muy conveniente para Oracle, ya que la mayoría de las aplicaciones de Oracle están desarrolladas en Java. Por lo que ahora sera capaz de ofrecer soluciones completas (Hardware, Software y Tupperware), usando sus recién adquiridos; los míticos servidores T con procesadores Sparc, el sistema operativo Solaris, BEA Web logic como application server y por supuesto Oracle 10g como RDBMS, lo que dejaría a MySQL y a Glassfish fuera del esquema principal de negocio y por supuesto, muy probablemente dejaran de recibir soporte en algún tiempo.

Y pensando en que Oracle no ha figurado por ser una empresa cercana al open source, al menos a la comunidad que lo conforma, entonces nos queda pensar que el impacto para los productos (al menos los que compiten con su catalogo actual), seria negativo

Si esto sucede seria una verdadera lastima y el impacto para la red puede ser muy fuerte ya que MySql esta instalado en la gran mayoría de los web servers en el mundo y por supuesto el hecho de que el acuñado termino LAMPP perderia la «M». Me han contactado ya muchos miembros de la comunidad open source y algunos tienen ya la idea muy clara de que debemos empezar a buscar un reemplazo digno. Algunos ya están probando Firebird, otros de hecho están pensando en formar ya un nuevo proyecto en que se incluya código de Postgresql y Firebird y hacer un nuevo RBDMS incluyendo alguno de los motores opensource ya existentes que tenga soporte de ACID .

Afortunada o desafortunadamente no sabemos que rumbo vaya a tomar Oracle al respecto pero para algunos es ya un hecho que se acerca la muerte de MySQL como standard de la comunidad Open Source, algunos incluso lo piensan de ese modo – según sus palabras «No trabajaría con el de nuevo si pertenece a ORACLE.»

LAMPP Training – Curso MYSQL

Tenemos dos fechas tentativas para iniciar el curso, el 9 ó 16 de Mayo de 2009 depende del número de interesados. Mínimo 5 personas.

Revisa la encuesta en la parte inferior de la barra lateral para saber que fecha prefieres de inicio del curso.

La idea es impartir todo el training LAMP (Linux, Apache, MySQL y PHP) continuando el impulso al Open Source.

El temario propuesto para MySQL es:

I.- Introducción

  • Historia MySQL.
  • Acerca de GNU/GPL
  • Definición de SQL.
  • Principales características.
  • Herramientas Gráficas.

II.- Trabajando con MySQL

  • Introducción.
  • Conectándose y desconectándose al servidor MySQL.
  • Privilegios de usuarios.
  • Ejecutando algunas consultas.
  • Creando y usando una base de datos.
  • Creando una tabla.
  • Cargando datos en una tabla.
  • Recuperando información de una tabla.
  • Ordenando registros.
  • Cálculos con fechas.
  • Trabajando con valores nulos.
  • Coincidencia de patrones.
  • Conteo de filas.
  • Usando más de una tabla.
  • Usando mysql en modo batch.

III.- MySQL CLI

  • Acceso a un servidor MySQL y administración de la base de datos por línea de comandos.
  • Conectar con el servidor MySQL.
  • Dentro de la consola de MySQL.
  • Otras Sentencias SQL.
  • Para salir de la línea de comandos de MySQL.
  • Información acerca de las bases de datos y las tablas.
  • Tipos de conexiones.

Duración:

6 sesiones, sábados de 09:00 a 13:00 hrs.

Ubicación:

Atizapán de Zaragoza, Estado de México. Se envía croquis por correo electrónico al recibir la confirmación.

El costo por persona es de $ 2,000.

50% en la primera sesión y 50% en la penúltima.

Para cualquier duda o aclaración escribe un comentario en este post.