El proyecto GNU fue iniciado por
Richard Stallman con el objetivo de crear un sistema operativo completamente
libre: el sistema GNU.1
El 27 de septiembre de 1983 se
anunció públicamente el proyecto por primera vez en el grupo de noticias
net.unix-wizards. 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 computadoras".
GNU es un acrónimo recursivo que significa GNU No es Unix
(GNU is Not Unix).
Puesto que en inglés
"gnu" (en español "ñu") se pronuncia parecido a
"new", Richard Stallman recomienda pronunciarlo "guh-noo".
En español, se recomienda
pronunciarlo ñu como el antílope africano o fonéticamente; por ello, el término
mayoritariamente se deletrea (G-N-U) para su mejor comprensión[cita requerida].
En sus charlas Richard Stallman
finalmente dice siempre: «Se puede pronunciar de cualquier forma, la única
pronunciación errónea es llamarlo "Linux"».
El sistema GNU fue diseñado para
ser totalmente compatible con UNIX. El hecho de ser compatible con la
arquitectura de UNIX implica que GNU esté compuesto de pequeñas piezas
individuales de software, muchas de las cuales ya estaban disponibles, como el
sistema de edición de textos TeX y el sistema gráfico X Window, que pudieron
ser adaptados y reutilizados; otros en cambio tuvieron que ser reescritos.
Para asegurar que el software GNU
permaneciera libre para que todos los usuarios pudieran "ejecutarlo,
copiarlo, modificarlo y distribuirlo", el proyecto debía ser liberado bajo
una licencia diseñada para garantizar esos derechos al tiempo que evitase
restricciones posteriores de los mismos. La idea se conoce en Inglés como
copyleft (lo cual significa que el autor permite la distribución libre del
mismo, en clara oposición a copyright o "derecho de autor"), y está
contenida en la Licencia General Pública de GNU (GPL).
En 1985, Stallman creó la Free
Software Foundation (FSF o Fundación para el Software Libre) para proveer
soportes logísticos, legales y financieros al proyecto GNU. La FSF también
contrató programadores para contribuir a GNU, aunque una porción sustancial del
desarrollo fue (y continúa siendo) producida por voluntarios. A medida que GNU
ganaba renombre, negocios interesados 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.
En 1990, el sistema GNU ya tenía
un editor de texto llamado Emacs, un exitoso compilador (GCC), y la mayor parte
de las bibliotecas y utilidades que componen un sistema operativo UNIX típico.
Pero faltaba un componente clave llamado núcleo (kernel en inglés).
En el manifiesto GNU, Stallman
mencionó que "un núcleo inicial existe, pero se necesitan muchos otros programas
para emular Unix". Él 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 1991, Linus Torvalds empezó a
escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL.
Rápidamente, múltiples programadores se unieron a Linus en el desarrollo,
colaborando a través de Internet y consiguiendo paulatinamente que Linux
llegase a ser un núcleo compatible con UNIX. En 1992, el núcleo Linux fue
combinado con el sistema GNU, resultando en un sistema operativo libre y
completamente funcional. El Sistema Operativo formado por esta combinación es
usualmente conocido 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 UNIX no libre, en lugar de los
programas originales para UNIX. Esto 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, estos componentes se conocen colectivamente
como "herramientas GNU". Muchos de los programas GNU han sido también
transportados a otros sistemas operativos como Microsoft Windows y Mac OS X.