cronopios en espiral

proferamon - GNU/Linux

Què és el GNU?

Per entendre tot el moviment del programari lliure ens hem de situar a finals de la dècada dels seixan­ta, principis dels setanta. En aquells temps, les gran companyies d'ordinadors no donaven cap mena de valor al software. La gran majoria simplement eren fabricants d'ordinadors que obtenien els seus principals ingressos venent grans màquines, a les que incorporaven algun tipus de sistema operatiu i aplicacions. Les universitats tenien permís per agafar i estudiar el codi font del sistema operatiu amb finalitats docents. Els mateixos usuaris podien demanar el codi font dels controladors i programes per adaptar-los a les seves necessitats. Es considerava que el programari no tenia valor per si mateix si no anava acompanyat pel maquinari que el suportava. En aquest entorn, els laboratoris Bell (AT&T) dissenyaren un sistema operatiu anomenat UNIX (UNIX, originalment UNICS, significa UNiplexed Information and Computing Services), caracteritzat per una molt bona gestió dels recursos del sistema, estabilitat i compatibilitat amb el maquinari de diversos fabricants (per poder homogeneïtzar tots els seus sistemes). Aquest últim fet va ser importantíssim (fins llavors tots els fabricants només tenien els seus propis sistemes operatius, incompatibles entre ells) i va ser el factor que li va proporcionar més popularitat.

Poc a poc, les gran empreses començaren a prendre consciencia del valor del programari: primer va ser IBM que al 1965 va deixar de donar el codi font del seu sistema operatiu, a finals dels 70 Digital Research va començar a vendre el seu, etc. Aquests fets varen ter que totes les companyies s'adonessin que el programari podia ser molt rentable, propocionant-los-hi grans beneficis a curt termini. Amb això, la majoria de companyies començaren a ser reticents a deixar el codi font dels seus programes i sistemes operatius i començaren a vendre les seves aplicacions com un valor afegit al hardware. En aquest entorn cada vegada més tancat, Richard Stallman (que treballava en el MIT -Massachusetts Institute of Technology-) es va sentir indignat al comprovar que cada vegada era més difícil aconseguir els fonts dels programes que utilitzava per adaptar-los a les seves necessitats, tal i com havia fet fins llavors. Com anècdota, ell mateix explica com es va enfadar al saber que la companyia que els hi havia venut una nova impressora pel laboratori on treballava no li volia facilitar el codi font dels controladors. Ell només volia modificar-los perquè l'avisés automàticament quan el paper s'encallava! La companyia es va negar categòricament a proporcionar-los-hi.

A partir d'aquest moment, Stallman va decidir ser conseqüent amb els seus ideals i començar un gran projecte per intentar obrir una altra vegada els fonts dels programes. Conscient que no podria aconseguir que les companyies cedissin en aquest punt, es va proposar crear el seu propi sistema operatiu i aplicacions, iniciant un gran projecte anomenat GNU (Gee's Not UNIX, modificat més tard per GNU's Not UNIX), afegint-se a la moda dels noms/bromes recursives d'aquell temps.

És d'especial interès, per entendre els motius que portaren a Stallman a iniciar GNU, el seu primer manifest, document on va explicar a tota la comunitat que seria el projecte, com l'orientaria i per que ho havia de fer. En ell va començar a descriure el concepte de programari lliure i perquè creia necessari que programadors i desenvolupadors d'arreu del món col·laboressin amb ell. Encara que en moltes ocasions es confon el concepte de programari lliure amb el de programari gratuït (en angles free té els dos significats), en posteriors documents s'ha deixat molt clar que el programari lliure no té perquè ésser gratuït. Hem d'entendre el programari lliure com a aplicacions de les quals en podem aconseguir el seu codi font, el podem estudiar, modificar i redistribuir sense que ens obliguin a pagar res. El que també és important és que sí podem demanar la retribució que vulguem pels programes i el seu codi font, pel suport que podem oferir als usuaris, els llibres que venem o el material que proporcionem, etc. tal i com fan moltes companyies que distribueixen GNU/Linux. En cap moment, però, podem impedir que els usuaris en distribueixin el programari proporcionat. Aquest s'ha de poder difondre de forma totalment lliure. És una forma d'entendre el programari diferent a la que estem acostumats. En molts dels textos de la FSF (Free Software Foundation) es parla més de filosofia que d'enginyeria. Hem d'entendre tot aquest moviment més com una forma de pensar o fer les coses que com una companyia de programari més.

La filosofia que es té a la FSF del programari el defineix amb quatre llibertats:

  • La llibertat 0 fa referència a la llibertat de poder utilitzar el programa per qualsevol propòsit.
  • La llibertat 1 és la que ens permet d'estudiar com funciona el programa i adaptar-lo a les nostres necessitats. L'accés al codi font és una condició necessària per garantir aquesta llibertat.
  • La 2na llibertat és la que ens permet distribuir lliurement copies del programari, ajudant al veí.
  • La llibertat 3 és la que ens permet de millorar el programa i a fer-ne públiques les nostres millores als altres, en benefici de tota la comunitat. L'accés al codi font també és un requisit indispensable per assegurar aquesta llibertat.

Per donar totes aquestes llibertats al programari que es desenvolupa en el projecte i als usuaris finals d'aquest, es va redactar la llicencia amb la qual es protegeix aquest tipus de programes i iniciatives, la GPL (General Public License). Aquesta llicencia posa per escrit totes les idees exposades anteriorment.

El projecte comença a produir programari a partir del 1984, començant amb el desenvolupament de totes les eines necessàries per poder implementar un sistema operatiu complert. Encara que realitzar un projecte d'aquestes característiques és llarg i complex, des del principi molts programadors i desen­volupadors es sentiren captivats per la idea de Stallman i començaren a col·laborar amb ell de forma totalment altruista. La comunitat no para de créixer i poc a poc es comença a disposar de les eines necessàries (editors, compiladors, etc.) per implementar el nucli del sistema operatiu. Tal i com la mateixa paraula indica, el nucli (kernel) d'un sistema operatiu és el cor a partir del qual pot funcionar. És el pont de programari que gestiona els recursos de l'ordinador: es comunica amb els dispositius i aplicacions instal·lades, administra la memòria adequadament, reparteix temps de processament per tots els programes, es comunica amb els dispositius d'emmagatzemament per guardar els arxius, etc. Totes aquestes tasques són d'una complexitat enorme i es necessiten les eines que inicialment va desenvolupar el projecte GNU. Des del primer moment, es va voler fer un sistema operatiu semblant a UNIX i seguint les normes POSIX (Portable Operating System Interface). Encara que UNIX també tenia els seus problemes i carències, era, i segueix sent, suficientment bo per cobrir la gran majoria de necessitats. Degut a la complexitat de la tasca, el disseny i implementació del nucli es va postposar per al final del projecte, per quan es disposessin de totes les eines necessàries per afrontar-la amb garanties d'èxit. Encara avui no s'ha completat definitivament i el nucli del GNU, anomenat Hurd, encara esta en fase de desenvolupament.


inici



Què és el GNU/Linux?

En aquest context, i quan la FSF encara no tenia el nucli estable per al seu sistema operatiu, un professor de la Universitat d'Holanda, Andrew Tanenbaum, va decidir escriure un sistema operatiu perquè els seus estudiants el poguessin estudiar. Igual que Stallman, fins el moment havia pogut utilitzar el codi font de UNIX de AT&T perquè els seus alumnes aprenguessin a dissenyar sistemes operatius. La seva idea era escriure un sistema operatiu que pogués ser estudiat i modificat per qualsevol que ho desitgés. Fou al 1987 que va desenvolupar el seu projecte, creant un petit UNIX (mini UNIX), donant lloc a MINIX. Com que no va utilitzar ni una sola línia del codi de UNIX de AT&T, res n'impedeix d'agafar-ne el codi i utilitzar-lo i modificar-lo lliurement.

Tanenbaum va voler crear un sistema amb fins docents, és per això que va dissenyar un sistema operatiu amb arquitectura microkernel. Aquesta tecnologia es basa en dividir les diferents funcionalitats del nucli del sistema en programes totalment separats i que es comuniquen entre sí. Això el fa molt modular, facilitant moltíssim el testeig, detecció i correcció d'errors, el manteniment, l'estudi, etc. Actualment alguns sistemes operatius com Amoeba, Chorus, Mach o Windows NTTM han estat desen­volupats seguint aquest tipus de tecnologia. Aquest nucli és ideal per una fàcil comprensió, aportant una tecnologia molt nova per l'època, permetent molta versatilitat, multiplataforma, etc. Aquest ha estat tant un dels punts forts com febles de MINIX: encara que el sistema és una joia pel seu estudi i disseny, és molt probable que mai es pugui utilitzar en entorns reals. Es va optar per fer-lo entenedor, modular i molt pedagògic, però té com a contrapartida no ser ràpid. De totes maneres, Tanenbaum tampoc ho pretenia; al llarg dels anys MINIX ha anat evolucionant i avui dia encara segueix essent utilitzat per molts alumnes d'universitats d'arreu del món.

Aquí és quan entra en joc Linux. Mentre que la FSF seguia amb el seu gran projecte proporcionant eines per la construcció d'un sistema operatiu, Tanenbaum orientava MINIX a fins docents i moltes empreses seguien evolucionant les seves pròpies versions de UNIX, Linus Torvalds, estudiant de la Universitat de Helsinki, va decidir crear, a l'agost del 1991, el seu propi nucli per un non sistema operatiu, Linux. La seva idea era crear un UNIX per PC perquè tots els que volguessin el poguessin utilitzar al seu ordinador. La primera aparició en escena va ser en un debat de MINIX i sistemes operatius, on va exposar les següents idees:

 Newsgroups: comp.os.minix
 Subject: What would you like to see most in minix?
 Date: 25 Aug 91 20:57:08 GMT
 Organization: University of Helsinki

 Hello everybody out there using minix.
 I'm doing a (free) operating system (just a hobby,
 won't be big and professional like gnu) for 386(486)
 AT clones. This has been brewing since april, and
 is starting to get ready. I'd like any feedback on
 things people like/dislike in minix, as my OS resembles
 it somewhat (same physical layout of the file-system
 (due to practical reasons) among other things).
 I've currently ported bash(1.08) and gcc(1.40),
 and things seem to work.
 This implies that I'll get something practical
 within a few months, and I'd like to know what
 features most people would want. Any suggestions
 are welcome, but I won't promise I'll implement
 them :-)
 

Si accedíssim al fòrum de debat on va aparèixer aquest primer missatge veuríem com ràpidament gent d'arreu del món comença a interessar-se per aquest nou sistema, que a l'utilitzar el compilador i intèrpret de comandes de GNU (gcc i bash respectivament) com a peces fonamentals també tenia les característiques de programari lliure. Encara que en paraules del mateix Torvalds, si ell mateix hagués sabut la quantitat de treball necessari per aconseguir que la seva idea funcionés, mai ho hauria fet, els esforços de molts experts en informàtica d'arreu del món varen fer que aquest projecte fos possible. Linux és un nucli de tipus monolític. Això significa que no es separen les seves diferents funcionalitats en mòduls diferenciats, sinó que tot és un mateix programa. El principal inconvenient d'aquest tipus de disseny és que la localització d'errors i que el manteniment són molt costosos. Per altra banda, però, el rendiment que s'aconsegueix és molt més elevat que el d'altres tipus de disseny.

En certa manera, durant els primers anys d'existència, GNU/Linux s'identificava com el sistema operatiu dels hackers. La seva dificultat d'instal·lació, manipulació i falta de controladors el feien una eina només apta per gent molt entesa en el tema, però varen ser aquests primers usuaris els que dissenyaren els controladors pels discs durs, impressores, targetes, etc. i els que començaren a donar a conèixer al món aquest sistema. Poc a poc, el nombre d'usuaris comença a créixer i actualment ja existeixen moltes empreses i grups d'usuaris que creen i utilitzen les seves pròpies distribucions de GNU/Linux.



inici

copyleft © 2005 ramón lópez
última actualització 27/02/05 19:52
Es permesa la distribució i la còpia literal d'aquest artícle en la seva totalitat i per qualsevol mitjà sempre que es conservi aquesta nota.
El meu agraïment a Òscar Batet per cedir-me l'espai perquè s'allotgi aquesta web