|
< Enrera Capítol 1 El projecte GNU [1] La primera comunitat per a compartir programari Quan el 1971 vaig començar a treballar al Laboratori d'Intel·ligència Artificial del Massachusetts Institute of Technology (MIT), vaig entrar a formar part d'una comunitat que compartia programari i que feia molts anys que funcionava. El fet de compartir programari no es limitava a la nostra comunitat en particular, ja que això es fa des que existeixen ordinadors, de la mateixa manera que el fet de compartir receptes és tan antic com l'activitat de cuinar. La diferència és que nosaltres compartíem més que la gran majoria. El Laboratori d'Intel·ligència Artificial feia servir un sistema operatiu de temps compartit incompatible anomenat ITS (Incompatible Timesharing System) que havien dissenyat els hackers del laboratori en llenguatge d'assemblador per al Digital PDP-10, un dels ordinadors més grans de l'època. La meva tasca com a membre d'aquesta comunitat, és a dir com a expert informàtic de sistemes del Laboratori d'Intel·ligència Artificial, consistia a millorar aquest sistema. Aleshores no fèiem servir l'expressió programari lliure per designar el nostre programari perquè el terme no s'havia encunyat, però de fet es tractava d'això. Si algú d'una altra universitat o empresa volia adaptar i fer servir un programa, no hi posàvem cap pega. Si algú feia servir un programa poc conegut i interessant, sempre podies demanar el codi font per tal de llegir-lo, modificar-lo o aprofitar-ne alguns trossos per fer un programa nou. L'ús de hacker en el sentit de "persona que trenca sistemes de seguretat" és fruit d'una confusió creada pels mitjans de comunicació. Els experts informàtics o hackers no acceptem aquest significat i per a nosaltres la paraula continua tenint el significat de "persona a qui agrada programar i disfruta posant a prova les seves habilitats en aquest àmbit" [2]. L'enfonsament de la comunitat Aquesta situació va canviar radicalment els primers anys de la dècada dels vuitanta, quan la comunitat de hackers del Laboratori d'Intel·ligència Artificial es va ensorrar i, seguidament, es va deixar de treballar amb l'ordinador PDP-10. El 1981 es va crear l'empresa Symbolics a partir del Laboratori d'Intel·ligència Artificial, d'on es va endur la majoria dels informàtics, de manera que la comunitat es va reduir tant que no pogué mantenir-se viva. (El llibre Hackers de Steven Levy narra aquests fets i ofereix una imatge ben clara d'aquesta comunitat en el seu moment àlgid.) Quan el 1982 el Laboratori d'Intel·ligència Artificial va comprar un nou PDP-10, els seus administradors van decidir fer servir a la nova màquina el sistema de temps compartit no lliure de Digital, en lloc de l'ITS. Poc després, Digital va deixar de fabricar la sèrie PDP-10. La seva arquitectura, elegant i potent els anys seixanta, no es podia ampliar d'una manera natural als majors espais d'adreces que començaven a ser possibles els anys vuitanta. Això volia dir que pràcticament tots els programes que formaven l'ITS quedaven obsolets. La mort anunciada de l'ITS havia arribat i amb ella es van esvair 15 anys de treball. Els ordinadors moderns de l'època, com ara el VAX o el 68020, tenien els seus propis sistemes operatius, però cap d'ells era programari lliure: s'havia de signar un contracte de no divulgació fins i tot per obtenir una còpia executable. Això volia dir que el primer pas per fer servir un ordinador era prometre no ajudar el teu veí. Es prohibien així les comunitats cooperatives. La norma elaborada pels amos del programari privatiu era: "Si comparteixes el programa amb el teu veí, ets un pirata. Si voleu fer modificacions, supliqueu-nos que les fem nosaltres." És possible que a alguns lectors els sorprengui la idea que el sistema social del programari privatiu (el sistema que diu que està prohibit compartir o modificar el programari) és antisocial, que no és ètic i que senzillament està malament. Però com es podria qualificar un sistema que es basa en dividir la societat i deixar els usuaris desemparats? És possible que el lector que pensi que aquesta idea és sorprenent doni per fet el sistema social del programariprivatiu o el valori d'acord amb els termes que proposen les empreses de programari privatiu. Aquestes empreses s'han esmerçat molt a convèncer la gent que la qüestió només es pot analitzar d'una manera. Quan les empreses que comercialitzen programari parlen de "defensar" els seus "drets" o "aturar la pirateria", el que de fet "diuen" és secundari. El missatge real d'aquesta terminologia està en els pressupòsits que donen per fets i que pretesament la gent hauria d'acceptar a ulls clucs. Vegem quins són aquests pressupòsits. Un d'ells és que les empreses de programari tenen el dret natural inqüestionable de controlar la propietat del programari i, per tant, de tenir poder sobre tots els seus usuaris. (Si això fos un dret natural, independentment del mal que fes a la societat, no hi podríem objectar res.) Resulta interessant observar que la Constitució dels EUA i la tradició jurídica rebutgen aquesta idea: el copyright (drets d'autor) no és un dret natural, sinó un monopoli artificial imposat pel govern que limita el dret natural de copiar que tenen els usuaris. Un altre pressupòsit implícit és que l'única cosa important del programari són les tasques que permet fer i que per tant els usuaris informàtics no ens hauríem de preocupar del tipus de societat que se'ns permet tenir. Un tercer pressupòsit és que no hi hauria programari útil (o que no tindríem mai un programa que fes una tasca determinada) si no donéssim a les empreses la capacitat de controlar els usuaris dels programes. Aquest pressupòsit podia semblar plausible abans que el moviment pel programari lliure demostrés que podem crear una gran quantitat de programari útil sense necessitat de lligar de mans amb cadenes els usuaris. Si declinem acceptar aquests pressupòsits i analitzem aquestes qüestions d'acord amb la moral del sentit comú ordinària alhora que posem els usuaris en primer lloc, arribem a unes conclusions ben diferents. Els usuaris informàtics haurien de tenir llibertat per a modificar els programes segons les seves necessitats i llibertat per a compartir el programari, ja que el fet d'ajudar la gent és a la base de la societat. Un gran dilema moral Desapareguda la meva comunitat, era impossible continuar com abans. M'enfrontava a un gran dilema moral. L'opció fàcil era entrar a formar part del món del programariprivatiu, signar contractes de no divulgació i prometre no ajudar els meus companys hackers. Així, el més probable és que jo també acabés desenvolupant programari que es comercialitzaria sota contractes de no-divulgació, de manera que contribuiria a la pressió que reben la resta de persones per tal que traeixin també els seus companys. Segurament m'hauria guanyat bé la vida i potser m'ho hauria passat bé programant. Però sabia que al final de la meva carrera professional el que deixaria enrere serien molts anys dedicats a construir murs per dividir la gent, i sentiria que havia dedicat la meva vida a fer d'aquest món un lloc pitjor. Ja havia experimentat el que representava ser l'afectat final d'un contracte de no-divulgació quan, un dia, al Laboratori d'Intel·ligència Artificial del MIT (Massachusetts Institute Of Technology), ens van negar el codi font d'un programa de control de la nostra impressora (la manca de determinades funcions en aquest programa feia que l'ús de la impressora fos extremadament frustrant). Per tant, no podia dir-me a mi mateix que els contractes de no-divulgació eren innocents. Em vaig enfadar molt quan vaig rebre la negativa a compartir el programa: no podia girar cua i fer el mateix a la resta del món. Una altra opció, efectiva encara que desagradable, era abandonar el món informàtic. D'aquesta manera les meves capacitats no s'utilitzarien malament, però sí que quedarien desaprofitades. Jo no seria culpable de dividir i lligar de mans els usuaris de la informàtica, però la situació es produiria igualment. Per tant, vaig mirar de trobar de quina manera un programador podria fer alguna cosa a fi de bé. Em vaig preguntar si hi havia programes que pogués escriure que fessin possible que tornés a aflorar una comunitat. La resposta era ben clara: en primer lloc, calia disposar d'un sistema operatiu. Aquest és el programari essencial per fer servir un ordinador. Amb un sistema operatiu es poden fer moltes coses amb un ordinador, però sense sistema operatiu no es pot fer absolutament res. Amb un sistema operatiu lliure, podríem tornar a construir una comunitat de hackers que treballessin de manera cooperativa i deixar les portes obertes perquè tothom s'hi apuntés. Alhora, tothom podria fer servir l'ordinador sense necessitat de formar part d'una conspiració per a restringir els drets dels seus companys. Com a programador de sistemes operatius que era, estava capacitat per dur a terme aquesta tasca. Així doncs, encara que l'èxit no estava garantit, em vaig adonar que havia estat escollit per fer aquesta feina. Vaig decidir que el sistema fos compatible amb l'Unix perquè es pogués adaptar i que així els usuaris de l'Unix s'hi poguessin acostumar fàcilment. El nom de GNU va néixer seguint una tradició entre hackers: un acrònim recursiu de "GNU No és Unix". Quan parlem de sistema operatiu no ens referim només a un nucli que amb prou feines serveixi per executar altres programes. A la dècada dels setanta tots els sistemes operatius dignes d'aquesta designació incorporaven processadors d'ordres, assembladors, compiladors, intèrprets, depuradors, editors de text, gestor de correu i moltes coses més. L'ITS en tenia, i també el Multics, el VMS i l'Unix. El sistema operatiu GNU també havia d'incloure'ls. Més endavant, un dia vaig sentir aquestes paraules, atribuïdes a Hillel: "Si no sóc per a mi, qui serà per mi? Si només sóc per a mi, què sóc jo? Si no és ara, quan?" La decisió de tirar endavant el projecte GNU es basava en una esperit semblant. Com a ateu, no sóc seguidor de cap líder religiós, però de vegades em semblen admirables les paraules dites per algun d'ells. Lliure en el sentit de llibertat El terme programari lliure de vegades s'entén incorrectament, ja que no té res a veure amb el preu. Es tracta de llibertat (en anglès el terme "free", usat a "free software", pot voler dir tant "lliure" com "gratuït"). Aquesta és, doncs, la definició de programari lliure: un programa és lliure si, com a usuaris particulars
Com que lliure fa referència a llibertat i no a preu, no hi ha cap contradicció entre vendre còpies i programari lliure. De fet, la llibertat per a vendre còpies és vital: les recopilacions de programari lliure que es venen en CD-ROM són importants per a la comunitat i representen una important font d'ingressos per al desenvolupament de programari lliure. Per tant, els programes que no es puguin incloure lliurement en aquestes recopilacions no són programari lliure. A causa de l'ambigüitat del terme lliure, fa temps que se cerquen alternatives terminològiques, però ningú no n'ha trobat cap de bona. La llengua anglesa té més paraules i matisos que cap altra, però no té cap paraula unívoca i senzilla que vulgui dir 'lliure' en el sentit de 'llibertat' --el terme "unfettered" (sense cadenes) seria el que més s'acostaria a aquest significat. Alternatives com ara alliberat, llibertat i obert tenen un sentit diferent o algun altre inconvenient. El programari GNU i el sistema GNU El desenvolupament d'un sistema complet és un projecte de gran envergadura. Per tal de fer-lo possible vaig decidir que sempre que es pogués adaptaria i faria servir elements de programari lliure existent. Per exemple, de bon principi vaig decidir fer servir el TeX com a editor de textos principal. Al cap d'uns anys, vaig decidir que faria servir el sistema X-Window en lloc d'escriure un altre sistema de finestres per al GNU. És per això que el sistema GNU no és el mateix que el conjunt de tot el programari GNU. El sistema GNU inclou programes que no són programari GNU, és a dir, programes d'altres programadors i projectes creats amb objectius propis, però que es poden incorporar al sistema perquè són programari lliure. Inici del projecte El gener de 1984 vaig deixar la feina al MIT i em vaig posar a escriure programari GNU. Vaig haver d'abandonar el MIT perquè aquesta institució no pogués posar traves a la distribució del GNU com a programari lliure. Si hi hagués continuat treballant, el MIT podria haver reclamat la titularitat del projecte i haver imposat les seves normes de distribució o, fins i tot, hauria pogut convertir el projecte en un paquet de programari privatiu. No tenia cap intenció de fer una quantitat de feina ingent perquè després acabés resultant inútil per a l'objectiu que pretenia: crear una nova comunitat que compartís programari. Malgrat tot, el professor Winston, aleshores cap del Laboratori d'Intel·ligència Artificial del MIT, molt amablement em va permetre continuar fent servir les instal·lacions del Laboratori. Primers passos Poc abans de posar-me a treballar en el projecte GNU, vaig sentir a parlar del compilador "Free University Compiler Kit", també conegut com a VUCK (la paraula holandesa que correspon al terme anglès free s'escriu amb la lletra v). Es tractava d'un compilador que admetia diversos llenguatges, com ara C i Pascal, i que estava pensat per a ordinadors de diferents tipus. Vaig escriure l'autor d'aquest compilador demanant-li si el podia usar pel GNU. Va respondre en to burleta dient que la universitat era lliure, però no pas el compilador (jugant amb el doble sentit de free en anglès, indicava que el compilador no era lliure). Vaig decidir, en conseqüència, que el primer programa per al projecte GNU seria un compilador que pogués treballar en diferents llenguatges i plataformes. A fi d'evitar escriure el compilador tot sol, vaig fer-me amb el codi font del compilador Pastel, un compilador multiplataforma creat al laboratori Lawrence Livermore. Aquest compilador admetia i estava escrit en una versió ampliada del Pascal, dissenyada per ser un llenguatge de programació de sistemes. Hi vaig afegir una interfície per a C i el vaig començar a adaptar a l'ordinador Motorola 68000, però ho vaig haver de deixar córrer quan vaig descobrir que el compilador necessitava molts megabytes d'espai a la pila mentre que el sistema Unix 68000 només admetia 64 kilobytes. Després vaig observar que el compilador Pastel subdividia tot el fitxer d'entrada en un arbre sintàctic, el convertia en una cadena d'"instruccions" i, acte seguit, generava tot el fitxer de sortida, i tot sense alliberar mai espai d'emmagatzematge. Fou aleshores quan vaig arribar a la conclusió que hauria d'escriure un compilador de cap i de nou. Ara aquest compilador nou s'anomena GCC. No inclou ni rastre del compilador Pastel, però vaig poder adaptar i aprofitar-hi la interfície per a C que havia escrit. Però això va passar al cap d'uns anys: primer vaig dedicar-me al GNU Emacs. GNU Emacs Al setembre de 1984 em vaig posar a treballar en el GNU Emacs, i a principis de 1985 ja es podia començar a fer servir. Això em va permetre començar a fer tasques d'edició amb sistemes Unix: com que no m'interessava aprendre a fer servir els programes vi o ed, fins aleshores havia estat fent les tasques d'edició en altres tipus de màquines. En aquell moment la gent es va començar a interessar en el GNU Emacs, i es va plantejar la qüestió de com se n'havia de fer la distribució. Evidentment, el vaig posar al servidor FTP anònim de l'ordinador que feia servir al MIT. (D'aquesta manera aquest ordinador, prep.ai.mit.edu, es va convertir en el principal lloc de distribució per FTP de programari GNU. Quan al cap d'uns anys va ser desmantellat vam transferir el nom al nostre nou servidor FTP.) En aquella època, però, molta de la gent interessada no estava present a Internet i no en podia obtenir cap còpia per FTP. Què els havia de dir, a aquests usuaris? Una resposta hauria pogut ser: "Poseu-vos en contacte amb un amic que tingui connexió a Internet i que us en faci una còpia". També els hauria pogut dir el mateix que en el cas de l'Emacs del PDP-10 originari: "Envieu-me una cinta i un sobre amb adreça i segells, i us la tornaré amb l'Emacs enregistrat". El fet, però, és que no tenia feina i me les volia enginyar per guanyar diners amb el programari lliure. Va ser aleshores quan vaig anunciar que enviaria una cinta a qui la demanés, per un import de 150 $. Així és com vaig posar en marxa un negoci de distribució de programari lliure, el precursor de les empreses que actualment distribueixen sistemes GNU complets basats en el Linux. Els programes són lliures per a tothom? Si un programa és lliure quan surt de les mans del seu autor, això no vol dir que necessàriament sigui programari lliure per a tothom que en tingui una còpia. Per exemple, el programari de domini públic (programes sense copyright) és programari lliure, però qualsevol persona en pot fer una versió privativa modificada. De la mateixa manera, hi ha molts programes lliures sotmesos a copyright que es distribueixen amb llicències permissives i senzilles que permeten fer-ne versions privatives modificades. L'exemple paradigmàtic d'aquest problema es el sistema X-Window. Creat al MIT i comercialitzat com a programari lliure amb una llicència permissiva, ben aviat el van adoptar diverses empreses informàtiques. Van afegir l'X-Window als seus sistemes Unix privatius, només en forma binària (això és, sense el codi font), protegit pel mateix contracte de no-divulgació. Aquestes còpies de l'X-Window no eren programari més lliure del que ho era l'Unix. Els programadors del sistema X-Window no ho veien com un problema, ja que la seva intenció era precisament que passés el que va passar. El seu objectiu no era la llibertat, sinó l'"èxit", definit com a "tenir molts usuaris". No els preocupava que aquests usuaris tinguessin llibertat, sinó tan sols que en fossin molts. D'aquesta manera es va arribar a una situació paradoxal en què dues maneres diferents de comptabilitzar el grau de llibertat donaven dues respostes diferents a la pregunta següent: "És lliure aquest programa?" Si es jutjava d'acord amb la llibertat que oferien les condicions de distribució de la versió del MIT, es podia dir que l'X-Window era programari lliure. Però si es calculava el grau de llibertat de l'usuari mitjà del sistema X-Window, s'havia de dir que es tractava de programari privatiu. La majoria d'usuaris de l'X-Window feien servir les versionsprivatives que venien amb els sistemes Unix, no pas la versió lliure. Copyleft i la GPL del GNU L'objectiu del GNU era donar llibertat als usuaris, no només aconseguir popularitat. Per tant, havíem de disposar d'unes condicions de distribució que impedissin que el programari GNU fos convertit en programari privatiu. El mètode que fem servir s'anomena copyleft. El copyleft fa ús del dret de propietat intel·lectual però capgirant-lo perquè compleixi l'objectiu contrari a l'habitual: en lloc de ser un mitjà per privatitzar programari es converteix en un mitjà per mantenir lliure el programari. La idea central del copyleft és que donem permís a qualsevol usuari per a executar el programa, copiar-lo, modificar-lo i distribuir-ne versions modificades, però no li donem permís per a afegir-hi restriccions pròpies. D'aquesta manera, les llibertats essencials que defineixen el programari lliure queden garantides per a tothom que en tingui una còpia: es converteixen en drets inalienables. Perquè el copyleft sigui efectiu, les versions modificades també han de ser lliures. Aquest mètode garanteix que tota la feina realitzada a partir de la nostra estigui disponible, si es publica, per a la nostra comunitat. Quan els programadors que treballen professionalment s'ofereixen per millorar el programari GNU, el copyleft impedeix que les empreses que els contracten puguin dir-los: "No pots compartir aquests canvis perquè els farem servir per a fer la nostra versió privativa del programa." El requisit que els canvis siguin lliures és essencial per garantir la llibertat dels usuaris del programa. Les empreses que van privatitzar el sistema X-Window acostumaven a fer-hi alguns canvis per adaptar-lo als seus sistemes i al seu maquinari. Aquests canvis eren petits en comparació amb la magnitud de l'X-Window, però no pas trivials. Si el fet d'introduir canvis és una excusa per a negar la llibertat dels usuaris, qualsevol persona podria aprofitar-se fàcilment d'aquesta excusa. Una altra qüestió relacionada amb això és la combinació d'un programa lliure amb codi no lliure. Aquesta combinació ineludiblement no seria lliure: les llibertats retallades a la part no lliure també estarien retallades al conjunt de l'obra. Si es permetessin aquestes combinacions crearíem un forat tan gran que enfonsaria el vaixell. És per això que un dels requisits essencials del copyleft és tapar aquest forat: tot afegitó o combinació amb un programa sota copyleft s'ha de fer de tal manera que la versió ampliada o combinada també sigui lliure i sotmesa a copyleft. L'aplicació concreta del copyleft que fem servir per a la major part del programari GNU és la llicència pública general (GPL, General Public License) del GNU. Tenim altres tipus de copyleft que es fan servir en determinades circumstàncies. Els manuals de GNU també s'ofereixen sotmesos a copyleft, però d'un tipus de versió molt més senzilla, ja que la complexitat de la GPL del GNU és innecessària pels manuals. L'any 1984 o 1985, Don Hopkins (un noi molt espavilat), em va enviar una carta. Al sobre hi havia escrit unes quantes frases divertides, inclosa aquesta: "Copyleft. Tots els drets capgirats". Aleshores vaig decidir fer servir la paraula copyleft per designar el concepte de distribució que estava ideant en aquell moment. La Free Software Foundation A mesura que creixia l'interès per l'Emacs, altra gent s'afegia al projecte GNU, i vam decidir que havia arribat el moment de tornar a recaptar fons. El 1985 vam crear la Free Software Foundation , una associació sense ànim de lucre per al desenvolupament de programari lliure. La FSF també va assumir el negoci de distribució de cintes amb l'Emacs, activitat que posteriorment va ampliar afegint altres programes lliures (tant GNU com no GNU) a les cintes i venent també manuals lliures. La FSF accepta donacions, però la gran majoria dels seus ingressos sempre han provingut de les vendes de còpies de programari lliure i d'altres serveis relacionats. Actualment ven CD-ROM amb codi font, CD-ROM amb fitxers binaris, manuals amb una impressió de qualitat (tots ells amb la llibertat de ser redistribuïts i modificats) i distribucions de luxe (on s'inclou tot el software adaptat a la plataforma triada pel client). Els treballadors de la Free Software Foundation han escrit i actualitzat diferents paquets de programari GNU. Dos dels paquets destacats són la biblioteca de C i el shell (l'intèrpret de la línia d'ordres). La biblioteca de C del GNU és el que fan servir tots els programes que s'executen en un sistema GNU/Linux per a comunicar-se amb el Linux. Va ser creada per Roland McGrath, treballador de la Free Software Foundation. L'intèrpret d'ordres que fan servir la majoria de sistemes GNU/Linux és el BASH (Bourne Again Shell), creat per Brian Fox, empleat de la FSF. Vam finançar el desenvolupament d'aquests programes perquè el projecte GNU no se centrava només a crear unes eines informàtiques o un entorn de desenvolupament. El nostre objectiu era aconseguir un sistema operatiu complet i aquests programes eren imprescindibles per assolir-lo. "Bourne Again Shell" és una broma amb el nom del "Bourne Shell," que era l'intèrpret d'ordres habitual en l'Unix. Suport al programari lliure La filosofia del programari lliure rebutja una determinada pràctica comercial molt estesa, però no està en contra de fer negoci. Quan les empreses respecten la llibertat dels usuaris, els desitgem tot l'èxit. La venda de còpies de l'Emacs és un exemple de negoci amb programari lliure. Quan la FSF es va fer càrrec d'aquest negoci vaig haver de guanyar-me la vida amb alguna altra activitat, que va resultar ser la venda de serveis relacionats amb el programari lliure que havia creat. Em vaig dedicar a la formació per a ensenyar com programar el GNU Emacs i com personalitzar el GCC, i també al desenvolupament de programari, principalment per a l'adaptació del GCC a noves plataformes. Actualment hi ha diferents empreses que es dediquen a aquesta activitat comercial relacionada amb el programari lliure. Algunes empreses distribueixen recopilacions de programari lliure en CD-ROM i d'altres ofereixen diferents serveis d'assistència tècnica, des de respondre dubtes dels usuaris fins a corregir errors de programació o afegir funcions innovadores importants. Fins i tot comencen a aparèixer empreses de programari lliure que es dediquen a treure al mercat nous programes lliures. Cal vigilar, però, amb una sèrie d'empreses que s'autoassocien amb el terme "open source" (codi obert), perquè la seva activitat en realitat es basa en programari no lliure que funciona amb programari lliure. Aquestes empreses no són de programari lliure, sinó de programariprivatiu, els productes de les quals pretenen temptar els usuaris perquè s'allunyin de la llibertat. Anomenen aquests productes com "de valor afegit", fet que no és més que un reflex dels valors que voldrien que adoptéssim: la comoditat per davant de la llibertat. Si posem la llibertat per davant, els hauríem d'anomenar productes de "llibertat retallada". Objectius tècnics Ésser lliure era l'objectiu principal del sistema GNU. Encara que el GNU no contingués millores tècniques respecte a l'Unix, havia de representar un avantatge social, perquè permetria la cooperació entre usuaris, i un avantatge ètic, ja que respectaria la llibertat dels usuaris. L'aplicació de les normes habituals de bones pràctiques al projecte era lògica, com per exemple l'assignació dinàmica d'estructures de dades per a evitar límits de mida fixats arbitràriament i la gestió de tots els codis possibles de 8 bits sempre que fos raonable. A més, vam descartar la limitació de la mida de la memòria introduïda en l'Unix, vam decidir no tenir en compte les màquines de 16 bits (era evident que les màquines de 32 bits serien la norma al mercat quan el sistema GNU estigués enllestit) i no preocupar-nos de reduir l'ús de la memòria, tret que se superés el megabyte. En els programes en què la gestió de fitxers molt grans no tenia gaire importància, vam animar els programadors a carregar dins el core (nucli) els fitxers d'entrada sencers i, posteriorment, analitzar-ne el contingut sense necessitat de preocupar-se de l'I/O (entrades i sortides). Aquestes decisions van fer que molts programes GNU fossin més fiables i ràpids que els seus equivalents en l'Unix. Donació d'ordinadors A mesura que creixia la reputació del projecte GNU, algunes persones van començar a oferir-nos per al projecte la donació de màquines que funcionaven amb l'Unix. Aquestes màquines eren molt útils perquè la manera més senzilla de desenvolupar components del GNU era fer-ho en sistemes Unix i anar substituint-ne els components d'un en un. Arran d'això, però, ens vam plantejar una qüestió ètica: era acceptable que nosaltres tinguéssim còpies de l'Unix? L'Unix era (i encara és) programari privatiu, i la filosofia del projecte GNU deia que no podíem fer servir programari privatiu. Però aplicant el mateix raonament que porta a la conclusió que la violència en defensa pròpia està justificada, vaig decidir que era legítim fer servir un paquet de propietat si això era essencial per al desenvolupament d'un substitut lliure que ajudaria la resta d'usuaris a deixar d'utilitzar el paquet privatiu. Malgrat tot, encara que aquest fet fos un mal justificable, no deixava de ser un mal. Actualment ja no tenim còpies de l'Unix perquè les hem substituïdes per sistemes operatius lliures. Si no podíem substituir el sistema operatiu d'una màquina per un de lliure, canviàvem tota la màquina. La llista de tasques del GNU A mida que el projecte GNU anava avançant i anaven apareixent o es creaven cada cop més components per al sistema, va arribar un moment en què va resultar útil fer una llista de les feines pendents. La vam fer servir per implicar programadors en el projecte per què escrivissin les peces que faltaven. Aquesta llista la vam anomenar llista de tasques del GNU. A més dels components Unix que ens faltaven hi vam incloure altres projectes de programari i documentació que pensàvem que havia de tenir un sistema complet. Actualment, pràcticament ja no queden a la llista de tasques GNU components Unix pendents: s'ha fet la feina, a banda d'algunes tasques no essencials. Però la llista és plena de projectes que alguns anomenarien "aplicacions". Qualsevol programa que sigui interessant per a un grup considerable d'usuaris seria útil que s'incorporés a un sistema operatiu. A la llista de tasques fins i tot s'hi inclouen jocs, i des del primer moment. L'Unix portava jocs, de manera que el GNU també n'havia d'incloure. Com que la compatibilitat no era important en el cas dels jocs, no ens vam cenyir a la llista de jocs de l'Unix, sinó que vam fer una llista de diferents tipus de jocs que podrien agradar als usuaris. La GPL per a biblioteques del GNU La biblioteca de C del GNU fa servir un tipus especial de copyleft, la llicència pública general per a biblioteques (LGPL, Library General Public License) del GNU, que dóna permís per a enllaçar programari privatiu a la biblioteca. ¿Per què aquesta excepció? No és una qüestió de principis: no hi ha cap principi que digui que els productes de programari privatiu poden incloure el nostre codi (per què havíem de col·laborar en un projecte que ens negava fer ús del seu codi?). L'ús de la LGPL per a la biblioteca de C, o qualsevol biblioteca, és una qüestió d'estratègia. La biblioteca de C fa una tasca genèrica; tot sistema o compilador privatiu va acompanyat d'una biblioteca de C. Per tant, si la biblioteca de C només s'hagués pogut utilitzar amb programari lliure, això no hauria donat cap avantatge al programari lliure: hauria desincentivat l'ús de la nostra biblioteca. Hi ha un sistema que és una excepció a aquesta norma: al sistema GNU (inclòs el GNU/Linux), la biblioteca de C del GNU és l'única en C. Per tant, les condicions de distribució de la biblioteca de C del GNU determinen si és possible compilar un programa privatiu per al sistema GNU. No hi ha cap raó ètica per permetre l'existència d'aplicacionsprivatives al sistema GNU, però estratègicament sembla que el fet de prohibir-les-hi contribuiria més a desincentivar l'ús del sistema GNU que a fomentar el desenvolupament d'aplicacions lliures. Per aquest motiu, l'ús de la LGPL és una bona estratègia per a la biblioteca de C. Per a d'altres biblioteques, la decisió estratègica s'ha de prendre en funció del cas. Si una biblioteca realitza una funció especial que pot ajudar a escriure determinats tipus de programes, el fet de publicar-la sota la GPL i limitar-la als programes lliures és una manera d'ajudar altres desenvolupadors de programari lliure donant-los un avantatge davant de l'amenaça del programari privatiu. Considerem el cas de la GNU Readline [3], una biblioteca creada per permetre l'edició de línies d'ordres del BASH. La Readline està publicada sota la GPL ordinària del GNU i no sota la LGPL per a biblioteques. D'aquesta manera probablement la Readline s'utilitza menys, però per a nosaltres això no és una pèrdua. Mentrestant, com a mínim hi ha una aplicació útil que s'ha transformat específicament en programari lliure per així poder fer ús de la Readline, cosa que representa un guany real per a la comunitat. Els desenvolupadors del programari privatiu tenen l'avantatge que aporten els diners: els desenvolupadors del programari lliure han de crear avantatges per als col·legues. Espero que algun dia tinguem una quantitat important de biblioteques sota la llicència GPL sense equivalent disponible entre el programari privatiu, i que siguin mòduls molt útils com a elements constituents de nou programari lliure, fet que ens col·locaria en una posició important d'avantatge per intensificar el desenvolupament de més programari lliure. Un repte personal? Eric Raymond diu que "a la base de tot bon programa hi ha l'assoliment del repte personal d'un programador a qui algú ha picat l'amor propi". Aquesta afirmació potser és certa en alguns casos, però molts components essencials del programari GNU es van crear amb l'objectiu de disposar d'un sistema operatiu lliure complet: són fruit d'una filosofia i d'una planificació, no pas d'un impuls espontani. Per exemple, vam desenvolupar la biblioteca de C del GNU perquè un sistema equivalent a l'Unix necessita una biblioteca de C, i l'intèrpret d'ordres BASH perquè un sistema equivalent a l'Unix necessita un intèrpret d'ordres, i el programa GNU tar perquè un sistema equivalent a l'Unix necessita un programa tar. La mateixa regla es compleix en el cas dels meus programes: el compilador C del GNU, el GNU Emacs, el GDB i el GNU Make. Alguns dels programes del GNU van ser creats per fer front a amenaces específiques a la nostra llibertat. En aquest sentit, vam crear el gzip per substituir el programa Compress, ja que la comunitat el va perdre a causa de les patents de l'algorisme LZW [4]. Vam trobar gent per desenvolupar el LessTif, i posteriorment pel GNOME i l'Harmony, per solucionar els problemes provocats per algunes biblioteques privatives (vegeu l'apartat "Biblioteques no lliures" més endavant). Estem desenvolupant el GNU Privacy Guard per substituir programari de xifratge no lliure popular, ja que els usuaris no haurien d'haver d'escollir entre confidencialitat i llibertat. És clar que la gent que escrivia aquests programes es va interessar en el projecte, i diferents persones hi van afegir moltes funcions perquè això responia a les seves necessitats i interessos. Però aquesta no és la raó de l'existència dels programes. Esdeveniments inesperats Al principi del projecte GNU, m'imaginava que crearíem tot el sistema GNU i posteriorment el publicaríem íntegrament, però no va anar d'aquesta manera. Com que tots els components del sistema GNU eren compatibles amb els sistemes Unix, es podien fer servir en aquests sistemes molt abans que existís el sistema GNU complet. Alguns d'aquests programes van tenir èxit i els usuaris els van ampliar i adaptar a les diferents versions incompatibles de l'Unix, i de vegades també a d'altres sistemes. Gràcies a aquest procés, els programes esdevingueren més potents, la qual cosa aportà al mateix temps fons i col·laboradors per al projecte GNU, però segurament també va endarrerir uns quants anys l'assoliment d'un sistema mínimament operatiu, perquè els desenvolupadors del GNU dedicaven el seu temps a aquestes adaptacions i a afegir funcions als components existents enlloc d'anar treballant seguidament en els components pendents de desenvolupament. El GNU Hurd El 1990, el sistema GNU estava gairebé acabat: l'únic component important que faltava era el nucli. Vam decidir crear el nucli (kernel) com un conjunt de processos de servidor que s'executaven damunt Mach. El Mach és un micronucli (microkernel) desenvolupat a la Universitat de Carnegie Mellon i, més endavant, a la Universitat d'Utah. El GNU Hurd (joc de paraules amb herd of gnus -"bandada de nyus"-) és un grup de servidors (d'aquí la "bandada de nyus") que s'executen damunt Mach i fan les diferents funcions del nucli de l'Unix. L'inici del desenvolupament es va endarrerir perquè vam esperar que es publiqués el Mach com a programari lliure, tal com s'havia promès. Un dels motius que ens van fer escollir aquest disseny era evitar el que semblava ser la part més complicada del projecte: depurar un programa de nucli sense disposar d'un depurador a nivell de codi font. Aquesta feina ja s'havia fet amb el Mach, i preteníem depurar els servidors Hurd com a programes d'usuari, amb el GDB. Però aquesta tasca esdevingué molt lenta, i vam comprovar que la depuració dels servidors multiprocès que s'envien missatges entre ells és molt complicada. Hem trigat molts anys a fer que el Hurd funcioni d'una manera fiable. Alix En un principi, el nucli del GNU no s'havia d'anomenar Hurd. El nom originari era Alix, que era com es deia en aquella època la nina dels meus ulls. L'Alix era una administradora de sistemes Unix que havia observat que el seu nom, d'acord amb l'estructura que prenia la nomenclatura habitual, seria escaient per una versió del sistema Unix. Un dia va dir en broma que "algú hauria de posar el meu nom al nucli d'un sistema". En aquell moment no vaig dir res, però vaig decidir sorprendre-la amb un nucli anomenat Alix. Finalment la cosa no va anar així. Michael Bushnell (ara conegut com en Thomas), el principal desenvolupador del nucli, es va estimar més el nom de Hurd i va fer servir el d'Alix per designar una part determinada del nucli, la que capturaria trucades del sistema i les gestionaria enviant missatges als servidors Hurd. Al final, l'Alix i jo vam trencar i ella va canviar de nom. Independentment d'aquest fet, el disseny del Hurd es va modificar de manera que la biblioteca de C enviés missatges directament als servidors, la qual cosa va fer que el component Alix desaparegués del disseny. Però abans que tot això passés, un amic d'ella va veure per casualitat el nom d'Alix al codi font del Hurd i li ho va comentar, de manera que el nom va complir la seva missió. Linux i GNU/Linux El GNU Hurd encara no està a punt per ser una eina operativa, però afortunadament disposem d'un altre nucli. El 1991 en Linus Torvalds va crear un nucli compatible amb l'Unix i li va posar el nom de Linux. Cap al 1992, la combinació del Linux amb l'encara no complet del tot sistema GNU va donar lloc a un sistema operatiu lliure complet (és clar que la combinació dels dos elements no va ser pas una tasca senzilla). Gràcies al Linux, avui dia podem fer servir una versió del sistema GNU. Aquesta versió del sistema l'anomenem GNU/Linux per expressar que es tracta d'una combinació del sistema GNU amb el Linux com a nucli. Reptes del futur Hem demostrat la nostra capacitat per desenvolupar un ampli ventall de programari lliure, però això no vol dir que siguem ni invencibles ni imparables. Hi ha diferents reptes que fan que el futur del programari lliure sigui incert, i per a superar-los necessitarem dosis importants de resistència i perseverança, de vegades durant anys. Necessitarem aquella determinació que mostren les persones quan donen valor a la seva llibertat i no volen permetre que ningú els la retiri. Els quatre apartats següents tracten d'aquestes reptes. Maquinari secret Els fabricants de maquinari mantenen cada cop més les especificacions del maquinari en secret. Això dificulta el desenvolupament de controladors lliures perquè el Linux i l'XFree86 [5] siguin compatibles amb el maquinari nou. Ara tenim sistemes complets lliures, però en el futur no els tindrem si no podem oferir compatibilitat amb els ordinadors del demà. Aquest problema es pot afrontar des de dos vessants. Els programadors poden fer servir l'enginyeria inversa per deduir com es pot mantenir la compatibilitat amb el maquinari. La resta d'usuaris podem escollir el maquinari que sigui compatible amb el programari lliure; A mida que augmentin els usuaris de programari lliure, la política del secretisme en les especificacions s'anirà convertint cada vegada més en una cosa contraproduent per a les empreses que la practiquen. L'enginyeria inversa és una feina feixuga: aconseguirem programadors amb la determinació suficient com per fer-se'n càrrec? Sí, si som capaços d'enfortir el sentiment que el programari lliure és una qüestió de principis i que els controladors no lliures són intolerables. Hi haurà molta gent que dediqui diners extra, o fins i tot una mica de temps extra, perquè tots tinguem controladors lliures? Sí, sempre i quan el convenciment de tenir llibertat estigui ben estès. Biblioteques no lliures Les biblioteques no lliures que funcionen en sistemes operatius lliures són una trampa per als desenvolupadors de programari lliure. Les atractives funcions de les biblioteques en són l'esquer: si es fa servir la biblioteca, es cau en la trampa, ja que el programa deixa de ser útil per a un sistema operatiu lliure (en un sentit estricte es podria incloure el programa en qüestió, però no funcionaria sense la biblioteca). I podria ser pitjor: si el programa que utilitza la biblioteca de propietat es fa popular, altres programadors desprevinguts podrien caure en la trampa. El primer exemple d'aquest problema va ser el joc d'eines Motif [6] a la dècada dels vuitanta. Encara que aleshores no hi havia sistemes operatius lliures, era evident el problema que el Motif els crearia més endavant. El projecte GNU va respondre de dues maneres: demanant que els projectes individuals de programari lliure fossin compatibles tant amb els ginys lliures del joc d'eines X com amb el Motif, i demanant que algú escrivís un substitut lliure del Motif. Aquesta tasca es va allargar uns quants anys: el LessTif, creat pels Hungry Programmers, va haver d'esperar fins al 1997 per tenir la solidesa necessària per ser compatible amb la majoria d'aplicacions del Motif. Entre el 1996 i el 1998 s'utilitzà la Qt, una altra biblioteca no lliure per al joc d'eines de la interfície gràfica d'usuari (GUI en anglès), en una col·lecció important de programari lliure: l'escriptori KDE. Els sistemes GNU/Linux lliures no podien fer servir el KDE perquè no podíem usar la biblioteca. Tot i això, alguns distribuïdors comercials de sistemes GNU/Linux que no es prenien seriosament la política del programari lliure van afegir el KDE als seus sistemes --per oferir un sistema amb més funcionalitat però menys llibertat. El grup KDE es dedicava activament a animar més i més programadors a fer servir la biblioteca Qt, i milions de nous "usuaris del Linux" no sospitaven que això comportava un problema. La situació pintava malament. La comunitat del programari lliure va afrontar el problema de dues maneres: amb el GNOME i amb l'Harmony. El GNOME o GNU Network Object Model Environment (entorn de models d'objectes distribuïts del GNU), és el projecte d'escriptori del GNU. Iniciat el 1997 per Miguel de Icaza i desenvolupat amb el suport de Red Hat Software, el GNOME pretenia oferir funcions d'escriptori similars, però utilitzant únicament programari lliure. També ofereix avantatges tècnics, com ara la compatibilitat amb diferents llenguatges, no solament amb el C++, però el seu objectiu principal era la llibertat: fer innecessari l'ús de programari no lliure. L'Harmony és una biblioteca de substitució compatible dissenyada per permetre executar el programari KDE sense recórrer a la Qt. El novembre de 1998 els creadors de la Qt van anunciar un canvi de llicència que, un cop dut a terme, convertiria la Qt en programari lliure. No ho sabem del cert, però penso que aquest canvi en part va ser degut a la ferma resposta de la comunitat al problema que creava la Qt quan no era lliure (la nova llicència no és pràctica ni justa, motiu pel qual continua sent desaconsellable fer servir la Qt) [7]. Com respondrem a la propera temptació de biblioteca no lliure? Entendrà el conjunt de la comunitat la necessitat de no caure en la trampa? O renunciarem molts de nosaltres a la llibertat a canvi de la comoditat i crearem així un problema de grans dimensions? El nostre futur depèn de la nostra filosofia. Patents de programari La pitjor amenaça a què ens enfrontem prové de les patents de programari, perquè poden fer que determinats algorismes i funcions quedin fora de l'abast del programari lliure durant fins a vint anys. Les patents de l'algorisme de compressió LZW es van sol·licitar el 1983, i avui dia encara no podem publicar programari lliure per crear fitxers GIF amb una compressió adequada. El 1998 es va aturar la distribució d'un programa lliure que permetia crear fitxers d'àudio comprimit MP3 sota l'amenaça d'una demanda per violació de patent. També hi ha maneres de fer front a les patents: es poden cercar proves que demostrin la no-validesa d'una patent i podem mirar de trobar altres maneres de fer la mateixa tasca. Però aquests mètodes no sempre funcionen, i quan tots dos fracassen, les patents poden fer que tot el programari lliure estigui mancat d'alguna funció desitjada pels usuaris. Què farem quan es doni aquest cas? Els qui valorem el programari lliure en defensa de la llibertat no abandonarem en cap cas el programari lliure. Trobarem la manera de fer la mateixa feina sense recórrer a les funcions patentades. Però els que valoren el programari lliure perquè esperen que tècnicament sigui superior, probablement el consideraran un fracàs quan estigui limitat per una patent. Així doncs, encara que sigui útil parlar de l'eficàcia pràctica del model de desenvolupament voluntarista (model "catedral" [8]) i de la fiabilitat i la potència d'alguns programes lliures, no n'hi ha prou amb això: hem de parlar de llibertat i de principis. Documentació lliure El principal escull dels nostres sistemes operatius lliures no rau en el programari, sinó en la manca de bons manuals lliures que puguem incloure als nostres sistemes. La documentació és bàsica en qualsevol paquet de programari: els paquets de programari lliure importants que no van acompanyats d'un bon manual lliure presenten una mancança considerable. Avui dia tenim moltes d'aquestes mancances. La documentació lliure, igual que el programari lliure, és una qüestió de llibertat i no de preu. El criteri que se segueix en els manuals lliures és pràcticament el mateix que el del programari lliure: es tracta de donar a tots els usuaris determinades llibertats. La redistribució (inclosa la venda comercial) s'ha de permetre, tant en format electrònic com en suport paper, per tal que el manual pugui acompanyar totes les còpies del programa. El permís per fer modificacions també és essencial. Com a regla general, no penso que sigui primordial donar permís per modificar qualsevol tipus d'article o de llibre: per exemple, penso que ni el lector ni jo estem obligats a donar permís per modificar articles com ara aquest, que descriuen els nostres actes i punts de vista. Però hi ha un motiu concret pel qual la llibertat de modificació és essencial en el cas de la documentació del programari lliure. Les persones que exerceixen el seu dret a modificar el programari, i hi afegeixen o canvien funcions, si són curoses amb la seva feina també modificaran el manual per tal d'oferir documentació precisa i útil juntament amb el programa modificat. Els manuals que no permeten que els programadors siguin curosos amb la seva feina no satisfan les necessitats de la nostra comunitat. Determinats límits en la manera de fer les modificacions no són un problema. Són acceptables les obligacions, per exemple, de mantenir l'avís de copyright de l'autor original, les condicions de distribució o la llista d'autors. Tampoc no hi ha cap inconvenient a exigir que les versions modificades incloguin una nota on s'especifiqui que s'hi han introduït canvis, i fins i tot es pot demanar que no s'eliminin o es modifiquin determinats apartats, sempre que aquests apartats tractin de temes que no siguin tècnics. Aquest tipus de restriccions no plantegen cap problema perquè no impedeixen que el programador curós adapti el manual segons les modificacions introduïdes al programa. Dit d'una altra manera: no priven la comunitat del programari lliure d'utilitzar un manual complet. D'altra banda, però, s'ha de poder modificar tot el contingut "tècnic" del manual i, posteriorment, distribuir-ne el resultat per tots els mitjans i canals habituals: en cas contrari, les restriccions obstruiran el funcionament de la comunitat, el manual deixarà de ser lliure i caldrà fer-ne un de nou. Tindran els desenvolupadors de programari lliure la consciència i la convicció necessàries per generar un ventall complet de manuals lliures? Un cop més, el nostre futur depèn de la filosofia. Hem de parlar de llibertat Les estimacions actuals són que hi ha deu milions d'usuaris de sistemes GNU/Linux com ara el Debian GNU/Linux i el Red Hat Linux. El programari lliure ofereix avantatges pràctics tan importants que els usuaris s'hi estan passant per motius purament pràctics. Les bones conseqüències que això té són evidents: més interès a desenvolupar programari lliure, més clients per a les empreses de programari lliure i més capacitat per fomentar que les empreses creïn programari lliure comercial en lloc de programari privatiu. Cal dir, però, que l'interès en el programari creix més ràpidament que la presa de consciència de la filosofia en què es basa, fet que resulta problemàtic. La nostra capacitat d'afrontar els reptes i les amenaces esmentats més amunt depèn de la voluntat de defensar amb fermesa la llibertat. Per garantir que la nostra comunitat tingui aquesta voluntat hem de transmetre aquesta idea als usuaris nous a mesura que entrin a formar part de la comunitat. En aquest punt, però, estem fallant: els esforços per atreure usuaris nous a la nostra comunitat superen en escreix els esforços per ensenyar-los les normes de la comunitat. Hem de fer ambdues coses i tots dos esforços han d'estar equilibrats. "Codi obert" El 1998, la tasca d'educar els usuaris nous en la llibertat encara es va fer més difícil quan una part de la comunitat va decidir deixar de fer servir el terme programari lliure i adoptar en comptes d'aquest el terme programari de codi obert. Alguns dels que defensaven aquest últim terme pretenien evitar la confusió entre lliure i gratuït, la qual cosa és un objectiu ben lloable. D'altres, però, pretenien deixar de banda els principis que havien motivat el moviment per al programari lliure i el projecte GNU per atreure l'atenció dels executius i els usuaris empresarials, molts dels quals tenen una ideologia que posa els beneficis econòmics per davant de la llibertat, de la comunitat i dels principis ètics. Així, la retòrica del "codi obert" se centra en el potencial de crear programari potent i d'alta qualitat, però defuig les idees de llibertat, de comunitat i de principis. Les revistes "Linux" en són un bon exemple: van plenes d'anuncis de programari privatiu que és compatible amb el GNU/Linux. Quan aparegui el proper joc d'eines Motif o la propera biblioteca Qt, què faran aquestes revistes: aconsellaran els programadors que se'n mantinguin al marge o bé en publicaran anuncis? El suport de les empreses pot ajudar la comunitat de moltes maneres i, encara que la resta de factors no canviïn, no deixa de ser útil. Però si el seu suport l'aconseguim parlant encara menys de llibertat i de principis, el resultat pot ser desastrós, ja que s'accentua el desequilibri ja existent entre les activitats de difusió i les d'ensenyament cívic. Tant programari lliure com codi obert descriuen, més o menys, la mateixa categoria de programari, però diuen coses ben diferents sobre el programari i els valors. El projecte GNU continua fent servir el terme programari lliure per expressar la idea que no només la tecnologia és important: també ho és la llibertat. Prova-ho! La filosofia de Yoda ("No hi ha provatura que valgui") pot semblar atractiva, però a mi no em serveix. He portat a terme la majoria de la meva feina amb el neguit de si seria capaç de fer-la i, encara que fos així, si aconseguiria l'objectiu desitjat. Malgrat tot ho vaig provar, perquè no hi havia ningú més que jo entre l'enemic i la meva ciutat. Sorprenentment per a mi, de vegades fins i tot he tingut èxit. De vegades no he tingut èxit i he perdut algunes de les meves ciutats. En aquests casos he trobat una altra ciutat amenaçada i m'he preparat per a la següent batalla. Amb el temps, he après a detectar amenaces i a posicionar-me entre aquestes amenaces i la meva ciutat, llançant una crida a la resta de hackers perquè s'unissin a mi. Ara ja no acostumo a lluitar sol. És un plaer i una gran satisfacció veure un regiment de hackers atrinxerats al front de batalla: aleshores m'adono que la ciutat podria sobreviure... de moment. Però els perills cada any són més grans, i Microsoft ha posat el punt de mira en la nostra comunitat. No podem donar per fet un futur de llibertat. No ho doneu per fet! Si voleu conservar la llibertat heu d'estar preparats per defensar-la. NOTES · ^ 1. Publicat originàriament al llibre Open Sources: Voices from the Open Source Revolution (O'Reilly, 1999). Aquesta versió forma part de Free Software, Free Society: Selected Essays of Richard M. Stallman, 2002, GNU Press (http://www.gnupress.org); ISBN 1-882114-98-1. Es permet la còpia literal i la distribució per qualsevol mitjà de tot aquest article, sempre que es reprodueixi aquest avís. · ^ 2. No és fàcil donar una definició senzilla d'una activitat tan variada com la que caracteritza els hackers, però penso que el que tenen en comú és la intel·ligència, les ganes de jugar i l'habilitat per a explorar. La passió dels hackers és explorar els límits d'allò que és possible, amb un esperit de joc d'intel·ligència. Els hackers valoren les activitats que giren entorn d'un joc d'intel·ligència. El lector pot ajudar a corregir la mala interpretació d'aquest terme distingint entre els que trenquen els sistemes de seguretat i els experts informàtics, és a dir, entre els crackers i els hackers, respectivament. Els crackers són els que fan saltar els sistemes de seguretat. Pot ser que hi hagi pirates que també siguin hackers, de la mateixa manera que també podrien ser jugadors d'escacs o de golf, encara que la majoria no ho són (RMS, On Hacking, 2002). · ^ 3. La biblioteca GNU Readline ofereix un conjunt de funcions que utilitzen les aplicacions que permeten que els usuaris editin les línies d'ordres a mesura que les escriuen. · ^ 4. L'algorisme Lempel-Ziv-Welch serveix per comprimir dades. · ^ 5. L'XFree86 és un programa que ofereix un entorn d'escriptori que fa d'interfície amb el maquinari de visualització (ratolí, teclat, etc.) i que funciona en moltes plataformes diferents. · ^ 6. Motif és una interfície gràfica i un gestor de finestres que funciona sobre X-Window. · ^ 7. El setembre del 2000, la Qt es va tornar a publicar sota la GPL del GNU, de manera que en essència es va resoldre el problema. · ^ 8. Probablement volia escriure "model "basar"", ja que aquest era l'alternativa nova i controvertida inicialment. < Enrera Pàgina generada del web www.culturalliure.cat per a ser impresa fàcilment el 12/10/2008. |