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 

 
 Web del Projecte GNU  
 Filosofia del Projecte GNU 
 Llista de discussió sobre els aspectes tècnics del sistema GNU 

Programari del projecte GNU
Sistemes operatius lliures