← Tornar als articles
Notícies· 5 min de lectura

Què és GNU i per què es diu GNU/Linux

Concepte de programari lliure i codi obert en una pantalla d'ordinador
Foto: Digital Buggu · Pexels

Engegues l’ordinador, et surt l’escriptori d’Ubuntu o de Debian i dones per fet que estàs fent servir “Linux” i prou. És el que diu tothom. Però hi ha una vella discussió, tan tossuda com afectuosa, que apareix cada cop que algú gosa anomenar Linux el sistema sencer: en realitat hauries de dir GNU/Linux. I darrere d’aquesta barra hi ha gairebé mig segle d’història que val la pena conèixer.

El somni d’un sistema lliure

Retrat de Richard Stallman, fundador del projecte GNU i de la Free Software Foundation
Richard Stallman, que el 1983 va anunciar el projecte GNU i va fundar la Free Software Foundation. · Imagen: Indranilhere at English Wikipedia / Public domain · Wikimedia Commons

Al setembre de 1983, un programador del MIT anomenat Richard Stallman va anunciar a Usenet que construiria un sistema operatiu complet, lliure i compatible amb UNIX. El va batejar GNU, un acrònim recursiu que significa “GNU’s Not Unix” (GNU no és Unix). El desenvolupament va arrencar de debò al gener de 1984.

Stallman estava tip d’un món on el programari arribava tancat, sense accés al codi font, i on compartir un programa amb un amic es podia considerar un delicte. Volia just el contrari: un sistema que qualsevol pogués fer servir, estudiar, modificar i compartir. Al març de 1985 va publicar el Manifest GNU a la revista Dr. Dobb’s Journal, i aquell mateix any, el 4 d’octubre de 1985, va fundar la Free Software Foundation (FSF) per sostenir el projecte.

Les quatre llibertats del programari lliure

Tot plegat se sosté sobre les anomenades quatre llibertats. Perquè un programa sigui “programari lliure”, ha de garantir a qui el fa servir:

  • Llibertat 0: executar el programa com vulguis, amb qualsevol propòsit.
  • Llibertat 1: estudiar com funciona i adaptar-lo a les teves necessitats (això exigeix accés al codi font).
  • Llibertat 2: redistribuir còpies per ajudar altres persones.
  • Llibertat 3: distribuir versions modificades, de manera que tota la comunitat es beneficiï dels teus canvis.

Fixa’t que la numeració comença a zero. No és cap excentricitat de programadors: la llibertat d’executar el programa es va afegir més tard i es va considerar tan bàsica que la van col·locar davant de les altres, que ja estaven numerades de l’u al tres.

Per protegir aquestes llibertats, Stallman va idear un mecanisme legal brillant: el copyleft, plasmat en la llicència GPL (GNU General Public License). La idea és senzilla i astuta: fa servir el mateix copyright perquè el programari es mantingui lliure. Si modifiques i redistribueixes un programa amb llicència GPL, els teus canvis han de continuar sent igual de lliures. Ningú no pot “tancar” allò que era obert.

GNU ho va construir gairebé tot… menys una peça

Aquí arriba la dada que molta gent desconeix. Al llarg dels anys vuitanta, el projecte GNU va anar muntant, una a una, les peces d’un sistema operatiu complet. I no peces menors: parlem d’eines que avui encara són el cor de qualsevol sistema tipus UNIX.

El compilador GCC, amb què es compila bona part del programari del món. Les GNU Core Utilities (coreutils), aquelles ordres com ls, cp o cat que fas servir sense pensar-hi. L’intèrpret d’ordres Bash, l’editor Emacs, la biblioteca C glibc, el depurador GDB… Una quantitat ingent de feina que conformava pràcticament tot un sistema operatiu.

Pràcticament. Perquè faltava la peça central: el kernel, el nucli que parla directament amb el maquinari i coordina tota la resta. GNU tenia el seu propi kernel en marxa, GNU Hurd, en desenvolupament des de 1990. Però Hurd va resultar endimoniadament complex, basat en un disseny de micronucli que va donar problemes durant anys. Mai no va arribar a estar a punt per al gran públic. El 1992 la resta del sistema GNU hi era, esperant un cor que no acabava de bategar.

I llavors va arribar Linux

Tux, el pingüí mascota del nucli Linux creat per Linus Torvalds
Tux, la mascota de Linux: el nucli que el 1992 va completar el sistema GNU. · Imagen: Larry Ewing, Simon Budig, Garrett LeSage / CC0 · Wikimedia Commons

El 1991, un estudiant finlandès de 21 anys anomenat Linus Torvalds es va posar a programar, gairebé per afició, un kernel per al seu ordinador personal. El va anomenar Linux. El 1992 el va alliberar sota la llicència GPL, just la que la FSF havia creat.

La combinació va encaixar com un guant. D’una banda, tot el sistema GNU al qual només li faltava un nucli. De l’altra, un nucli que funcionava però al qual li faltava tota la resta. En ajuntar-los va néixer el primer sistema operatiu fet enterament de programari lliure. Les primeres distribucions (com les que desembocarien en Debian o Slackware) no eren altra cosa que GNU + Linux empaquetats i a punt per instal·lar.

Aleshores, Linux o GNU/Linux?

Aquí hi ha el moll de l’os del debat. Stallman i la FSF defensen que anomenar “Linux” el sistema complet és injust: Linux és només el kernel, una peça imprescindible però una peça al cap i a la fi. El gruix del sistema (compilador, utilitats, shell) és GNU. Per això demanen el nom GNU/Linux, per reconèixer tots dos esforços.

Al davant, molta gent argumenta que “Linux” es va imposar per costum, que és més curt i que avui s’inclou moltíssim programari que no és ni GNU ni del kernel. Distribucions com Alpine Linux ni tan sols fan servir les coreutils ni la glibc de GNU, i tot i així es diuen Linux.

No hi ha una resposta “correcta” definitiva: és en part tècnica i en part política. Però conèixer la història canvia com mires el teu escriptori. El proper cop que obris un terminal a Fedora o a Arch i escriguis una ordre, recorda que teclejes sobre quatre dècades de feina de dues comunitats diferents que, sense proposar-s’ho del tot, van acabar construint juntes el programari lliure que mou avui bona part del planeta.