16 de noviembre de 2006

¡La liberación del código fuente de Java es una victoria para todos!

En estos últimos 7 días han habido dos noticias de fuerte impacto para los seguidores de las tecnologías libres en Venezuela: el apoyo al Software Libre brindado por el Presidente Hugo Chávez en la inauguración de Cenditel, y el hecho de que Sun Microsystems, creadores de las Tecnologías Java, hayan licenciado dichas tecnologías bajo licencia GNU GPL. En otras palabras, y de ser cierto todo lo que se ha prometido, Java puede considerarse Software libre, cosa que también es apoyada por la Free Software Foundation.

Para quienes no sepan mucho de computación: Java es un entorno que permite que desarrolladores hagan programas de computadora, tales como el que calcula la nómina de su empresa. El creador de Java es la empresa estadounidense Sun Microsystems, quien hace muchos años inició el proyecto liberando Java 1.0 como Software Libre, pero a los seis meses lo volvió propietario.

¿Por qué es tan importante Java?


Gracias en parte a su aparato de mercadeo, Sun Microsystems logró que Java fuera rápidamente acogido a finales de la década pasada y comienzos de esta década en empresas y universidades, a pesar de las deficiencias de las primeras versiones. En esa época Java era lento, torpe, pesado, comía memoria como un demonio, se guindaba a veces y las interfaces gráficas generadas tenían graves defectos de usabilidad. Pero una aplicación hecha en Java podía correr en muchos sistemas operativos (Windows, Macintosh, Linux, Unix y hasta en dispositivos portátiles), y el lenguaje tenía muchas características que lo hacían académicamente muy atractivo.

Hoy, varios años después, Java es el lenguaje que más se enseña en muchas universidades, como la UCV. En muchísimos entes del Estado venezolano, las aplicaciones desarrolladas en los últimos 6 ó 7 años se han hecho en Java. Muchos estamos en desacuerdo con esa omnipresencia. Pero el hecho es que la resistencia contra el Software Libre en muchos entes del Estado se debía a que, para cumplir con el Decreto 3.390, había que buscar soluciones que iban desde cambiar la máquina virtual Java de Sun (algo que no era posible en muchos casos) hasta rehacer las aplicaciones en otros lenguajes, tales como Perl, Python, C++ o similares, lo que implicaba reentrenar a los programadores y rehacer las aplicaciones, un proceso que podría durar hasta 10 años o más en algunos casos.

Al liberar el código fuente de Java bajo licencia GPL, finalizan varios años de confrontaciones internas dentro de Sun al respecto. Dicha empresa era además presionada por las propias comunidades Java y por países como Venezuela, donde requerimientos legales exigen que los programas se hagan en software libre, según el Decreto Presidencial 3.390 emitido en diciembre de 2004.

Decir que Venezuela tuvo su importancia en la decisión de la empresa Sun no es presuntuoso. Recordemos que en septiembre del año pasado la empresa Sun y el Ministerio de Ciencia y Tecnología (MCT) realizaron un evento en torno a Java y el Decreto 3.390, para el cual la transnacional trajo desde Inglaterra a Simon Phipps, jefe del Departamento de Código Abierto de la empresa. ¡Venezuela es tan importante para ellos que decidieron enviar a uno de sus altos ejecutivos para tratar de convencernos!

En aquel entonces, el MCT permitió que un foro que debía tener características académicas se convirtiera en un vulgar evento de mercadeo, con Sun regalando franelas, carpetas y material POP; usando presentaciones multimedia con frases rimbombantes. Pero dos días antes del evento, gente de la comunidad de Software Libre logró que el MCT aceptara una ponencia de ellos en el evento, y allí Ernesto Hernández Novich, José Rey y otros fueron un gran dolor de cabeza para la transnacional.

Sun tuvo que admitir que su implementación de Java era propietaria y no se podía usar bajo el Decreto 3.390, pero recomendó usar cualquier otra de las máquinas virtuales existentes que sí son libres, tales como Kaffe, GCJ, GNU/Classpath, etc. Sin embargo, dejaron en entredicho la esperanza de que Java sería liberado algún día, cosa que los más escépticos -entre quienes me cuento- jamás creímos posible.

Las Comunidades de Software Libre y Java

Extrañamente, aún cuando muchos vemos la nueva posición de Sun como una victoria de las comunidades de Software Libre a nivel mundial, otras personas de la comunidad se sienten derrotadas. Y no deben sentirse así. ¡Es una gran victoria! Logramos que factores dentro de Sun dieran su brazo a torcer.

Muchos miembros de la Comunidad de Software Libre venezolana se han manifestado contrarios al Java de Sun no solo porque era propietario, sino por razones académicas y personales: muchos prefieren otros lenguajes como Perl, Python, PHP o C++.

Pero hay que dejar lo personal a un lado y entender algo: suponiendo que Sun realmente cumpla todo lo que promete, tenemos que aceptar a Java como uno de los lenguajes libres, nos guste o no. Tal y como hemos aceptado a OpenOffice, a PostgreSQL, a Novell Mono y a otras aplicaciones libres que son hechas por empresas privadas.

Y lo digo a pesar de que Sun me desagrada. Pero hay una realidad: en muchos entes del Estado se usa masivamente Java en sus aplicaciones. Por ejemplo:

  • El Tribunal Supremo de Justicia contrató a una empresa española quien tardó unos 4 ó 5 años en desarrollar un sistema informático gigantesco, Juris 2000, que es el que usa dicho ente para su automatización. Está hecho enteramente en Java, corriendo bajo el JDK de Sun.

  • En PDVSA hay que migrar unas 1.200 aplicaciones para que funcionen bajo Software Libre. Cientos de ellas están hechas en Java. ¿Se imaginan el costo tan enorme en tiempo y dinero que supondría el reprogramarlas? La misma historia se ve en otros entes del Estado.

Esto no significa que ya podemos considerar mágicamente convertidas a Software Libre todas esas aplicaciones. Hay que examinarlas por separado y asegurarse de que todos sus componentes sean libres. Hay que colocar en repositorios de acceso al público a aquellas aplicaciones que puedan traer beneficios a la sociedad, ya sea para que puedan ser utilizadas por otros entes del Estado, por otras personas o para que el pueblo venezolano -el que paga los desarrollos- pueda auditarlas.

Y más importante aún: hay que acabar con el individualismo y el egoísmo tan marcado en nuestra forma de ser y de actuar. Los desarrolladores, incluyendo los programadores en Java, debemos acostumbrarnos a trabajar de forma colaborativa, a desarrollar usando exclusivamente aplicaciones libres y estándares abiertos, y a liberar el código fuente de sus aplicaciones siempre que esto no comprometa la seguridad del país.

Antes de darles la bienvenida...

No podemos caer en el error de considerar automáticamente a los miles de desarrolladores Java que hay en las calles como miembros de las comunidades de Software Libre, tal y como tampoco lo hacemos con los desarrolladores de PHP u otros lenguajes. Hay que invitarlos a entrar, pero deben entender que usar Software Libre no implica únicamente usar Linux y Java. Hay mucho más allá: un trasfondo ético, filosófico y legal, que involucra no sólo las cuatro libertades de Stallman, sino la necesidad de beneficiar a tu vecino y a la sociedad con tu trabajo.

Como se verá, el trabajo en torno al Software Libre no radica únicamente en lo técnico, sino en lo ideológico y lo social. ¡Bienvenida Sun! Ojalá no nos abandones, como lo hiciste aquella vez, hace tanto tiempo, cuando liberaste el código de la primera versión de Java y luego lo volviste a cerrar.
Publicar un comentario