Software Libre

40 años del proyecto GNU: un camino hacia la libertad

Caracas, 27/09/2023 (Gemelli Czarnik).- Tal día como hoy, pero del año 1983, se anunció al mundo la creación del proyecto GNU; una fascinante aventura que se propuso crear un sistema operativo que los usuarios pudieran copiar, estudiar, modificar y distribuir libremente sin consecuencias legales.

 Todo comenzó en 1970, durante esa década, el sistema operativo “no libre” o privativo más popular entre los reducidos usuarios académicos e industriales de la época se llamaba UNIX. Su portabilidad descomunal y su arquitectura simple que demostraba ser técnicamente estable, le garantizaba el mayor de los éxitos.

 

En 1971 el físico y programador estadounidense Richard Stallman formaba parte del Laboratorio de Inteligencia Artificial (AI Lab) del Instituto Tecnológico de Massachusetts (MIT); una comunidad que compartía software bajo el control de sus usuarios.

 

 Fue precisamente en el AI Lab que una década antes se había diseñado el Incompatible Timesharing System (ITS), un revolucionario sistema operativo que influyó en el desarrollo posterior de tecnologías libres.

 

 Originalmente, el ITS había sido desarrollado para la computadora Digital Equipment Corporation PDP-6, y después se migró a PDP-10; uno de las máquinas más grandes en ese entonces. Sin embargo, la situación cambió drásticamente a principios de los años 80 cuando la comunidad comenzó a desintegrarse tras la desaparición del computador PDP-10.

 

GNU no es Unix”

 

En 1981, la empresa pionera Symbolics contrató a casi todos los hackers del AI Lab para que desarrollaran software privativo, reemplazando así al viejo software del MIT. Stallman, por su parte, atrapado en un panorama desfavorable y acostumbrado a modificar y compartir tales programas en extinción, decidió crear un sistema operativo compatible con UNIX, un software que había logrado una buena acogida en el campo universitario e incluso gubernamental por su portabilidad.

 

Aunque Stallman basó su sistema operativo en UNIX no empleó su código. De esta diferencia -y siguiendo una tradición de los hackers- surgió el nombre GNU; un acrónimo recursivo de “GNU’s Not Unix” (GNU no es Unix).

 

Fue entonces cuando el 27 de septiembre de 1983, Richard Stallman anuncio a través de Usenet (una red de usuarios donde se podían leer o enviar mensajes a distintos grupos de noticias) la creación del proyecto GNU.

 

El surgimiento del proyecto GNU revolucionó el campo de la programación. Al anuncio hecho por Stallman le siguieron numerosos escritos que desarrollaban las motivaciones para desarrollar este sistema operativo; entre ellos, el Manifiesto GNU, en el que destaca la necesidad de "volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadores".

 

Las libertades: Ejecutar, estudiar, modificar y distribuir

 

Para Stallman, GNU debía ofrecer a sus usuarios no solo la libertad de ejecutar el programa, sino de modificarlo para ajustarlo a sus necesidades; así como la libertad de redistribuir copias -bien sea de forma gratuita o a cambio del pago- pero también las versiones modificadas; de tal forma que la comunidad podría aprovechar las mejoras introducidas a través de la cooperación.

 

En enero de 1984, Stallman renunció a su empleo en el MIT para que la institución no dificultara la distribución de GNU como software libre ya que, de haber continuado como parte del personal, el MIT habría podido reclamar la titularidad de la obra e imponer sus propios términos de distribución, o incluso convertirla en un paquete de software privativo. Stallman no tenía ninguna intención de hacer un trabajo enorme para después comprobar que resultaba inútil para lograr su objetivo: crear una nueva comunidad para compartir software.

 

Para asegurar que el software GNU permaneciera libre para todos sus usuarios independientemente de los distribuidores e intermediarios, el proyecto debía ser publicado bajo una licencia de derechos de autor diseñada para ofrecer las libertades, al mismo tiempo que prohibiera añadir restricciones posteriores. La idea se conoce como copyleft y está representada en la Licencia General Pública de GNU (GNU GPL), entre otras.

 

 El copyleft hace uso de la ley de copyright, pero le da la vuelta de modo que sirva para la finalidad contraria a la habitual: en vez de ser una herramienta para restringir un programa, se transforma en un medio para preservarlo como software libre.

 

La idea central del copyleft es otorgarle a todos el permiso para ejecutar el programa, copiarlo, modificarlo y redistribuir versiones modificadas, pero no le da permiso para añadirle restricciones por su cuenta. De esta manera, las libertades fundamentales que definen el software libre quedan garantizadas para todo aquel que posea una copia transformándolas en derechos inalienables.

 

A medida que avanzaba más el proyecto, se necesitaban recaudar fondos, por eso en 1985 Richard Stallman creó la Free Software Foundation (FSF), una organización sin ánimo de lucro exenta de impuestos que proporciona soportes logístico, legal y financiero al proyecto.

 

La FSF contrató programadores para contribuir a GNU, aunque una porción sustancial del desarrollo es producida por voluntarios. A medida que GNU ganaba renombre, aparecían empresas interesadas que comenzaron a contribuir al desarrollo o comercialización de productos GNU y el correspondiente soporte técnico. Uno de los proveedores más prominetes fue Cygnus Solutions, que ahora es parte de la reconocida multinacional Red Hat.

 

En búsqueda de un kernel: GNU/Linux

 

El hecho de que el proyecto sea compatible con la arquitectura de UNIX implica que GNU esté compuesto de pequeñas piezas individuales, algunas de las cuales ya estaban disponibles libremente, como el sistema tipográfico TeX y el sistema gráfico X Window que se pudieron adaptar y reutilizar. Muchos otros, en cambio, tuvieron que ser desarrollados desde cero para luego poder ofrecerse libremente.

 

Ya en 1990 el proyecto GNU había completado la reescritura del bien conocido editor de texto Emacs, la creación del compilador GCC, del intérprete de comandos Shell Bash y la mayor parte de las bibliotecas y utilidades que componen un sistema operativo UNIX típico. Estos gozaron de adopción y éxito inmediato, pero faltaba un componente clave: el kernel (núcleo).

 

Stallman había mencionado que existía un núcleo inicial, pero que se necesitaban muchos otros programas para emular UNIX. El núcleo al que se refería era TRIX, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido. TRIX era totalmente compatible con UNIX versión 7.

 

Ya en diciembre de 1986 se habían registrado avances para modificar este núcleo. Sin embargo, los programadores decidieron que no era inicialmente utilizable, debido a que solamente funcionaba en "algunos equipos sumamente complicados y caros", razón por la cual debería ser portado a otras arquitecturas antes de que se pudiera utilizar.

 

En 1998 finalmente, se utilizó como base el micronúcleo Mach, desarrollado en la Universidad Carnegie Mellon y luego en la Universidad de Utah. Al principio, el núcleo recibió el nombre de Alix (así se llamaba una novia de Stallman), pero por decisión del programador Michael Bushnell, se cambió a Hurd.

 

Por razones técnicas y conflictos entre los programadores, el desarrollo de Hurd se retrasó enormemente y no vio la luz de la usabilidad sino hasta mediados de la década del 2000. Afortunadamente, la gente no tuvo que esperar hasta entonces por un sistema completo y funcional; otros núcleos ya habían acaparado la atención de los programadores y alcanzado mayor madurez.

 

Uno de esos casos fue el de Linus Torvalds; un estudiante universitario que en 1991 programó un núcleo compatible con UNIX y lo denominó Linux. Al principio era privativo, pero en 1992 lo convirtió en software libre. La combinación de Linux con el sistema GNU -que aún no estaba completamente terminado- dio como resultado un sistema operativo libre completo. A esta versión se le denomina GNU/Linux, para reflejar la integración del sistema operativo GNU con el kernel Linux.

 

Actualmente, es frecuente hallar componentes de GNU instalados en otros sistemas operativos privativos. Esto se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes para UNIX.

 

El recorrido que inició hace 40 años no ha estado libre de escollos; ya lo advertí el propio Stallman: “El futuro del software libre es incierto, afrontarlo requerirá constante esfuerzo y empeño, a veces durante años”. No obstante, la recompensa es de un valor incalculable en un mundo marcado por las tasas de ganancia y no por la apropiación social del conocimiento. “Se necesita mucha determinación”-dice Stallman- “como la que demuestran quienes valoran su libertad y no permiten que nadie se la arrebate”.

 

logo youtube
logo twitter
logo instagram
2020 CNTI. Portal desarrollado y administrado por el Centro Nacional de Tecnologías de Información, adscrito al Ministerio del Poder Popular para Ciencia y Tecnología. Esta obra está bajo una Licencia de Creative Commons Reconocimiento - No Comercial - Compartir Igual 3.0 Venezuela.
Cintillo PortalCNTI Cintillo Carabobo 01