El proyecto GNU es un proyecto colaborativo de software libre con el objetivo de crear un sistema operativo completamente libre: el sistema GNU. Fue anunciado por Richard Stallman el 27 de septiembre de 1983. Su objetivo es brindar a los usuarios de computadoras libertad y control en el uso de sus dispositivos informáticos mediante el desarrollo y la publicación colaborativos de software que otorga a todas las personas los derechos para ejecutar libremente el software, copiarlo y distribuirlo, estudiarlo y modificarlo. El software GNU otorga esos derechos en su licencia.
Para garantizar que todo el software de una computadora otorgue a sus usuarios todos los derechos de libertad (usar, compartir, estudiar, modificar), incluso la parte más fundamental e importante, el sistema operativo (incluidos todos sus numerosos programas de utilidades) necesita ser software libre. Según su manifiesto, el objetivo fundacional del proyecto es construir un sistema operativo libre y, si es posible, «todas las utilidades que habitualmente acompañan a un sistema Unix para que se pueda prescindir de cualquier software que no sea libre». Stallman decidió llamar a este sistema operativo GNU (un acrónimo recursivo que significa «¡GNU no es Unix!»), basando su diseño en el de Unix, un sistema operativo propietario. El desarrollo se inició en enero de 1984. En 1991, apareció el kernel de Linux, desarrollado fuera del proyecto GNU por Linus Torvalds, y en diciembre de 1992 estuvo disponible en la versión 2 de la Licencia Pública General GNU. Combinado con las utilidades del sistema operativo ya desarrolladas por el proyecto GNU, permitió el primer sistema operativo que era software libre, comúnmente conocido como Linux.
El trabajo del proyecto incluye el desarrollo de software, la creación de conciencia, campañas políticas y el intercambio de material nuevo.
En la década de 1970 UNIX era un sistema operativo no libre o privativo muy popular entre los reducidos usuarios académicos e industriales de la época. Se le atribuye su éxito a su portabilidad, a su arquitectura relativamente simple que ha demostrado ser técnicamente estable; y a las viejas prácticas liberales de distribución de software aunadas a regulaciones antimonopolio, que obligaron durante un tiempo a su propietario AT&T a ofrecer el código gratuitamente a diversas instituciones.
Mientras tanto Stallman venía de una tradición de programadores completamente distinta en los laboratorios del MIT, donde se usaban otros sistemas operativos autóctonos bajo el control de sus usuarios, como el Incompatible Timesharing System. Hacia principios de la década de 1980 la comunidad hacker del MIT se desmoronaba junto con sus sistemas. Muchos miembros partieron para desarrollar software privativo para compañías como Symbolics, y la nueva ola iba reemplazando el viejo software del MIT que quedaba atrapado en las arquitecturas de hardware. Habiéndose acostumbrado a modificar y compartir tales programas en extinción; Stallman asegura que el desarrollo de un sistema operativo libre moderno y portátil (y con ese el lanzamiento del movimiento del software libre) fue una reacción contra lo que de otra manera le parecía un futuro desagradable rodeado de software privativo. Así el sistema GNU fue diseñado para ser totalmente compatible con UNIX; aprovechando tanto el diseño modular y portable como sus usuarios.
El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias Usenet. Al anuncio original siguieron otros ensayos escritos por Richard Stallman como el «Manifiesto GNU«, que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca «volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de ordenadores». La programación comenzó en 1984.
Stallman se había sentido decepcionado cuando al ofrecer sus programas libres a Symbolics, no eran aceptados. Dentro de sus anuncios del proyecto GNU, Stallman habla por primera vez de la idea de evitar ofrecer sus nuevos programas bajo el completo dominio público. 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.
En 1985, Stallman creó la Free Software Foundation (FSF o Fundación para el Software Libre) que proporciona soportes logístico, legal y financiero al proyecto GNU. La FSF también 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. El más prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.
El hecho de ser 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. Para 1990 el proyecto GNU ya había completado la rescritura del bien conocido editor de texto Emacs, la creación del compilador GCC, del intérprete de comandos o shell Bash, y la mayor parte de las bibliotecas y utilidades que componen un sistema operativo UNIX típico. Esos gozaron de adopción y éxito inmediato, pero faltaba un componente clave: el núcleo (kernel en inglés).
En el manifiesto GNU, Stallman menciona que «un núcleo inicial existe, pero se necesitan muchos otros programas para emular Unix». Se refería a TRIX, que es un núcleo de llamadas remotas a procedimientos, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido; TRIX era totalmente compatible con UNIX versión 7. En diciembre de 1986 ya se había trabajado para modificar ese 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. Finalmente, en 1988, se decidió utilizar como base el micronúcleo Mach desarrollado en la CMU. Inicialmente, 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. Dando comienzo a la programación a inicios de 1990. Desafortunadamente, debido a razones técnicas y conflictos entre los programadores originales el desarrollo de Hurd se retrasó enormemente. Hurd no vio la luz de la usabilidad sino hasta mediados de la década de años 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.
Armado con las herramientas de GNU, en 1991 el entonces estudiante universitario finlandés Linus Torvalds empezó a escribir el núcleo Linux inspirado en el sistema operativo Minix creado por el profesor de ciencias de computación estadounidense Andrew Tanenbaum. En sus primeros anuncios públicos, Torvalds le atribuía su acción a la frustración de no poder usar Minix comercialmente, y a la ausencia de núcleos libres tipo Unix como GNU Hurd; o el de BSD, descendiente de Unix que para entonces se encontraba purgando el código privativo original de AT&T y defendiéndose legalmente del mismo. A pesar de sus desacuerdos suscitados a raíz de la publicación de Linux, tanto Torvalds como Tanenbaum pronosticaban que el superior núcleo de GNU finalmente dejaría obsoletos a Linux y Minix.
En 1992 Torvalds decidió cambiar la licencia no comercial de Linux a la GPL. Rápidamente, múltiples programadores se unieron al desarrollo, colaborando a través de Internet y consiguiendo que paulatinamente Linux fuera más serio, potente y compatible con UNIX. Linux fue combinado con el resto del sistema GNU, resultando un sistema operativo libre y completamente funcional en continua evolución hoy en día. La combinación es conocida como «GNU/Linux» o como una «distribución Linux» y existen diversas variantes.
También es frecuente hallar componentes de GNU instalados en un sistema BSD o un UNIX no libre, en lugar de los programas originales para UNIX. Eso se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes de UNIX. A menudo, esos componentes se conocen colectivamente como «herramientas GNU». Muchos de los programas GNU han sido también portados a otros sistemas operativos como Microsoft Windows y Mac OS X.
El Manifiesto GNU fue escrito por Richard Stallman para obtener apoyo y participación en el Proyecto GNU. En el Manifiesto GNU, Stallman enumera cuatro libertades esenciales para los usuarios de software:
- La libertad de ejecutar el programa para cualquier propósito (libertad 0).
- La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que quieras (libertad 1). El acceso al código fuente es una condición necesaria para ello.
- La libertad de redistribuir copias para ayudar a tu prójimo (libertad 2).
- La libertad de distribuir copias de tus versiones modificadas a terceros (libertad 3). Eso permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.
Para implementar esas libertades, los usuarios necesitaban acceso completo al código. Para garantizar que el código siga siendo libre y suministrarlo al público, Stallman creó la Licencia pública general GNU (GPL), que permite que el software y las futuras generaciones de código derivadas de él continúen siendo libres para uso público.
Referencias
- Proyecto GNU. https://es.wikipedia.org/wiki/Proyecto_GNU