Aquesta pàgina és la traducció d'una pàgina original en anglès.
Linux i el Sistema GNU
per Richard Stallman
Molts usuaris utilitzen diàriament una versió modificada del sistema GNU sense
saber-ho. Per una sèrie de fets, la versió de GNU que s'utilitza àmpliament
és coneguda habitualment com a "Linux", sense que molts usuaris siguin conscients que es
tracta bàsicament del sistema GNU, desenvolupat pel Projecte GNU.
Hi ha realment un Linux, i aquestes persones l'utilitzen, però Linux no és
un sistema operatiu. Linux és el nucli: la part del sistema que facilita els
recursos de la màquina als altres programes que s'executen. El nucli és una
part essencial d'un sistema operatiu, però sol no serveix de res; només pot
funcionar en l'entorn d'un sistema operatiu complet. Linux s'utilitza
normalment en combinació amb el sistema operatiu GNU: el conjunt del sistema
és bàsicament GNU, amb Linux funcionant com a nucli. Totes les anomenades
"Distribucions Linux" són en realitat distribucions de GNU/Linux.
Molts usuaris desconeixen aquesta distinció entre el nucli (Linux) i el
sistema complet, que també anomenen "Linux". Aquest ús ambigu del nom no
ajuda massa a desfer l'equívoc. Aquests usuaris sovint pensen que Linus
Torvalds va desenvolupar tot el sistema operatiu el 1991, amb una mica
d'ajuda.
Els programadors generalment saben que Linux és un nucli. Però com que han
escoltat generalment que al sistema complet se l'anomena també "Linux",
sovint s'imaginen una història que justifiqui aquest nom. Per exemple, molts
creuen que un cop Linus Torvalds va acabar d'escriure el nucli, el seus
companys van cercar altres programes lliures, i sense cap raó aparent es van
trobar que gairebé tot el que calia per a fer un sistema operatiu a l'estil
d'Unix ja estava disponible.
Però tot allò que van trobar no era la conseqüència d'un accident: era el
sistema GNU. El programari lliure
disponible havia esdevingut un sistema complet pel fet que el Projecte GNU
havia estat treballant des del 1984 per a fer-ne un. Al Manifest GNU vàrem fixar l'objectiu de
desenvolupar un sistema lliure a l'estil d'Unix, anomenat GNU. L'Anunci inicial del Projecte GNU
també descriu alguns dels plans originals del sistema GNU. Quan Linux
s'estava escrivint, el sistema estava gairebé acabat.
La majoria dels projectes de programari lliure tenen l'objectiu de
desenvolupar un programa particular per a una tasca particular. Exemples
destacats en són el treball de Linus Torvalds per a escriure un nucli a
l'estil d'Unix (Linux); el treball de Donald Knuth per escriure un
formatador de textos (TeX); o el treball de Bob Schifler per a desenvolupar
un sistema de finestres (X Window). És natural mesurar la contribució a
aquests tipus de projectes pels programes específics que s'aporten al
projecte.
Si intentéssim mesurar la contribució del Projecte GNU d'aquesta manera, què
en podríem concloure? Un venedor de CD-ROMs hagués trobat que a la seva
"distribució Linux", el programari GNU era el
component principal, essent la seva participació al voltant del 28% del codi
font, i aportant-hi alguns dels principals components essencials, sense els
quals no hi hauria sistema operatiu. Linux participava amb un 3% del codi
font. Per tant, si es cerqués un nom per al sistema basant-se en qui va
escriure els programes del sistema, el nom més apropiat seria "GNU".
Però no creiem que aquesta sigui la manera correcta d'afrontar la
qüestió. El Projecte GNU no va ser, i no és, un projecte per desenvolupar
programari específic. No era un projecte per desenvolupar un compilador de C, tot i que el vam
fer. No era un projecte per desenvolupar un editor de textos, tot i que
també en vam desenvolupar un. La intenció del Projecte GNU era la de
desenvolupar un sistema operatiu complet i lliure a l'estil d'Unix:
GNU.
Molta gent ha fet grans contribucions als programes lliures del sistema, i
totes es mereixen un reconeixement. Però la finalitat era un sistema
integrat, i no només una col·lecció de programes útils. El Projecte GNU
es va iniciar precisament per a fer-ne un. Vam elaborar una llista dels
programes necessaris per a crear un sistema lliure complet, i vam
cercar, escriure o trobar algú que escrigués tot el que figurava a la
llista. Vam escriure components essencials però sense cap mena d'atractiu (1), perquè sense ells no tindríem un sistema
complet. Alguns dels nostres components, com les eines de programació, es
van popularitzar entre els programadors, però també vam escriure molts
components que no eren eines (2). Fins i tot vam
desenvolupar un joc d'escacs, GNU Chess, perquè un sistema complet també
necessita bons jocs.
A principis dels 90 disposàvem de tot el sistema llevat del nucli. També
havíem començat a treballar en un nucli, el GNU Hurd, que funciona sobre Mach. El
desenvolupament d'aquest nucli ha estat una mica més dur del que ens
esperàvem; el nucli GNU Hurd va
començar a ser fiable el 2001, però encara falta per a què estigui llest
per al públic en general.
Afortunadament no vam haver d'esperar que Hurd estigués enllestit, perquè
Linux ja estava disponible. Quan el 1992 Linus Torvalds va publicar Linux
com a programari lliure, va omplir el buit més important del sistema GNU. La
gent podia llavors unir
Linux i el sistema GNU per tal d'obtenir un sistema operatiu complet i
lliure: una versió del sistema GNU que contenia Linux. En altres paraules,
un sistema GNU/Linux.
Posar-los tots dos junts sona senzill, però no va ser una tasca
trivial. Alguns components de GNU (3)
necessitaven canvis substancials per funcionar amb Linux. Integrar un
sistema complet en una distribució que hauria de funcionar "fora de la
capsa" també va significar molta feina. Calia resoldre com instal·lar i
iniciar el sistema, un problema que encara no havíem afrontat perquè encara
no havíem arribat a aquell punt. La gent que desenvolupava les diverses
distribucions del sistema van fer una contribució cabdal. Però era una feina
que segurament, per la seva naturalesa, l'hagués acabat fent algú.
El Projecte GNU dóna suport als sistemes GNU/Linux de la mateixa manera que
ho fa amb el sistema GNU, fins i tot finançant-los. La FSF va finançar la reescriptura de les extensions
relacionades amb Linux de la biblioteca GNU C, de tal manera que ara estan
ben integrades, i els sistemes GNU/Linux més nous utilitzen la versió actual
de la biblioteca sense canvis. La FSF també va finançar els inicis del
desenvolupament de la distribució Debian GNU/Linux.
Actualment hi ha moltes variants diferents del sistema GNU/Linux (sovint se
les anomena "distros"). La majoria inclouen programari no lliure; els seus
desenvolupadors segueixen més la filosofia associada amb Linux que la de
GNU. Però també hi ha distros de GNU/Linux completament
lliures. La FSF dóna suport a gNewSense.
Convertir en lliure una distribució de GNU/Linux no consisteix només en
eliminar diversos programes no lliures. Avui dia, la versió corrent de Linux
conté també programes no lliures. Aquests programes es carreguen per activar
dispositius quan s'inicia el sistema i s'inclouen com a llargues sèries de
números al "codi font" de Linux. De fet, mantenir lliure una distribució de
GNU/Linux implica ara també mantenir una versió lliure de Linux
Tant si utilitzeu GNU/Linux com si no, no induïu a la confusió emprant la
paraula ''Linux'' de forma ambigua. Linux és el nucli, un dels principals
components essencials del sistema. El sistema en conjunt es més o menys el
sistema GNU, amb Linux afegit. Quan parleu d'aquesta combinació, anomeneu-la
si us plau "GNU/Linux".
Si voleu posar un enllaç per oferir més informació sobre "GNU/Linux",
aquesta pàgina i http://www.gnu.org/gnu/the-gnu-project.html
són bones opcions. Si parleu del nucli Linux i voleu posar un enllaç per
oferir més informació, http://foldoc.org/linux és una bona
adreça.
Addendum: A més de GNU, un altre projecte ha produït, de manera independent,
un sistema operatiu lliure a l'estil d'Unix. Aquest sistema és conegut com a
BSD, i va ser desenvolupat a la Universitat de Califòrnia a Berkeley. No era
un sistema lliure als anys 80, però va esdevenir lliure a principis dels
90. Els sistemes operatius lliures que existeixen avui dia (4) són gairebé sempre variants del sistema GNU o
del sistema BSD.
De vegades la gent pregunta si BSD també és una versió de GNU, com
GNU/Linux. Els desenvolupadors del sistema BSD es van plantejar fer lliure
el seu programari seguint l'exemple del Projecte GNU, i les crides
d'activistes de GNU van contribuir a convèncer-los, però el seu codi té poc
a veure amb GNU. Els sistemes BSD utilitzen avui dia alguns programes GNU,
igual que el sistema GNU i les seves variants utilitzen alguns programes
BSD. Però si els considerem en conjunt, es tracta de dos sistemes diferents
que han evolucionat per separat. Els desenvolupadors de BSD no van escriure
un nucli ni el van afegir al sistema GNU, de manera que un nom com GNU/BSD
no tindria sentit. (5)
Notes:
-
Aquests components essencials però poc atractius
inclouen el compilador GNU GAS i l'enllaçador GLD, que ara són part dels
paquets GNU Binutils), GNU tar i d'altres.
-
Per exemple, la interfície BASH, l'intèrpret Ghostscript i la
biblioteca GNU C library no són eines
de programació. El mateix passa amb GNUCash, GNOME i GNU Chess.
-
Per exemple, la biblioteca GNU C.
-
Des que aquest article es va escriure, s'ha
desenvolupat un sistema operatiu a l'estil de Windows gairebé lliure, però
tècnicament no té res a veure amb GNU o Unix, de manera que no afecta a
aquesta qüestió. La major part del nucli de Solaris ha esdevingut lliure,
però si volguéssiu fer a partir d'ell un sistema lliure hauríeu
d'integrar-lo amb GNU o BSD, a més d'afegir al nucli les parts que falten.
-
Per altra banda, en els anys que han passat des que
aquest article es va escriure, s'ha adaptat la biblioteca GNU C a algunes
versions del nucli FreeBSD, cosa que ha permès combinar GNU amb aquest
nucli. Com passa amb GNU/Linux, hi ha fins i tot variants de GNU que
s'anomenen GNU/kFreeBSD i GNU/kNetBSD en funció del nucli del sistema. Els
usuaris corrents que treballen en els típics escriptoris gràfics difícilment
podran distingir entre GNU/Linux i GNU/*BSD.