Java libre: el camino recorrido y por recorrer.

Publicado el 9 de agosto de 2007

En noviembre de 2006, Sun Microsystems anuncia su compromiso de distribuir su plataforma propietaria Java bajo la licencia GPLv2. Pero a pesar de que Sun ha aportado muchísimo a la comunidad del software libre, el camino recorrido ha sido largo. Y Java no siempre fue libre. A continuación una reseña histórica basada en escritos de Richard Stallman, Sun, y la Free Software Foundation(FSF).

En abril de 2004, Richard Stallman, presidente y fundador de la FSF, escribía sobre la “Java Trap” (Trampa Java).
“Si tu programa es software libre, es básicamente ético – pero hay una trampa de la que debes tener cuidado.”

Un programa es libre si cuenta con ciertas libertades cruciales que a grandes rasgos serían: libertad de ejecutar el programa, estudiarlo, cambiar el código fuente, y publicar versiones modificadas. Ahora, si el programa puede ser usado en el Mundo Libre, como se refiere él, por gente que pretende vivir en libertad, es una cuestión más compleja.

Como ningún programa funciona aislado, ésto no depende solo de la licencia del programa. Cada programa depende de su compilador o intérprete, necesita librerías, e incluso invoca programas o procesos externos. Todos esos programas se denominan “Dependencias”. Las dependencias pueden ser necesitadas para ejecutar el programa, ó solamente para determinadas acciones.

Si una de las dependencias de dicho programa no es libre, implica que parte del programa no puede correr en un sistema totalmente libre. Es inútil en el Mundo Libre. El programa es software libre, pero está afectado por sus dependencias no libres.

En la época, los desarrolladores de software libre tendían a utilizar Java para sus desarrollos. Como dice el propio Stallman: “Cegados por su atracción al lenguaje, ignoran el asunto de las dependencias, y caen en la Trampa de Java“.

Ya que la implementación de Java de Sun no era libre, la FSF desarrolló el GNU Compiler for Java (GCJ) y GNU Classpath, implementaciones libres para Java. De ésta forma, usando las herramientas libres que brinda la FSF, podían desarrollar programas en Java totalmente libres. Sun continuaba desarrollando bibliotecas Java “standard” adicionales, y prácticamente todas no-libres.

Y por su lado, Richard Stallman invitaba a los programadores a seguir desarrollando software totalmente libre con dichas implementaciones. Justificaba que para esas fechas, ya se contaba con un sistema operativo libre muy poderoso, además de diversas herramientas para programar. La razón por la cual los programadores caían en la Trampa de Java, era la ignorancia, y la solución más simple: enseñar.

Dos años más tarde, Stallman escribía sobre un “curioso incidente de Sun en la noche“. Un rumor se esparció en la comunidad de Software Libre que decía que Sun había hecho de Java Software Libre (código abierto). Sin embargo, la implementación seguía siendo software privativo. No llegaba a ser Software Libre, sino que se acercaba al concepto de código abierto. Su código estaba disponible bajo NDA.

Lo que hizo Sun fue permitir la redistribución de los binarios de la plataforma Java de forma más conveniente. Con éste cambio, las distribuciones GNU/Linux podían incluir la plataforma no-libre Sun de Java. Pero pagando el costo de no ser libres.

Mirando fijamente el anuncio de Sun, escribía, podía leerse que solamente predecía que la plataforma estaría “ampliamente disponible”” en “plataformas open source líderes”.
“Disponibles, sí, como software privativo, en términos que niegan tu libertad”.
Como detalle, al finalizar el artículo, escribía:
“Algunos creen que éste no-incidente representa los pasos exploratorios de Sun hacia eventualmente lanzar su plataforma Java como software libre. Esperemos que Sun haga eso algún día. Eso sería bienvenido, pero deberíamos guardar nuestra apreciación para el día en que actualmente ocurra. Mientras tanto, la Java Trap sigue yaciendo esperando por el trabajo de programadores que no toman las precauciones para evitarla.”

Java TrapBOSTON, MA — Miércoles, 15 de Noviembre, 2006 — La Free Software Foundation (FSF) le da la bienvenida al compromiso público asumido por Sun Microsystems de distribuir su plataforma propietaria Java bajo la GNU General Public License (GPL)– la licencia de software libre más usada del mundo.

Stallman declara: “Creo que Sun ha contribuido más que cualquier otra compañía a la comunidad del software libre en forma de software. Muestra liderazgo. Es un ejemplo que espero otros seguirán.”
Sun comenzó lanzando código de varios componentes de Java bajo la GPL, y se comprometió a seguir lanzando más en el futuro. Algunas clases de la plataforma habían sido escritas por terceros, por lo que se dificultaba la implementación de la Licencia Libre, ya que dichas clases debían ser re-escritas.

Así, Sun comenzó a desarmar la Java Trap, convirtiéndola en una valiosa fundación para el futuro desarrollo de software libre.

Del sitio de Sun:
“Sun es ahora el mayor contribuyente a la comunidad open-source. Sun ya ha lanzado implementaciones open-source de su Sistema Operativo Solaris, NetBeans, Project Looking Glass, Project JXTA, Jini, OpenOffice, OpenSPARC, y las tecnologías Java EE” (…) “Agregando una segunda licencia GPLv2 a Java EE, la cual se encontraba anteriormente bajo la licencia CDDL a través de Project Glassfish, Sun está abriendo todo el núcleo de tecnologías Java bajo la misma licencia.”

A través de esta movida, Sun está ayudando a:
* Alimentar la innovación y construcción de comunidades más amplias de desarrolladores permitiendo a los programadores interesados en Java, así como desarrolladores de la comunidad GNU/Linux, aportar más fácilmente a la evolución de la tecnología Java.
* Conducir una evolución más rápida de la plataforma Java y la adopción de nuevos desarrolladores y en nuevos mercados mientras asegura la calidad y flexibilidad de la plataforma.
* Permitir a los 5 millones de desarrolladores Java en el mundo mejoras en la plataforma y acelerar el tiempo para mercadear nuevas aplicaciones.
Sun lanza:
Open-Source Java SE, Open-Source Java ME, Nuevas Comunidades de Desarrolladores OpenJDK Community y Mobile & Embedded Community.

El camino hacia JDK 7: Java 7, lanzado con licencia GPL. Para ésto, la comunidad de Java.net creó una nueva columna, una guía para lo nuevo, qué está pasando, y cómo funciona todo. Para eso llamaron al autor de “Java in a Nutshell” David Flanagan, quien de forma “leíble para humanos” va a escribir regularmente.

La columna, The Open Road, pretende cubrir todo el desarrollo del Java 7 abierto. Ya está disponible la primer entrega, donde se analizan los proyectos OpenJDK y JDK7 y sus procesos, cambios, novedades, etc.

No hay duda que la “liberación” de Java es un aporte muy grande para la comunidad del Software Libre, y además va a ayudar de manera exponencial a su evolución. Así que hay que estar atentos al crecimiento de Java en los próximos tiempos, y la evolución de Java 7.

Fuentes:
http://sun.com/opensource/java
http://www.fsf.org/news/fsf-welcomes-gpl-java.html
http://www.gnu.org/philosophy/sun-in-night-time.html
http://www.gnu.org/philosophy/java-trap.html

Otros links interesantes:
http://weblogs.java.net/
http://today.java.net/pub/ct/10

6 comentarios en este post

Feed de comentarios
  1. Unknown Java libre: el camino recorrido y por recorrer. - Noticias externas | 11 agosto. 2007 - 03:20

    […] En noviembre de 2006, Sun Microsystems anuncia su compromiso de distribuir su plataforma propietaria Java bajo la licencia GPLv2. Pero a pesar de que Sun ha aportado muchísimo a la comunidad del software libre, el camino recorrido ha sido largo. Y Java no siempre fue libre. A continuación una reseña histórica basada en escritos de Richard Stallman, Sun, y la Free Software Foundation(FSF).» noticia original […]

  2. WordPress Picando Código » Blog Archive » Java cumple un año siendo libre | 13 noviembre. 2007 - 17:31

    […] te puede interesar: Java libre – El camino recorrido y por recorrer Imprimir este […]

Dejar un comentario

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.

Toasty!