“El acto de compartir software no se circunscribe a nuestra comunidad en particular: es tan antiguo como los propios ordenadores, lo mismo que compartir recetas es tan viejo como la cocina. Simplemente, nosotros lo hacíamos en mayor medida”.
Richard M. Stallman

El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completo libre: el sistema GNU. 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 “retornar 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”. Stallman sugiere que se pronuncie Ñu (como nombre que caracteriza al animal africano). 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 (en clara oposición a copyright, derecho de copia), y está contenida en la Licencia General Pública de GNU (GPL).

En 1985, Stallman creó la Free Software Foundation (FSF o Fundación del 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 continua 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 librerías y utilidades que componen un sistema operativo UNIX típico. Pero faltaba el componente primario
llamado “núcleo” (kernel en inglés).

Finalmente, en 1988, se decidió utilizar como base el nú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 fue renombrado como Hurd. Desafortunadamente, debido a razones técnicas y conflictos personales entre los programadores originales, el desarrollo de Hurd acabó estancándose.
En 1991,Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la GPL. Rápidamente, múltiples programadores se unieron a Torvalds 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 un sistema operativo libre y completamente funcional. El sistema operativo formado por esta combinación es habitualmente conocido como “GNU/Linux” o como una “distribución GNU/Linux” y existen diversas variantes de esta distribución algunas de ellas comerciales de las que podemos destacar Red Hat, Suse, Mandrake. Y otros no comerciales tales como Debian y Fedora.

En la actualidad (2004), Hurd continúa en activo y ya es posible obtener versiones
experimentales del sistema GNU que lo emplean como núcleo.
También es frecuente hallar componentes de GNU instalados en un sistema propietario UNIX, 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 portados a otras plataformas como Microsoft Windows y Mac OS X.