Como introducción, daremos primero una definición de lo que es un Software Libre y decimos que un programa lo podemos considerar, software libre, si las personas que lo van usar, tienen ciertas libertades, con respecto al programa, tales como:
La libertad de usar el programa.
La libertad de usar el programa.
La libertad de estudiar y modificar el código fuente.
La libertad de distribuir el código fuente y binario.
La libertad de distribuir el código fuente y binario.
La libertad de publicar versiones mejoradas del código fuente.
De la definición de Software Libre, podemos concluir que un programa que escribamos en java, es software libre, sin embargo, para ejecutarlo, necesitamos de otros software, como: un compilador, un intérprete y bibliotecas propias de la implementación de Java de Sun, que no son libres, entonces, en la práctica nuestro programa, esta encadenado por sus dependencias no libres, por lo tanto no encadene su programa escrito en Java, que es software libre, a que dependa, para ejecutarlo de otros softwares no libres que ya mencionamos y a esto se conoce como La trampa de Java. Cuando escriba su programa, escríbalo, para que funcione desde el principio sobre software libre.
Como alternativa, tenemos implementaciones libres del java, como el compilador de java CGJ de GNU y CLASSPATH de GNU, pero todavía no tienen todas las funcionalidades, que aun se trata de alcanzar y llevará su tiempo, mientras se sigan creando nuevas bibliotecas no libres a la implementación java por parte de la compañía Sun. Por lo tanto, la manera fiable de evitar la trampa de Java es tener en su sistema solamente una implementación libre de Java (CGJ, CLASSPATH). Así, si usted usa una biblioteca del Java que el software libre todavía no soporta, se dará cuenta en seguida, y podrá reescribir ese código de inmediato usando alguna función equivalente para lograr lo mismo en la implementación libre de java. Para completar esta libertad y no depender de software no libre usar un sistema operativo libre (Sistema GNU/Linux), como plataforma para ejecutar nuestro programa, esto sería lo ideal para un mundo en libertad.
La manera de verificar, si un lenguaje de programación usado para escribir un programa es software libre, se haría consultando los siguientes enlaces:
• Directorio de software libre : http://directory.fsf.org/
Como conclusión. Para que un programa dado sea software libre, depende únicamente de los términos de su licencia. Porque si hablamos de un mundo en libertad, sería, que no solo el programa sea libre, sino también el compilador, el interprete, las bibliotecas que necesite nuestro programa, sean libres, incluso el sistema operativo donde se ejecutará el programa, también libre, lograr este nivel de libertad es un tema más complejo, porque en la práctica, todos los programas siempre dependen de otros programas y el grado de libertad de esos otros programas ya escaparía a nosotros, sólo podremos determinar el grado de libertad de nuestro programa indicados en los términos de su licencia que le demos, por esta razón es que se dice que “Para que un programa dado sea software libre, depende únicamente de los términos de su licencia”.
0 comentarios:
Publicar un comentario