GNU/LINUX per usuaris/Introducció/Què és el GNU?
Què és GNU?
modificaPer entendre tot el moviment del programari lliure ens hem de situar a finals de la dècada dels seixanta, 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^ , 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 consciència 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 fer 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 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 què seria el projecte, com l’orientaria i per què ho havia de fer.
En ell va començar a descriure el concepte de programari lliure i per què 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 anglès free té els dos significats), en posteriors documents s’ha deixat molt clar que el programari lliure no té per què é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 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 2a llibertat és la que ens permet distribuir lliurement còpies 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 llicència amb la qual es protegeix aquest tipus de programes i iniciatives, la GPL (General Public License). Aquesta llicència posa per escrit totes les idees exposades anteriorment.
El projecte començà 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 desenvolupadors es sentiren captivats per la idea de Stallman i començaren a col·laborar amb ell de forma totalment altruista. La comunitat no parà de créixer i poc a poc es començà a disposar de les eines necessàries (editors, compiladors, etc.) per implementar el nucli del sistema operatiu. Tal 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 posposar 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 està en fase de desenvolupament.
[1] UNIX, originalment UNICS, significa UNiplexed Information and Computing Services.