# GNU

GNU és un acrònim recursiu de l'anglès "GNU's Not Unix" ("GNU no és Unix"). Va ser iniciat per Richard Stallman amb l'objectiu de crear un sistema operatiu lliure: el sistema GNU. El 27 de setembre de 1983 es va anunciar públicament el projecte per primera vegada al grup de notícies net.unix-wizards. A l'anunci general, van seguir diversos escrits de Richard Stallman, com el "Manifest GNU", que van establir les seves motivacions per realitzar el projecte GNU, entre les quals destaca "retornar a l'esperit de cooperació que hi havia als temps inicials a la comunitat d'usuaris d'ordinadors".
GNU és l'acrònim recursiu que significa "GNU No és Unix". Stallman suggereix que es pronunciï en anglès, com "guh-noo" (podem veure que el logo és un nyu) per evitar la confusió amb "new" (nou). En català, GNU es pronuncia fonèticament.
UNIX és un sistema operatiu privatiu molt popular, perquè està basat amb una arquitectura que ha demostrat ser tècnicament estable. El sistema GNU va ser dissenyat per ser completament compatible amb UNIX. El fet de ser compatible amb l'arquitectura UNIX implicà que GNU està compost de petites peces individuals de programari, moltes de les quals ja estaven disponibles, com el sistema d'edició de texts Tex i el sistema gràfic X Window, que van poder ser adaptats i reutilitzats; altres, en canvi es van haver de tornar a escriure.
Per assegurar que el programari de GNU fos sempre lliure perquè tots els usuaris el poguessin "executar, copiar, modificar i distribuir", el projecte havia de ser llançat sota una llicència dissenyada per garantir aquests drets i que evités les restriccions posteriors d'aquests. La idea en anglès es coneix com a copyleft (en clara oposició al copyright), i està contingut a la llicència GPL.
La mascota és un nyu (Gnu és, en anglès, nyu).

## Història

El 1985, Stallman va crear la "Free Software Foundation", Fundació pel programari lliure (FSF) per proveir suport logístic, legal i econòmic al projecte GNU. La FSF també va contractar programadors per contribuir amb GNU, tot i que una porció substancial del desenvolupament va ser (i continua sent) produïda per usuaris. A mesura que el projecte GNU guanyava renom, negocis interessats van començar a contribuir amb el desenvolupament o la comercialització dels productes GNU i el corresponent suport tècnic. El més prominent i reeixit d'ells va ser Cygnus Solutions, actualment part de Red Hat.
El 1990, el sistema GNU ja tenia un editor de text anomenat Emacs, un reeixit Compilador (GCC), i la major part de biblioteques i utilitats que componen un sistema operatiu UNIX típic. Però faltava el component primari anomenat Kernel o nucli.
En el manifest GNU, Stallman deia que "un nucli inicial existeix, però es necessiten molts altres programes per emular UNIX". Ell es referia a TRIX, que és un nucli de cridades remotes a procediments, desenvolupat per MIT i que els seus autors van dir que havia de ser distribuït lliurement; Trix era totalment compatible amb la Versió 7 de UNIX.
El desembre de 1986 ja s'havia treballat per modificar aquest nucli. Tot i així els programadors van decidir que no era inicialment usable, perquè només funcionava amb "alguns equips molt complicats i estranys", raó per la qual s'hauria hagut de portar a les arquitectures en les quals s'hagués volgut usar. Finalment, el 1988, es va decidir usar com a base el nucli Mach desenvolupat a la CMU. Inicialment, el nucli va rebre el nom d'Alix (així és com es deia la xicota de Richard Stallman, però per decisió del programador Michael Bushnell va ser rebatejat com a GNU Hurd. Desafortunadament, per raons tècniques i conflictes personals entre els programadors originals, el desenvolupament de Hurd es va acabar estancant.
El 1991, Linus Torvalds va començar a escriure el nucli Linux i va decidir distribuir-lo sota llicència GPL. Ràpidament, múltiples programadors es van unir a Linus en el desenvolupament, col·laborant a través d'Internet i aconseguint de mica en mica que Linux arribés a ser un nucli compatible amb UNIX. El 1992, el nucli Linux va ser combinat amb el sistema GNU, resultat en un sistema operatiu lliure i completament funcional. El sistema operatiu format per aquesta combinació és usualment conegut com a "GNU/Linux" o com una "distribució de Linux" i existeixen diverses variants.
En l'actualitat (2006, Hurd continua en desenvolupament i ja és possible obtenir versions experimentals del sistema GNU que l'usen com a nucli
També és freqüent trobar components de GNU instal·lats en un sistema UNIX privatiu, en lloc dels programes originals per UNIX. Això es deu al fet que molts programes escrits pel projecte GNU han demostrat tenir més qualitat que les versions equivalents de UNIX. Tot sovint, aquests components es coneixen com a "eines GNU". Molts dels programes GNU també han estat portats a plataformes com Microsoft Windows o Mac OS X.
Cal dir que en una distribució GNU/Linux típica, el codi estricte d'un nucli Linux és cap a un 5% del total. La resta (utilitats, compiladors, sistema gràfic, escriptori, etc.) correspon a altres contribucions, principalment del projecte GNU. Per això cal dir que un nucli com Linux és únicament la punta de l'iceberg.

## Alguns dels programes desenvolupats per GNU

* Aspell - Corrector ortogràfic
* Bison - generador d'analitzadors dissenyat per substituir el yacc
* BASH - Intèrpret de comandes
* BFD - Fitxers de biblioteques
* Binutils - Ensamblador GNU, Enllaçador GNU, i eines relacionades
* Classpath - llibreries pel Java
* DotGNU - substitut de .NET
* Emacs - editor de text extensible i autodocumentat
* GCC - compilador optimitzat per diversos llenguatges, en particular C
* GDB - depurador d'aplicacions
* GIMP - programa d'edició fotogràfica
* glibc - biblioteca pel llenguatge C
* GMP - programa per càlculs arbitraris
* GNOME - escriptori gràfica
* Grub - Gestor d'arrancada
* Sistema de construcció per GNU
* GNUnet - xarxa descentralitzada de comunicacions personals, dissenyada per aguantar interferències no autoritzades
* GNUstep - implementació del conjunt de biblioteques OpenStep, així com eines per programar aplicacions gràfiques
* GSL - Biblioteca Científica per GNU
* Gzip - Aplicacions i biblioteques de compressió de dades
* GNU Hurd - un microkernel i un conjunt de servidors que funcionen del mateix mode que el nucli UNIX
* Maxima - un sistema per càlculs algebraics
* Octave – un programa de còmput numèric similar al MATLAB
* GNU MDK - un conjunt d'eines per la programació en MIX
* Texinfo - sistema de documentació
* LilyPond - editor de partitures musicals
El projecte GNU també ajuda al desenvolupament d'altres paquets com:
* CVS - sistema de control de versió per codi font
* DDD - eines gràfiques de detecció i depuració d'errors

## Enllaços externs

* GNU - Lloc web oficial
* Web del Projecte GNU Arxivat 2009-05-22 a Wayback Machine. (català)
* Filosofia del Projecte GNU (català)
* Llista de discussió sobre els aspectes tècnics del sistema GNU (anglès)