El proyecto GNU cumple 43 años desde que Richard Stallman anunció en septiembre de 1983 su intención de crear un sistema operativo libre compatible con Unix. El proyecto no llegó a completar su propio núcleo en el momento previsto, pero sus herramientas, bibliotecas y licencias acabaron formando una parte esencial de la historia del software libre y, junto al núcleo Linux, dieron lugar al ecosistema GNU/Linux.
Las claves de GNU y Linux en 20 segundos
- GNU nació en 1983 con el objetivo de crear un sistema operativo completamente libre.
- GCC, Emacs, Bash y otras herramientas GNU se convirtieron en piezas ampliamente utilizadas.
- La GPL estableció un modelo de licencia basado en las libertades de uso, estudio, modificación y distribución.
- Linux apareció en 1991 y aportó el núcleo que GNU necesitaba para completar un sistema operativo funcional.
- La combinación de ambos proyectos dio origen a GNU/Linux y a una parte importante de la infraestructura informática actual.
La historia de GNU suele quedar escondida detrás de la popularidad de Linux. Sin embargo, cuando un ordenador arranca una distribución GNU/Linux, detrás hay mucho más que un núcleo. Compiladores, bibliotecas, comandos, herramientas de administración y otros componentes proceden de décadas de desarrollo del proyecto GNU y de otros proyectos de software libre.
La iniciativa comenzó en 1983, cuando Stallman trabajaba en el Massachusetts Institute of Technology (MIT). El nombre GNU corresponde a GNU’s Not Unix, un acrónimo recursivo que expresaba la intención de crear un sistema compatible con Unix, pero desarrollado bajo los principios del software libre.
Uno de los episodios que forma parte de la historia del nacimiento de GNU está relacionado con una impresora utilizada en el MIT. Stallman quería modificar el controlador para conseguir que avisara cuando terminara un trabajo, pero no pudo acceder al código fuente porque el fabricante no se lo proporcionó. Aquella experiencia reforzó su convicción de que los usuarios debían poder estudiar y modificar los programas que utilizaban.
Las cuatro libertades que están detrás de GNU
El proyecto GNU no planteó únicamente una alternativa técnica. También definió unas condiciones sobre lo que los usuarios debían poder hacer con el software.
La Libertad 0 permite ejecutar un programa para cualquier propósito. La Libertad 1 permite estudiar su funcionamiento y modificarlo. La Libertad 2 permite redistribuir copias y la Libertad 3 permite distribuir versiones modificadas.
Estas cuatro libertades son la base de la definición de software libre utilizada por la Free Software Foundation (FSF), organización fundada por Stallman en 1985.
Ese mismo año, Stallman publicó el Manifiesto GNU, donde explicó los objetivos del proyecto. La iniciativa necesitaba crear desde cero buena parte de las herramientas que compondrían su sistema operativo.
El desarrollo avanzó en varias áreas. En 1987 comenzó el desarrollo de GCC (GNU Compiler Collection), que se convertiría en uno de los compiladores más utilizados en el mundo del software libre. También crecieron proyectos como Emacs, Bash y las utilidades básicas de GNU.
El gran problema fue el núcleo del sistema.
GNU Hurd y la pieza que tardó más en llegar
GNU necesitaba su propio kernel y el proyecto comenzó a desarrollar GNU Hurd. Su arquitectura basada en microkernels planteó dificultades técnicas que hicieron que su desarrollo avanzara mucho más lentamente que el resto del proyecto.
Mientras GNU acumulaba herramientas y aplicaciones, el sistema seguía sin disponer de un núcleo ampliamente utilizable para completar el objetivo original.
En 1991 apareció una alternativa que no formaba parte inicialmente del proyecto GNU. Linus Torvalds comenzó a desarrollar Linux, un núcleo que posteriormente se combinaría con las herramientas GNU.
El resultado fue un sistema operativo funcional construido con el núcleo Linux y una gran cantidad de componentes procedentes de GNU. De ahí procede el término GNU/Linux, aunque gran parte de los usuarios y distribuciones utilizan simplemente la denominación Linux.
Los hitos que conectan GNU y Linux
La evolución de ambos proyectos permite entender por qué sus historias están tan relacionadas.
| Año | GNU | Linux |
|---|---|---|
| 1983 | Richard Stallman anuncia el proyecto GNU. | — |
| 1985 | Se funda la Free Software Foundation y se publica el Manifiesto GNU. | — |
| 1987 | Comienza el desarrollo de GCC. | — |
| 1989 | Se publica la primera versión de la GNU GPL. | — |
| 1990 | GNU dispone de buena parte de sus herramientas, aunque el núcleo sigue pendiente. | — |
| 1991 | El proyecto GNU continúa desarrollando Hurd. | Linus Torvalds anuncia y desarrolla el núcleo Linux. |
| 1992 | Las herramientas GNU comienzan a utilizarse junto con Linux. | Linux pasa a distribuirse bajo la GPL. |
| Década de 1990 | GCC, Bash, Emacs y otras herramientas se extienden junto a diferentes sistemas. | Linux se integra con las herramientas GNU y comienza a ganar presencia en servidores y entre desarrolladores. |
| 2000-2010 | GNU mantiene y amplía sus herramientas y licencias. | Linux se consolida en servidores, supercomputación, dispositivos y sistemas integrados. |
| 2020-2026 | GNU continúa desarrollando software y defendiendo el modelo de software libre. | Linux mantiene una presencia amplia en servidores, nube, sistemas integrados y otras áreas de la informática. |
La tabla muestra también una diferencia importante: GNU y Linux no nacieron como un único proyecto. GNU comenzó ocho años antes que Linux y tenía como objetivo construir un sistema operativo completo. Linux comenzó como un núcleo y terminó proporcionando la pieza que faltaba para que las herramientas GNU pudieran formar un sistema operativo ampliamente utilizable.
La licencia que cambió la forma de compartir código
La otra gran aportación de GNU fue jurídica. En 1989 apareció la primera versión de la GNU General Public License (GPL), una licencia que estableció condiciones para que los usuarios pudieran utilizar, estudiar, modificar y redistribuir el software.
La GPL está asociada al concepto de copyleft. En lugar de utilizar los derechos de autor para restringir la modificación y redistribución, el modelo establece condiciones destinadas a preservar determinadas libertades en las versiones derivadas.
Este enfoque tuvo una influencia que fue más allá de GNU. Durante las décadas siguientes aparecieron numerosos proyectos de software libre y posteriormente se consolidó el movimiento open source, con diferentes licencias y objetivos.
La distinción entre ambos términos también ha generado debate. Para la FSF, la libertad del usuario constituye el elemento central. El movimiento open source pone más énfasis en el modelo de desarrollo y en las ventajas de trabajar con código disponible para su revisión y modificación.
Una influencia que llega mucho más allá del escritorio
GNU/Linux terminó encontrando un espacio especialmente importante en servidores y sistemas utilizados para desarrollar y ejecutar servicios de Internet. Linux también se extendió a sistemas integrados, supercomputación y otros dispositivos.
En muchos casos, los usuarios interactúan con herramientas GNU sin saber necesariamente que forman parte de este legado. GCC, Bash y numerosas utilidades del sistema siguen siendo componentes habituales en entornos de desarrollo y administración.
La historia tampoco está libre de controversias. La denominación GNU/Linux continúa siendo objeto de discusión, especialmente por la diferente consideración que reciben el proyecto GNU y el núcleo Linux. Richard Stallman ha defendido durante décadas que se reconozca la contribución de GNU al sistema completo.
También existen diferencias filosóficas entre la defensa estricta del software libre de la FSF y posiciones más pragmáticas dentro del ecosistema Linux y del movimiento open source.
43 años después del anuncio de GNU, aquella discusión sobre quién controla el software sigue teniendo consecuencias técnicas y legales. El proyecto que comenzó intentando construir una alternativa libre a Unix terminó proporcionando herramientas, licencias y una filosofía que acompañaron al núcleo Linux cuando este apareció y que siguen presentes en buena parte del mundo de la informática.
Preguntas frecuentes
¿Cuándo se creó GNU?
Richard Stallman anunció el proyecto GNU en septiembre de 1983. Su objetivo era desarrollar un sistema operativo completo compatible con Unix y basado en software libre.
¿Qué aportó GNU a Linux?
GNU aportó numerosas herramientas, bibliotecas y componentes utilizados junto al núcleo Linux, entre ellos GCC, Bash y muchas utilidades del sistema.
¿Linux forma parte del proyecto GNU?
No. Linux y GNU comenzaron como proyectos independientes. Linux es el nombre del núcleo desarrollado inicialmente por Linus Torvalds, mientras que GNU desarrolló un conjunto mucho más amplio de componentes de un sistema operativo libre.
¿Por qué se utiliza el término GNU/Linux?
El término pretende reconocer que muchos sistemas que utilizan el núcleo Linux también incorporan una gran cantidad de software desarrollado por el proyecto GNU.