ALGO DE HISTORIA
QUE ES EL SOFTWARE LIBRE..
. Mantenemos esta definición de software libre para mostrar claramente qué debe cumplir un programa de software concreto para que se le considere software libre. El ``Software Libre'' es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en ``libre'' como en ``libertad de expresión'', no como en ``cerveza gratis'' [N. del T.: en inglés una misma palabra (free) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión]. Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos. También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular.
``Software libre'' no significa ``no comercial''. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante.
Es aceptable que haya reglas acerca de cómo empaquetar una versión modificada, siempre que no bloqueen a consecuencia de ello tu libertad de publicar versiones modificadas. Reglas como ``Si haces disponible el programa de esta manera, debes hacerlo disponible también de esta otra'' pueden ser igualmente aceptables, bajo la misma condición. (Observa que una regla así todavía te deja decidir si publicar o no el programa). También es aceptable que la licencia requiera que, si has distribuido una version modificada y el desarrollador anterior te pide una copia de ella, debas enviársela.
LIBRE PERO ENCADENADO - A LA TRAMPA DE JAVA...
. Si su programa es software libre, básicamente es ético--pero hay una trampa de la que debe estar alerta. Su programa, aunque en sí mismo libre, puede estar limitado por software no libre del que dependa. A día de hoy este problema es notable, sobre todo, en los programas en Java, por lo que lo llamamos «la trampa de Java».
Un programa es software libre si sus usuarios tienen ciertas libertades esenciales. Sin entrar en detalles, éstas son: la libertad de usar el programa, la libertad de estudiar y modificar el código fuente, la libertad de distribuir el código y los binarios, y la libertad de publicar versiones mejoradas (vea http://www.gnu.org/philosophy/free-sw.es.html). Que un programa dado sea software libre, depende únicamente de los términos de su licencia.
Si el programa se puede usar en el Mundo Libre, por la gente que quiere vivir en libertad, es una pregunta más compleja. Esto no lo determina la propia licencia del programa, porque ningún programa funciona aislado. Todos los programas dependen de otros programas. Por ejemplo, un programa necesita ser compilado o interpretado, así que depende de un compilador o un intérprete. Si es compilado a byte code, depende de un intérprete de byte code. Además, necesita bibliotecas para ejecutarse, y también puede invocar a otros programas aparte que se ejecutan en otros procesos. Todos estos programas son dependencias. Las dependencias pueden ser necesarias para que el programa pueda ejecutarse, o pueden ser necesarias solamente para ciertas funcionalidades. En cualquier caso, todo o parte del programa no puede funcionar sin las dependencias.
Si algunas de las dependencias de un programa no son libres, entonces todo o parte del programa no se puede ejecutar en un sistema completamente libre--es inusable en el Mundo Libre. Ciertamente podemos distribuir el programa y tener copias en nuestras máquinas, pero eso no sirve de mucho si no podemos ejecutarlo. El programa es software libre, pero en la práctica está encadenado por sus dependencias no libres.
Este problema puede suceder en cualquier tipo de software, en cualquier lenguaje. Por ejemplo, un programa libre que solamente funcione sobre Microsoft Windows es claramente inusable en el Mundo Libre. Pero el software que funciona sobre GNU/Linux también puede ser inútil si depende de otro software no libre. En el pasado, Motif (antes de que tuviéramos LessTif) y Qt (antes de que sus desarrolladores lo hicieran software libre) fueron importantes causas de este problema. La mayoría de las tarjetas gráficas 3D solamente funcionan a pleno rendimiento con controladores no libres, que también originan este problema. Pero hoy, la mayor fuente de este problema es Java, porque la gente que escribe software libre a menudo sienten que Java es sexy. Cegados por su atracción hacia el lenguaje, descuidan el asunto de las dependencias, y caen en la trampa de Java.
QUE ES GNU/Linux...
. GNU/LINUX (más conocido como Linux, simplemente) es un sistema operativo, compatible Unix.
Dos características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado: la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente.
El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas y librerias que hacen posible su utilización.
Linux se distribuye bajo la Licencia Pública General GNU (GPL), por lo tanto, el código fuente tiene que estar siempre accesible.
El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, en 1991.
Linus, por aquel entonces un estudiante de informática de la Universidad de Helsinki, empezó (como proyecto de fin de carrera y sin poder imaginar en lo que se llegaría convertir) a programar las primeras líneas de código de este sistema operativo llamado LINUX.