Java ya es oficialmente una plataforma libre y abierta
RedHat ha anunciado que su implementación de Java basada en OpenJDK ha pasado completamente los tests de conformidad con las especificaciones de Java SE6. Se trata de un paso importante en la apertura real de Java como plataforma para el desarrollo de software libre que no dependa de código privativo.
La versión de OpenJDK que los principales distribuidores de sistemas operativos Linux instala por defecto no es compatible totalmente con Java, debido a los problemas que todavía lastra el proyecto de SUN respecto a componentes privativos que aún no han sido reemplazados en el proyecto por alternativas libres.

SUN anunció en Mayo de 2006 la intención de liberar la plataforma Java (SE6 y SE7) bajo licencia libre GPL. Se comenzó a publicar partes del código en Noviembre de ese mismo año, que incluían el compilador y la máquina virtual. El compromismo era que para la primera mitad de 2007 existiera una versión libre de Java compilable.
Esto suponía que alrededor de seis millones y medio de lineas de código serían donadas a la comunidad y sobre ellas el resto de desarrolladores podría trabajar para mejorar, redistribuir y hacer evolucionar la plataforma sin limitaciones.
En mayo de 2007 SUN publicó el código fuente de la biblioteca de clases de Java y así nació el proyecto OpenJDK. Únicamente faltaba por publicar código fuente de componentes de Java de terceros de los que SUN no poseía los derechos y que suponían menos de un 5% del total. El primer objetivo del proyecto debía ser, por tanto, desarrollar alternativas libres a esas partes privativas que no se podían publicar como software libre.
OpenJDK es una comunidad de desarrollo liderada por SUN en la que cada contribución realizada por desarrolladores externos es revisasda por ingenieros de la compañía antes de su inclusión en el proyecto oficial.
RedHat lanzaba su proyecto IcedTea en Noviembre de 2007, basado en OpenJDK, que pretendía sustituir las partes necesarias reutilizando cógido de un proyecto que llevaba muchos años intentando implementar la biblioteca de clases de Java, GNU Classpath. Además, RedHat firmaba el acuerdo de contribuidor oficial de OpenJDK con el objetivo de implementar una plataforma Java libre completa en sus sistemas RedHat Enterprise Linux.
Este acuerdo hacia que RedHat licenciara de forma oficial el kit de compatibilidad de SUN (OpenJDK Community TCK License Agreement) que le daba acceso a la suite de tests de compatibilidad con Java SE6, necesaria para el desarrollo de una implementación compatible con el estándar.
En mayo de 2008, OpenJDK ya había sido incluido de serie como entorno Java por defecto tanto en Ubuntu 8.04 como en Fedora 9 pero no pasaba los tests de compatibilidad con Java SE6, debido a que faltaban las alternativas a los componentes cerrados que aún no habían sido desarrollados.
Os preguntareis por qué importa que se pasen o no esos tests. Cuando SUN liberó Java lo hizo teniendo en cuenta dos problemas: los forks y la compatibilidad entre implementaciones. Para asegurar que no hubiera forks eligió una licencia copyleft como la GPL que por un lado obliga a publicar el código fuente y por otro permite reutilizar el código de los demás sin ningún problema.
En el caso de la compatibilidad es necesario que las implementaciones cumplan esos requisitos para poderse denominar con el nombre «Java» y certificar de esa forma que son compatibles de verdad con todo el software desarrollado sobre la plataforma, que recordemos, debe implementar un estándar definido por el Java Community Process.

El hecho de que RedHat haya desarrollado una implementación libre totalmente compatible con las especificaciones de Java SE6 supone un hito importantísimo en la historia de la plataforma. La idea de la compañía es incluir de serie OpenJDK en la próxima versión 5.3 de su Redhat Enterprise Linux.
A partir de este objetivo conseguido el esfuerzo en el desarrollo sobre su implementación de Java se centrará en varios frentes: mejorar Java corriendo en entornos virtualizados, optimizar el rendimiento de JBoss, desarrollar de forma sincronizada mejoras en Java y JBoss para que ambos se beneficien del proceso y mejorar el nivel de soporte de RedHat a los usuarios de JBoss.
Comentarios.
Sin duda una de las mejores noticias para el mundo de la programación de los últimos años, si se llega a cumplir, y se garantiza la compatibilidad.
@Stallmike: ya está disponible en Fedora 9 esta versión que cumple la especificación y SUN ha prometido por su parte que su versión "oficial" será totalmente libre antes de que termine el año
Escribe tu comentario
Si quieres dejar un comentario Inicia sesión o Registrate
