¿Que es eso de GNU/Linux?

Ummmmmm creo que ya lo había escuchado por allí…ummm no….¿Windows?

Que es Linux? Debemos decir GNU/Linux o Linux a secas? Tiene que ver algo con el Software Libre?

Para comprender realmente que es GNU/Linux y todo lo que abarca, nos tenemos que remontar un poco a la historia y comprender el concepto de Software Libre, GNU y Linux. La verdad que “hasta yo” tenia mis dudas respecto a este tema, sin embargo hoy se me ocurrió que posiblemente no solo yo ignoraba la historia del Sistema Operativo que actualmente utilizo, sino que quizá también muchas de las personas que visitan este sitio. Es por ello que a continuación un poco de historia para que comprendamos con claridad porque Linux…digo GNU/Linux es como es.

El Proyecto GNU de Richard Stallman

En los inicios de la informática todo el software era libre. Los ordenadores eran máquinas pesadas y caras que sólo se podían encontrar en las Universidades y centros de investigación. Los programadores mantenían su código abierto y colaboraban entre sí a través de Internet, construida toda ella con software libre. En aquellos años el sistema de referencia era UNIX propiedad de ATT, cuyo código era distribuido libremente a empresas y universidades por un precio simbólico. ATT no podía explotar comercialmente UNIX™ debido a su calidad de monopolio.

Pero muy pronto este sistema de cooperación se vería amenazado. En el 1984 la ley antimonopolio estadounidense obligó a la compañía a dividirse. A partir de ese momento la restricción impuesta dejo de ser efectiva, UNIX comenzó a comercializarse y se cerró su código.

Al mismo tiempo un nuevo mercado comenzaba a tomar forma: la informática doméstica. Los ordenadores se abarataron, se hicieron más ligeros y comenzaron a invadir los hogares. El software comenzó a ser comercializado y las empresas obligaron a sus programadores a firmar acuerdos de no revelación, por los que se comprometían a cerrar el código, y los programas comenzaron a venderse sin facilitar su código fuente.

Esto generó una reacción de rechazo que se hizo patente cuando Richard Matthew Stallman en 1984 decidió iniciar el proyecto de crear un sistema operativo similar a UNIX™, pero con una licencia que permitiese el acceso al código fuente, además de la libre distribución y copia. Para ello hubo de abandonar el laboratorio de Inteligencia Artificial del MIT (Instituto Tecnológico de Massachusetts) en el que había trabajado hasta entonces.

Siguiendo una costumbre muy popular entre los hackers informáticos de la época llamó al proyecto GNU, acrónimo recursivo que significa “GNU is Not Unix“, y cuyo emblema sería un ñú. Para proteger al nuevo sistema se creó la licencia GNU/GPL (Licencia Pública General GNU) y el copyleft (opuesto al copyright), que garantiza la libertad de uso, copia y modificación, y obliga a distribuir el código fuente junto con los binarios.

El proyecto GNU tuvo una gran acogida. Cientos de programadores de todo el mundo se identificaron con su manifiesto fundacional y comenzaron a colaborar y producir componentes del futuro sistema operativo libre. Stallman comenzó a construir gcc, el Compilador GNU para el lenguaje C, verdadera pieza clave en el desarrollo del sistema. En la actualidad gcc, conocido ahora como Colección de Compiladores GNU, ha ampliado su funcionalidad y es capaz de trabajar con 7 lenguajes de programación diferentes.

En 1985 Stallman creó la Free Software Fundation (FSF) para dar cobertura legal al proyecto y canalizar las ayudas económicas. En la actualidad la FSF promueve el desarrollo y uso del software libre, particularmente del sistema operativo GNU, y defiende los derechos de los usuarios a copiar, estudiar, modificar y redistribuir los programas informáticos.

EN 1990 el sistema GNU estaba casi completo pero faltaba un componente esencial: el núcleo (kernel). Sin núcleo no puede haber sistema operativo y aunque se había trabajado en GNU Hurd no se habían conseguido resultados efectivos.


El Kernel Linux y Linus Torvalds

El primer kernel libre y operativo no llegaría hasta la década de los 90.

En 1991 Linus Torvalds un estudiante finlandés de 21 años desarrolló un núcleo compatible con Unix y lo denominó Linux.

Todo comenzó como un proyecto fin de carrera: se trataba de programar un núcleo para sistema operativo inspirado en Minix, un pequeño Unix desarrollado por el profesor Andrew Tanenbaum.

“Estoy haciendo un sistema operativo libre (es sólo un hobby, no será grande ni profesional como GNU) pero funciona en 386(486) AT clones, lo he estado cocinando desde abril y está quedando listo. Quisiera alguna retroalimentación de las cosas que a ustedes les gustan y no les gustan de MINIX, …”

Este sencillo mensaje de Torvalds en un grupo de noticias motivó una avalancha de colaboradores y los frutos no se harían esperar. En enero de 1992 se publicó la versión 0.02, y poco tiempo después, en marzo de 1994 se liberó la versión 1.0.0, ya lista para sistemas en producción. A partir de esta versión al combinar Linux con el sistema no completo GNU resultó un sistema operativo libre completo cuyo nombre correcto es GNU/Linux, y no simplemente Linux por más que esta denominación abreviada se haya popularizado. De esta manera se reconoce explícitamente que el sistema no es sólo el núcleo, sino muchas otra piezas de software que se escribieron con anterioridad sin las que hubiera sido imposible tener algo funcional e incluso construirlo.

En 1996 vería la luz el kernel 2.0.0 ya asociado con la mascota del pingüino (llamada Tux). En la actualidad el kernel Linux está disponible para un gran variedad de arquitecturas y goza de un gran prestigio en la comunidad informática como fiable, sólido y seguro.

El número de versión asociado al núcleo tiene un sentido muy particular ya que está ligado a su desarrollo. En cada momento tenemos siempre dos versiones del núcleo: versión de producción y versión de desarrollo.

Las versiones del kernel se numeran con 3 cifras de la siguiente manera: XX.YY.ZZ, donde: XX: indica la serie principal del kernel. Hasta el momento sólo existe la serie 2. Este número cambia cuando la manera de funcionamiento del kernel ha sufrido una modificación importante. YY: Indica si la versión es de desarrollo o producción. Un número impar indica que es de desarrollo, uno par, que es de producción. ZZ: Indica revisiones menores dentro de una versión en las que se han corregido fallos de programación.

Y por si las dudas, un Resumen para terminar de aclarar conceptos

¿Que es GNU/Linux? Es un sistema operativo, como Windows. Tiene la peculiaridad de que se trata de un sistema de código abierto y libre que se ha desarrollado colectivamente.

¿Que significa que sea de código abierto? Que todo el mundo puede ver las entrañas del sistema. Esto tiene poca importancia para el usuario pero es fundamental para su desarrollo. Cualquier persona con capacidad para ello puede ver dónde están sus errores y solucionarlos.

¿Porque es Libre? Porque cualquiera puede utilizarlo, modificar su código y redistribuirlo cobrando o no.

¿Como ha podido desarrollarse comunitariamente? Gracias a internet ingenieros voluntarios de todo el mundo llevan años coordinandose para repartir el trabajo.

Referencias | Historia GNU/Linux && Ubuntu-es

Deja un comentario