lunes, noviembre 13, 2006

Java es LIBRE


La verdad es que era cuestión de lógica. No solo la estrategia sino la siempre influyente rumorología llevaba semanas anunciándolo a voces. La liberación de Solaris tal vez fuese un experimento para saber por dónde iban los tiros, y le salió bien. Se han licenciado muchas más licencias con OpenSolaris tras su liberación bajo CDDL que anteriormente. Se hizo lo mismo con el procesador UltraSPARC liberando su diseño. Sun apostaba por abrir sus tecnologías... pero Java?

Java era diferente, de hecho Sun siempre dijo que GPL era demasiado libre para su queridísimo producto, y que no quería que hubiese forks y perder el control tecnológico. Pero eran otros tiempos, el CEO de Sun ha cambiado (Jonathan Schwartz) y creo que no ha tardado ni dos meses en tomar la decisión: Java es LIBRE.

Seguro que todavía hay alguno que dice... y a mi que más me da. Allá él. Primero porque se va a perder una interesante estrategia de mercado, y segundo porque se va a perder una batalla técnica de las que hacen época y deberían escribirse en los libros de la historia del Software. Jeje.

Sun ha liberado Java SE, Java ME y Java EE. Los tres paquetes de desarrollo más importantes de la compañía y ahora las consecuencias se van a reflejar en varios ámbitos:


- Técnico: la JDK se ampliará. Seguramente Sun siga llevando el liderato del proyecto que ahora es llamado OpenJDK, pero los colaboradores serán muchos y muy grandes. IBM, BEA, Apache Software Foundation, Eclipse Foundation, JBoss. Sólo con imaginarme un ingeniero de cada empresa colaborando en el diseño de Java se me ponen los pelos de punta. Lo divertido es que podemos jugar a hacer la lista de los Reyes Magos con el futuro de Java. Java3D basada en OpenGL, Swing más portable, rápido y sencillo, soporte en en nucleo de Linux para rutinas Java, etc. Ahora todo es inventar, bajar del subversion, abrir el XCode en MacOS ;-) y a picar. Como curiosidad, también empezaremos a tener acceso a los grandes secretos de Java. Esos de "es más óptimo" ¿un try/catch?, ¿o varios? Y el instanceof? Tendremos acceso al compilador, al generador de bytecode, a la JRE. Todo!
La cosa puede llegar a tal punto, que si Microsoft quisiese, podría hacer un generador de bytecode a partir de su "lenguaje común" de .NET y correr las aplicaciones en una JRE cualquiera. Suena divertidísimo.

- Estratégico: el otro día leía en barrapunto (con todo lo que eso implica) que Linux ganaba la batalla. David gana a dos Goliat: Microsoft firma acuerdos con Novell para no cobrarles las patentes, y Oracle distribuirá y dará soporte a Linux usando una versión de Fedora modificada. ¡Microsoft y Oracle! Sun no podía quedarse atrás y se alía con David. Java GPL significa que en breve será distribuido de serie en todas las distribuciones Linux, hasta las más puristas. Con ello en poco tiempo se convertirá en el estándar de facto en TODOS los ámbitos del software:


  • Web: ¿Quién dijo LAMP? Linux, Tomcat, Eclipse, Linux y.. Java EE! ¿Quién necesita la orientación a objetos de PHP5 teniendo Java?
  • Escritorio: pobre Miguel de Icaza. El creador de Mono (.NET libre para Linux ). Ahora con Java ya no tiene nada que hacer... salvo un compilador que compile para bytecode.
  • Movilidad: la carrera empieza ahora, a ver quien es capaz de hacer la mejor JRE móvil y llevarse a los fabricantes... según tengo entendido los desarrolladores piden una API estándar a gritos.
  • Otros dispositivos: televisión, ¿la máquina virtual hardware? Tal vez podamos por fin instalar la máquina virtual Java para lo que se diseñó: en nuestra cafetera :D


Pero ojo! no todos los distribuidores OpenSource salen ganando, a la pobre Red Hat no solo se le pone el sombrero rojo, también la cara. Le sacuden Oracle (recordemos Oracle se instala sobre Red Hat de manera "oficial" y RedHat saca mucho dinero de ello), Novell se destaca con Microsoft y ahora para colmo su prometedor lenguaje Mono no bajará del árbol porque ya existe un lenguaje mucho más maduro que Mono y también libre para hacer más cosas. Todo mientras Linux triunfa por su cuenta en administraciones públicas y empieza a ponerse de moda también a nivel político.

El fondo es mucho más serio que tener que elegir entre una JDK u otra para nuestro nuevo proyecto, o pensar que tendremos una nueva versión de la JDK cada dos meses. Java pasa a las manos de la gente. Esperemos que para bien. Yo desde luego así lo creo... y lo espero, porque como a vosotros me va el sueldo en ello :-)