Programari lliure, societat lliure: Recull d’articles de Richard M. Stallman      Introducció de Lawrence Lessig Edició de Joshua Gay L'obra Free Software, Free Society: Selected Essays of Richard M. Stallman, ha estat publicada per la Free Software Foundation amb els permisos i condicions que s'especifiquen a sota. La publicació d'aquesta traducció al català i en format electrònic per al projecte de Cultura lliure ha estat autoritzada per l'autor i per la Free Software Foundation. La traducció ha estat realitzada per Toni Pujades, la correcció orto-tipogràfica ha estat obra de Noemí Fluixà i la revisió general l'ha dut a terme en Jordi Mundet. Benjamí Villoslada i Ricardo Galli han tingut l'amabilitat de realitzar l'assessorament tècnic durant la traducció, per a garantir-ne la màxima fidelitat als continguts i l'esperit de l'obra original. Aquesta versió en diversos formats digitals, Programari lliure, societat lliure: Recull d'articles de Richard M. Stallman, és una traducció de l'obra abans esmentada i ha estat llicenciada per encàrrec de la Secretaria de Telecomunicacions i Societat de la Informació del Departament d'Universitats, Recerca i Societat de la Informació de la Generalitat de Catalunya. Més informació a GNU. GNU Press www.gnupress.org Free Software Foundation Boston, Massachusetts (EUA)   Primera impressió, primera edició. Copyright (c) 2002 Free Software Foundation, Inc.   ISBN 1-882114-98-1 Editat per la Free Software Foundation 59 Temple Place Boston, Massachusetts. Tel.: 1-617-542-5942 Fax: 1-617-542-2652 C/e: gnu@gnu.org Web: www.gnu.org   GNU Press és una editorial de la FSF. C/e: press@gnu.org Web: www.gnupress.org Si voleu fer compres a l’engròs per a escoles, grups o distribuïdors, si teniu dubtes o voleu fer cap comentari, poseu-vos en contacte amb GNU Press.   Il·lustració: Etienne Suvasa. Disseny de la coberta: Jonathan Richard. Es poden fer i distribuir còpies literals d’aquest llibre sempre que totes aquestes còpies incloguin l’avís de copyright i aquest mateix avís. Es poden copiar i distribuir versions modificades d’aquest llibre segons les condicions establertes per a les còpies literals. Es poden copiar i distribuir traduccions d’aquest llibre a altres idiomes, a partir de l’original anglès, respectant les condicions de distribució de versions modificades esmentades més amunt, sempre que s’hagi obtingut l’autorització de la Free Software Foundation. Taula de continguts Nota de l’editor ... 6 Nota sobre programari ... 9 Guia temàtica ... 13 Introducció ... 17 Secció U ... 22 El projecte GNU i el programari lliure Capítol 1: El projecte GNU ... 23 Capítol 2: El manifest del GNU ... 48 Capítol 3: Definició de programari lliure ... 61 Capítol 4: Per què el programari no ha de tenir amos ... 65 Capítol 5: La importància del nom ... 72 Capítol 6: Per què el “programari lliure” és millor que el “codi obert” ... 76 Capítol 7: Publicació de programari lliure des de les universitats ... 84 Capítol 8: Venda de programari lliure ... 87 Capítol 9: El programari lliure necessita documentació lliure ... 91 Capítol 10: La cançó del programari lliure ... 95 Secció dos ... 97 Copyright, copyleft i patents Capítol 11: El dret a llegir ... 98 Capítol 12: Mala interpretació del copyright: un seguit d’errors ... 104 Capítol 13: La ciència ha de rebutjar el copyright ... 118 Capítol 14: Què és el copyleft? ... 121 Capítol 15: Copyleft: idealisme pragmàtic ... 124 Capítol 16: El perill de les patents de programari ... 128 Secció tres ... 151 Llibertat, societat i programari Capítol 17: Podeu confiar en el vostre ordinador? ... 152 Capítol 18: Per què el programari ha de ser lliure ... 157 Capítol 19: Copyright i globalització en l'era de les xarxes informàtiques ... 178 Capítol 20: Programari lliure: llibertat i cooperació ... 206 Capítol 21: Paraules que cal evitar ... 249 Secció quatre ... 257 Les llicències Llicència Pública General del GNU ... 258 Llicència Pública General Menor del GNU ... 268 Llicència de Documentació Lliure del GNU ... 282 Nota de l’editor 1   Les acaballes del segle XX semblaven un malson orwellià: lleis que prohibien la publicació de les investigacions científiques sobre programari, lleis que prohibien compartir el programari, un excés de patents de programari que prohibien el desenvolupament, i contractes de llicència d’usuari final que negaven totes les llibertats als usuaris, com ara la propietat, la confidencialitat i la possibilitat de compartir i de comprendre el funcionament del programari. Aquest recull d’articles i conferències de Richard M. Stallman aborda moltes d’aquestes qüestions. Stallman se centra especialment en la filosofia que dóna sentit al moviment per al programari lliure. Aquest moviment s’alça contra l’opressió de les lleis federals i dels perniciosos contractes de llicència d’usuari final amb l’esperança de divulgar la idea de programari lliure. Gràcies a la força de centenars de milers de programadors que col·laboren per crear programari GNU i el sistema operatiu GNU/Linux, el programari lliure ha conquerit un lloc als servidors que controlen la xarxa Internet, i a mesura que es va implantant al mercat d’ordinadors de taula, es va constituint en amenaça per a Microsoft i altres empreses de programari de propietat. Aquests articles s’adrecen a un públic molt ampli: no cal tenir coneixements d’informàtica per a entendre la filosofia i les idees que s’hi expressen. Tot i així incloem al llibre una "Nota sobre programari" perquè el lector poc avesat a qüestions tècniques es familiaritzi amb part de l’argot i dels conceptes informàtics més usats, i a més hi ha les notes a peu de pàgina presents en tota l’obra. Cal destacar que molts dels escrits són versions actualitzades i revisades dels textos originals publicats. I com que cada capítol va acompanyat d’un avís de còpia literal, podeu fer i distribuir lliurement còpies del text. L’ordre dels escrits és força arbitrari, en el sentit que no cal llegir-los en cap ordre determinat, ja que són treballs independents els uns dels altres redactats durant un període de 18 anys. La primera part, "El projecte GNU i el programari lliure", pretén familiaritzar el lector amb la història i la filosofia del programari lliure i del projecte GNU. A més, serveix com a guia perquè els programadors, els formadors i els empresaris incorporin d’una manera pragmàtica el programari lliure en la societat, en el món de l’empresa i en la vida mateixa. A la segona part, "Copyright, copyleft i patents", s’estudien els principis filosòfics i polítics del sistema de copyright i de patents, i els canvis que ha sofert durant els últims dos-cents anys. També s’argumenta que la legislació i la normativa actuals sobre patents i copyright (drets d’autor) no defensen realment els interessos dels consumidors i usuaris finals de programari, música, pel·lícules i productes en altres formats. Ben al contrari, aquesta part estudia com estan pensades les lleis per ajudar les empreses i els governs a anul·lar les llibertats de l’usuari. La tercera part, "Llibertat, societat i programari", aprofundeix en la discussió sobre els drets i la llibertat, i en l’amenaça que representen per als drets i la llibertat el programari privatiu, la legislació sobre drets d’autor (copyright), la globalització, la “trusted computing" o informàtica de confiança i d’altres normes, normatives i polítiques socialment perilloses. Una de les maneres que tenen el sector de la informàtica i els governs per a intentar convèncer la gent a renunciar a determinats drets i llibertats és mitjançant l’ús de terminologia que implícitament tansmet el missatge que el fet de compartir informació, idees i programari està malament. Per aquest motiu hem inclòs un escrit on s’expliquen algunes paraules que indueixen a confusió i que segurament s’haurien d’evitar. La quarta part, "Les llicències", inclou la llicència pública general del GNU, la llicència pública menys general del GNU i la llicència per a documentació lliure del GNU, que constitueixen els pilars del projecte GNU. Si voleu comprar aquest llibre per a ús personal, educatiu o per distribuir-lo, escriviu a la Free Software Foundation (FSF), a l’adreça sales@fsf.org, o visiteu la pàgina http://order.fsf.org. Si voleu contribuir a la causa de la llibertat del programari, podeu fer una donació a la FSF a través de la pàgina http://donate.fsf.org (o escriviu a l’adreça donations@fsf.org si voleu més informació). També us podeu posar en contacte amb la FSF per via telefònica trucant al +1-617-542-5942. Segurament hi ha milers de persones a qui s’hauria d’agrair la seva contribució al projecte GNU, però els seus noms mai no es podran incloure en una única llista. Per això vull expressar la meva gratitud a tots aquells hackers anònims i a totes les persones que han ajudat a promoure, crear i difondre el programari lliure arreu del món. Per la seva aportació en l’elaboració d’aquest llibre, vull donar les gràcies a: Julie Sussman, P.P.A., per l’edició de diferents còpies en diferents estadis de desenvolupament, per escriure la "Guia temàtica" i per les seves observacions en qüestions com ara la puntuació o l’ordenació dels capítols. Lisa (Opus) Goldstein i Bradley M. Kuhn per la seva ajuda a l’hora d’organitzar, corregir i, en general, fer que aquest recull de textos fos una realitat. Claire H. Avitabile, Richard Buckman, Tom Chenelle i (especialment) Stephen Compall per la seva lectura meticulosa i correcció de tota l’obra; Karl Berry, Bob Chassell, Michael Mounteney i M. Ramakrishnan per la seva experimentada ajuda a l’hora de donar format i editar aquesta recopilació d’escrits en TEXinfo (http://www.texinfo.org); Mats Bengtsson per ajudar-me a donar format a la cançó per al programari lliure (Free Software Song) amb el Lilypond (http://www.gnu.org/software/lilypond/); Etienne Suvasa per les il·lustracions que encapçalen cada part del llibre i per totes les obres amb què ha contribuït a la Free Software Foundation durant molts anys; i Melanie Flanagan i Jason Polan pels seus útils suggeriments pensant en el lector no especialitzat. Vull agrair especialment la col·laboració de Bob Tocchio, del taller Paul’s Transmission Repair, pels seus coneixements sobre transmissions d’automòbil. També vull donar les gràcies a la meva mare i al meu pare, Wayne i Jo-Ann Gay, per ensenyar-me que s’ha de viure d’acord amb els ideals que cadascú defensa i per fer-me veure a mi, els meus dos germans i les meves tres germanes la importància del fet de compartir. Finalment, i amb un èmfasi especial, vull expressar la meva gratitud a Richard M. Stallman per la filosofia GNU, el programari meravellós i els escrits que ha compartit amb tot el món.     Joshua Gay josh@gnu.org Nota sobre programari 2   Aquest apartat està destinat als lectors que tinguin pocs coneixements, o cap ni un, sobre els aspectes tècnics de la informàtica. No cal llegir aquest apartat per entendre els escrits i les conferències que es presenten en aquest llibre, però pot ser útil per als lectors que desconeguin alguns dels termes que s’acostumen a fer servir en el camp de la programació i la informàtica. Un programador informàtic escriu programari (programes d’ordinador). Un programa ve a ser una recepta d’ordres que indiquen a l’ordinador què ha de fer per dur a terme determinades tasques. De ben segur que el lector coneix molts programes diferents: el navegador web, el processador de textos, el client de correu electrònic, etc. Els programes normalment es comencen a construir en forma de codi font. El conjunt d’ordres de nivell més alt s’escriu en un llenguatge de programació com ara C o Java. Posteriorment, una eina que rep el nom de compilador les tradueix a un llenguatge de nivell més baix conegut com a llenguatge d’assemblatge. Una altra eina, l’assemblador, tradueix el codi d’assemblatge al nivell més baix, el llenguatge màquina, que l’ordinador entén com a llengua nativa.  Suposem que tenim el programa "Hola al món", un dels primers programes que fa servir normalment la gent que aprèn el llenguatge C, llenguatge que (un cop compilat i executat) imprimeix "Hola al món!" a la pantalla .3  int main(){ printf(‘‘Hola al món!’’); return 0; } En el llenguatge de programació Java, el mateix programa s’escriuria de la manera següent:   public class hello { public static void main(String args[]) { System.out.println(‘‘Hola al món!’’); } } En llenguatge màquina, però, una petita part del programa podria tenir un aspecte semblant a això:   1100011110111010100101001001001010101110 0110101010011000001111001011010101111101 0100111111111110010110110000000010100100 0100100001100101011011000110110001101111 0010000001010111011011110111001001101100 0110010000100001010000100110111101101111   La representació anterior de llenguatge màquina és la més bàsica i es coneix com a binària. Totes les dades dels ordinadors estan formades per una sèrie de valors 0 i 1, però per a una persona seria extremadament difícil entendre’n el significat. Per a fer un petit canvi al codi binari caldria saber perfectament com interpreta un ordinador determinat el llenguatge màquina. Això podria ser factible en el cas de programes petits com els esmentats més amunt, però en un programa important els canvis petits comportarien una feinada esgotadora. A tall d’exemple, imaginem que volguéssim introduir un canvi al programa "Hola al món" escrit en C perquè, enlloc d’imprimir "Hola al món!" en català, ho fes en anglès. El canvi seria ben senzill i aquí tenim el programa nou: int main(){ printf (‘‘Hello World!’’); return 0; }   No és pas gaire difícil deduir com s’hauria d’introduir el mateix canvi al programa escrit en el llenguatge de programació Java, però fins i tot molts programadors no sabrien ni per on començar si volguessin modificar la representació binària. Quan parlem de codi font no ens referim al llenguatge màquina que només entenen els ordinadors, sinó als llenguatges de nivell més alt, com ara C o Java. D’altres llenguatges de programació coneguts són C++, Perl i Python. Alguns són més difícils que d’altres a l’hora d’entendre’ls i de programar-hi, però tots ells són molt més senzills que l’enrevessat llenguatge màquina en què es converteixen un cop s’han compilat i assemblat els programes. Un altre concepte important és el de sistema operatiu. Un sistema operatiu és el programari que gestiona les entrades i sortides, l’assignació de memòria i la planificació de tasques. Per regla general, es considera que programes habituals o útils com ara la interfície gràfica d’usuari (GUI, Graphical User Interface) són part del sistema operatiu. El sistema operatiu GNU/Linux inclou tant programari GNU com programari extern (no-GNU), i un nucli anomenat Linux. El nucli gestiona les tasques de baix nivell de les quals depenen les aplicacions, com ara les entrades i sortides o la planificació de tasques. El programari GNU inclou la major part de la resta del sistema operatiu, com ara el GCC (un compilador genèric per a molts llenguatges), el GNU Emacs (un editor de textos ampliable amb moltíssimes funcions), el GNOME (l’escriptori del GNU), la GNU libc (una biblioteca que han d’utilitzar tots els programes, tret del nucli, per tal de comunicar-se amb aquest) i el Bash (l’intèrpret d’ordres del GNU que llegeix les línies d’ordres introduïdes per l’usuari). Molts d’aquests programes van ser ideats per Richard Stallman a les beceroles del projecte GNU i s’inclouen en tots els sistemes operatius GNU/Linux moderns. Cal tenir en compte que encara que el lector no sàpiga modificar el codi font d’un programa determinat o fer servir directament totes aquestes eines, no és gaire difícil trobar algú que sí que en sàpiga. Per tant, si es disposa del codi font d’un programa, sovint això implica tenir la capacitat de modificar, corregir, personalitzar i aprendre el programa. Aquesta capacitat no es té sense el codi font. Disposar del codi font és una de les condicions perquè el programari sigui lliure. La resta de condicions s’expliquen en aquest recull d’articles, juntament amb la filosofia i els principis en què es basen. Espero que us agradi!     Richard E. Buckman Joshua Gay   Guia temàtica 4 Com que els escrits i les conferències d’aquest llibre s’adreçaven a públics diferents i en moments diferents, hi ha conceptes que es repeteixen i es tracten a diferents articles. Això, i el fet que no hàgim tingut l’oportunitat de fer un índex de matèries d’aquest llibre, fa que pugui resultar difícil retrobar on es parla d’un tema sobre el qual ja hàgiu llegit alguna cosa, tret que es pugui ubicar fàcilment a partir del títol de capítol. Esperem que aquesta guia abreujada, per aproximada i incompleta que sigui (ja que no recull tots els temes ni tots els aspectes d’un tema determinat), us ajudi a trobar els conceptes i les explicacions que més us interessen. Julie Sussman, P.P.A.   Resum El capítol 1 resumeix gairebé tots els temes relacionats amb el programari que es tracten en aquest llibre. El capítol 20 també és un resum. Els temes que no estan directament relacionats amb el programari s’inclouen a les entrades Confidencialitat i llibertat personal, Propietat intel·lectual i Copyright, que trobareu més avall. Projecte GNU Als capítols 1 i 20 s’explica la història del projecte GNU. El capítol 20 inclou una agradable explicació sobre l’origen de la sigla recursiva GNU (GNU No és Unix, que es pronuncia “nyú"). El "manifest" que va donar el tret de sortida al projecte GNU és al capítol 2. Vegeu també l’entrada Linux, GNU/Linux. Fundació per al Programari Lliure La història i el funcionament de la Fundació per al Programari Lliure s’explica als capítols 1 i 20, i a l’apartat "Finançament del programari lliure", al capítol 18. Programari lliure No indicarem totes les referències al programari lliure que hi ha en aquest llibre, ja que tots els capítols, tret de l’11, 12, 13, 16, 17 i 19, en parlen. El capítol 1 inclou la història del programari lliure, des del programari lliure fins al programari de propietat i a l’inrevés. El concepte de programari lliure es defineix i s’argumenta al capítol 3. La definició es repeteix a diferents capítols. L’ambigüitat del terme lliure, i el motiu pel qual el continuem emprant en el sentit de “llibertat” com a “llibertat d’expressió” i no pas com a “barra lliure”, s’aborda a l’apartat "Lliure en el sentit de llibertat", al capítol 1, i l’apartat "Ambigüitat", al capítol 6. Vegeu també les entrades Codi font, Codi obert i Copyleft. Al capítol 21 podeu trobar la traducció de programari lliure en 21 idiomes. Codi font, Font El terme codi font apareix arreu quan es parla del programari lliure. Si en voleu aclarir el significat, llegiu "Nota sobre programari". Linux, GNU/Linux L’origen del Linux i la diferència entre el Linux (el nucli del sistema operatiu) i el GNU/Linux (un sistema operatiu complet) es tracta breument a l’apartat "Linux i GNU/Linux", del capítol 1, i, amb profunditat, al capítol 20. Si voleu saber els motius pels quals s’ha de dir GNU/Linux quan parlem del sistema operatiu, i no la forma abreujada Linux, vegeu els capítols 5 i 20. Confidencialitat i llibertat personal. Els capítols 11, 13 i 17, adreçats al públic en general, ens adverteixen sobre la pèrdua de llibertat personal, confidencialitat i accés a materials escrits que durant molt de temps hem donat per garantits. Codi obert La diferència entre el moviment per al codi obert i el moviment per al programari lliure s’estudia al capítol 6, al capítol 1 (a l’apartat "Codi obert") i al capítol 20. Propietat intel·lectual Al capítol 21 i al començament del capítol 16 s’explica per què el terme propietat intel·lectual és enganyós i engavanyador per a tractar les anomenades qüestions sobre "propietat intel·lectual". Les entrades Copyright i Patents tracten de determinats tipus de "propietat intel·lectual". Copyright (drets d’autor) Nota: La majoria d’aquestes referències al copyright no tracten la qüestió del programari. Als capítols 12 i 19 s’inclou la història, els objectius, l’aplicació i els efectes dels drets sobre la propietat intel·lectual o els drets d’autor (copyright), així com recomanacions per a una política del copyright. També s’hi tracten temes fonamentals de la nostra era digital, com ara els llibres electrònics o la llei nord-americana sobre el copyright digital del Mil·lenni digital (DMCA, Digital Millennium Copyright Act). La diferència entre patents i copyright s’explica al capítol 16. Sobre l’ús del copyright per a fomentar el programari i la documentació lliures, consulteu l’entrada Copyleft. Copyleft Al capítol 1 (a l’apartat "Copyleft i la GPL del GNU"), el capítol 14 i el capítol 20 s’ofereix una explicació del copyleft i de l’ús que el copyleft fa del sistema de copyright per a fomentar el programari lliure. Vegeu també l’entrada Llicències. Al capítol 15 s’explica per què el copyleft és pràctic, eficaç i, alhora, idealista. Al capítol 9 es defensa que el programari lliure ha d’anar acompanyat de manuals lliures. Llicències Les llicències del GNU, que serveixen per a oferir programari o manuals amb copyleft, s’aborden al capítol 14 i s’inclouen íntegrament a la quarta part del llibre. Patents Al capítol 16 s’explica la diferència entre patents i copyright, es donen arguments contra les patents de programari i s’estudia per què el programari és diferent d’altres obres patentables. També es tracta la política sobre patents de programari a d’altres països. Hackers versus Crackers Al principi del capítol 1 es fa la distinció entre aquests termes. Introducció 5   Tota generació té el seu filòsof: un escriptor o un artista que plasma la imaginació d’una època. De vegades aquests filòsofs són reconeguts com a tals, però sovint han de passar unes quantes generacions perquè s’estableixi realment la connexió. Tant si es reconeix com si no, una època determinada ve marcada per la gent que n’expressa els ideals, ja sigui en el xiuxiueig d’un poema o en l’esclat d’un moviment polític. La nostra generació té un filòsof. No és ni artista ni escriptor professional. És un programador. Richard Stallman va començar la seva carrera als laboratoris del Massachusetts Institute of Technology com a programador i arquitecte de programari per a sistemes operatius. Ha construït la seva carrera en l’escena pública, com a programador i arquitecte que ha fundat un moviment per a la llibertat en un món cada cop més definit pel codi. El codi és la tecnologia que fa funcionar els ordinadors. Tant si s’inscriu al programari com si s’enregistra al maquinari, el codi és un conjunt d’instruccions, originàriament escrites en paraules, que controla el funcionament de les màquines. Aquestes màquines (els ordinadors) cada cop defineixen i controlen més la nostra vida. Determinen les connexions telefòniques i la programació televisiva. Decideixen si les seqüències de vídeo es poden transmetre a un ordinador determinat a través d’un enllaç de banda ampla. Controlen les dades que els ordinadors envien als seus fabricants. Aquestes màquines ens controlen i el codi controla aquestes màquines. Quin control hauríem de tenir sobre aquest codi? Quins coneixements? Quina llibertat hauríem de tenir per a compensar el control que permet el codi? Quin poder? Aquestes preguntes són el repte de la vida d’Stallman. Gràcies a tot el que ha escrit i ha dit, ens ha empès a valorar la importància de fer que el codi sigui lliure. Lliure, però no pas en el sentit que els escriptors de codi no siguin remunerats, sinó en el sentit que el control que defineixen els programadors sigui transparent per a tothom i que tothom tingui el dret a agafar aquest control i modificar-lo de la manera que cregui més convenient. D’això va el programari lliure; el programari lliure és una de les respostes a un món creat amb codi. Lliure. Stallman lamenta l’ambigüitat d’aquest terme en anglès (en anglès la paraula free pot voler dir tant “lliure” com “gratuït”), però no hi ha res a lamentar. Els trencaclosques fan pensar la gent, i el terme lliure és un bon exemple de tema per trencar-s’hi el cap. Al ciutadà nord-americà actual, l’expressió "programari lliure" li sona utòpica, impossible. No hi ha res que sigui gratuït (en anglès, free, que té tant el significat de “lliure” com de “gratuït”). Com poden ser lliures les paraules més importants que controlen les màquines més transcendentals que controlen el món? Com pot una societat assenyada aspirar a aquest ideal? Tanmateix, l’estranya connotació de la paraula lliure està en funció de nosaltres, no pas del terme. Lliure té diferents sentits, però només un d’ells és el de “gratuït” (en anglès la paraula free pot voler dir tant “lliure” com “gratuït”). Un sentit molt més profund de lliure, segons Stallman, és el de “lliure” en el sentit de “llibertat d’expressió” o fins i tot de “força de treball lliure”. No pas lliure en el sentit de gratuïtat, sinó en el sentit que existeixen limitacions al seu control per part d’altres. El programari lliure vol dir control transparent i obert al canvi, igual que quan es parla de lleis lliures o de les lleis d’una societat lliure, diem que són lliures quan el control que se’n fa és conegut i obert al canvi. L’objectiu del “moviment per al programari lliure” d’Stallman és fer transparent i susceptible de modificacions tot el codi que sigui possible, mitjançant la seva conversió a programari lliure. Aquesta conversió es du a terme mitjançant un mecanisme extraordinàriament enginyós anomenat copyleft, que s’aplica mitjançant una llicència anomenada GPL. Aprofitant la força de la legislació sobre copyright, el programari lliure no només garanteix que sempre serà obert i susceptible de ser modificat, sinó que els altres programes que facin ús de programari lliure (i això tècnicament es pot considerar com a obra derivada) al seu torn també ha de ser lliure. Si s’utilitza i s’adapta un programa lliure i, en acabat, es publica la versió adaptada, aquesta versió ha de ser tan lliure com la versió original. Ha de ser així, ja que en cas contrari s’estaria infringint el copyright. El programari lliure, igual que les societats lliures, té els seus enemics. Microsoft ha declarat la guerra a la GPL i adverteix tothom qui pari l’orella que la GPL és una llicència "perillosa", encara que els perills que descriu són àmpliament il·lusoris. També hi ha gent que critica la "coerció" que comporta la insistència de la GPL en el fet que les versions modificades també siguin lliures. Però una condició no és una coerció. Si no és una coerció que Microsoft prohibeixi que els usuaris distribueixin versions modificades del seu producte Office sense pagar-li (suposadament) milions de dòlars, llavors tampoc no és una coerció que la GPL insisteixi en el fet que les versions modificades del programari lliure també siguin lliures. I no hem d’oblidar els que qualifiquen d’extremista el missatge d’Stallman. Extremista no ho és pas, ja que, amb gran lucidesa, l’obra d’Stallman és una simple traducció de les llibertats forjades per la nostra tradició en el món anterior al codi. El programari lliure seria una garantia perquè el món controlat pel codi fos tan lliure com la tradició que va construir el món anterior al codi. Per exemple: una societat lliure es regeix per les lleis, però tota societat lliure posa uns límits a aquesta regulació mitjançant les lleis. Cap societat que hagi mantingut les seves lleis en secret podria ser considerada lliure. Cap govern que ocultés la legislació al seus governats tindria cabuda en la nostra tradició. Les lleis controlen, però només ho fan d’una manera justa quan són transparents. I les lleis són transparents només quan aquells a qui s’apliquen, o bé llurs agents (advocats, legisladors), hi poden accedir i controlar-les. Aquesta condició de les lleis supera la competència dels legisladors. Pensem en l’exercici del dret als tribunals nord-americans. Els advocats són contractats pels clients per defensar els interessos dels clients. De vegades els interessos s’han de defensar en un plet. Com a part del procés del plet, els advocats redacten informes que, al seu torn, influeixen en les opinions expressades pels jutges. Aquestes opinions decideixen qui guanya un cas determinat o si una llei en particular té cabuda en el marc d’una constitució. Tot el material d’aquest procés és lliure en el sentit que Stallman utilitza el terme. Els documents jurídics són oberts i lliures, i tothom els pot fer servir. Els arguments són transparents (la qual cosa no vol dir necessàriament que siguin bons) i els raonaments es poden adoptar sense el permís dels advocats que els van idear. Les opinions que en resulten es poden citar en informes posteriors i es poden copiar o integrar en altres informes o opinions. El codi font de la legislació nord-americana és, per disseny i per principi, obert i lliure perquè qualsevol persona se’n pugui servir. I de ben segur que els advocats se’n serveixen, ja que la creativitat dels grans informes s’assoleix reutilitzant el que s’ha dit anteriorment. La font és lliure i tant la creativitat com una determinada activitat econòmica parteixen d’aquesta font. L’activitat econòmica del codi lliure (en el sentit de codi jurídic lliure) no deixa pas els advocats sense feina. Els bufets d’advocats tenen prou incentius per crear nous informes encara que qualsevol persona se’ls pugui copiar. L’advocat és un artesà i la seva obra és pública, però l’artesania no és beneficència. Els advocats cobren i la gent no els encarrega feina pretenent no pagar-la. Contràriament al que podria semblar, aquesta activitat econòmica és ben pròspera i va en augment. Ens podríem imaginar un exercici del dret diferent a aquest: informes i arguments mantinguts en secret, sentències que donessin un resultat però no el raonessin, lleis sota la custòdia de la policia que ningú més pogués consultar, o reglaments que funcionessin sense explicar-ne les normes. Ens podríem imaginar aquesta societat, però mai no la consideraríem una societat lliure. Independentment de si els incentius en aquesta suposada societat estiguessin més ben repartits o repartits d’una manera més eficient, aquesta societat no es podria qualificar de lliure. Per als ideals de llibertat i de vida en una societat lliure, no n’hi ha prou amb l’aplicació eficaç. Ben al contrari, l’obertura i la transparència són les limitacions dins les quals es construeix un sistema jurídic, i no pas opcions que s’hi afegeixen si convé als governants. La vida que regeix el codi informàtic no hauria de ser menys. L’escriptura de codi no és com l’exercici del dret, sinó que és millor, més rica i més productiva, però el dret és un exemple evident que la creativitat i la motivació no depenen del control absolut sobre els productes creats. Com el jazz, les novel·les o l’arquitectura, el dret es construeix a partir de les obres creades amb anterioritat. La creativitat sempre és aquesta possibilitat d’afegir i de canviar. I una societat lliure és la que garanteix que els seus recursos més importants siguin lliures, precisament en aquest sentit. Per primera vegada, aquest llibre recull els articles i les conferències de Richard Stallman d’una manera que deixa ben palesa la seva subtilesa i la seva força. Els articles inclouen un ampli ventall de temes, des del copyright fins a la història del moviment del programari lliure. Inclouen molts arguments no gaire coneguts i, entre ells, una apreciació especialment perspicaç sobre les noves circumstàncies que fan sospitar del copyright en el món digital. Serviran com a recurs per als que volen entendre el pensament d’aquest home poderós: poderós per les seves idees, la seva passió i la seva integritat, encara que mancat de poder en tots els altres sentits. Aquests arguments inspiraran altres persones perquè adoptin aquestes idees i construeixin a partir d’elles. No el conec gaire bé, l’Stallman, però sí que el conec suficientment bé com per saber que és una persona que no agrada fàcilment. És obstinat i, sovint, impacient. Pot deixar anar la seva ràbia tant contra els amics com contra els enemics. És caparrut i persistent, i sempre pacient en ambdues activitats. Malgrat tot, quan el nostre món finalment entengui quin és el poder i el perill del codi (quan finalment vegi que el codi, com les lleis o com el govern, ha de ser transparent per a ser lliure), llavors recordarem aquest programador caparrut i persistent i reconeixerem la visió que amb la seva lluita intenta convertir en una realitat: la visió d’un món on la llibertat i el coneixement sobreviuen al compilador. I ens adonarem que ningú altre, amb els seus actes o paraules, no ha lluitat tant per la llibertat que podria tenir aquesta societat del demà. Encara no hem guanyat aquesta llibertat i potser no l’aconseguirem mai. Però tant si triomfem com si fracassem, en aquests articles es reflecteix el que aquesta llibertat podria ser. I en la vida d’on han sortit aquestes paraules i aquestes obres trobem inspiració per a tothom que, com Stallman, vulgui lluitar per crear aquesta llibertat.   Lawrence Lessig Professor de Dret a la Facultat de Dret d’Stanford   Secció U El projecte GNU i el programari lliure Capítol 1: El projecte GNU 6   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”.7   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 Teniu la llibertat d’executar el programa amb qualsevol finalitat. Teniu la llibertat de modificar el programa segons les seves necessitats (a la pràctica, per tal que aquesta llibertat sigui real cal tenir accés al codi font, perquè sense ell resulta excessivament difícil introduir canvis en un programa). Teniu la llibertat de redistribuir-ne còpies, de franc o cobrant una tarifa. Teniu la llibertat de distribuir versions modificades del programa, per tal que la comunitat pugui aprofitar les millores que hi hagi aportat. 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 Readline8, 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 LZW9. 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’XFree8610 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 Motif11 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)12. 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”13) 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. Capítol 2: El manifest del GNU 14   El manifest del GNU va ser escrit al començament del projecte GNU amb la finalitat de demanar participació i suport. Durant els primers anys se’n van fer actualitzacions menors per tenir en compte els nous desenvolupaments, però ara sembla millor deixar-lo sense modificacions, tal com l'ha conegut la majoria de la gent. Des d'aleshores, hem après que es poden evitar determinades confusions habituals amb un canvi en la selecció de paraules i, per tant, amb el temps hem afegit notes a peu de pàgina per aclarir aquestes confusions.   Què és el GNU? GNU No és Unix! GNU, que significa "GNU No és Unix", és el nom d'un sistema de programari complet compatible amb l'Unix que estic escrivint per poder-lo passar lliurement a tothom que el vulgui fer servir.15 Hi ha diversos voluntaris que m'ajuden. Són molt necessàries les contribucions en temps, diners, programes i equipament. De moment tenim un editor de text Emacs amb Lisp per a escriure ordres per l'editor, un depurador de codi font, un generador-analitzador compatible amb yacc, un editor d'enllaços i unes 35 utilitats. Tenim un intèrpret d'ordres gairebé acabat. Hem fet que un nou compilador adaptable i optimitzador de C s'autocompili i potser el podrem publicar aquest any. Tenim un nucli inicial, però calen moltes més funcions per a emular l'Unix. Quan el nucli i el compilador estiguin llestos, serà possible distribuir un sistema GNU adequat per al desenvolupament de programes. Farem servir el processador de textos TEX, però també s'està treballant en un nroff. També farem servir el sistema de finestres X-Window, que és lliure i adaptable. Després d'això afegirem un Common Lisp adaptable, un joc Empire, un full de càlcul i centenars d'altres coses, a més de documentació en línia. Esperem proporcionar, amb el temps, com a mínim totes les eines que vénen normalment amb un sistema Unix i més encara. Amb el GNU es podran executar programes de l'Unix, però no serà idèntic a l'Unix. Farem totes les millores que siguin necessàries, d'acord amb la nostra experiència amb altres sistemes operatius. Concretament, la intenció és tenir noms d'arxius més llargs, números de versió d'arxius, un sistema d'arxius a prova de caigudes, potser un sistema per a completar noms d'arxius, compatibilitat amb pantalles independent del tipus de terminal i potser, en un futur, un sistema de finestres basat en Lisp que permeti que diversos programes Lisp i els programes habituals de l'Unix comparteixin una sola pantalla. Tant el C com el Lisp estaran disponibles com a llenguatges de programació de sistemes. Mirarem d'oferir compatibilitat amb l’UUCP, el Chaosnet del MIT i els protocols de comunicació d'Internet. En principi, el GNU està pensat per a màquines de la classe 68000/16000 amb memòria virtual, perquè aquestes són les màquines en què l’execució és més senzilla. L'esforç addicional per a fer-lo funcionar en màquines més petites es deixarà per aquells que el vulguin fer servir en aquest tipus de màquines. En anglès, per tal d'evitar una horrible confusió amb el significat de 'nyu', cal pronunciar la G de la sigla GNU quan es faci referència al nom d'aquest projecte.   Per què haig d'escriure el GNU? Considero que la regla d'or requereix que, si m'agrada un programa, l'haig de compartir amb altres persones a qui també els agradi. Els venedors de programari volen dividir els usuaris i conquerir-los fent que cada usuari accepti no compartir el programari amb altres usuaris. Em nego a trencar la solidaritat amb els altres usuaris d'aquesta manera. No puc, en bona consciència, signar un contracte de no-divulgació ni de llicència d'ús de programari. Durant uns anys vaig treballar des del Laboratori d'Intel·ligència Artificial contra aquestes tendències i altres descortesies, però la situació es va fer insostenible: no podia continuar en una institució on jo duia a terme aquestes pràctiques contra la meva voluntat. Per tal de poder continuar fent servir ordinadors sense deshonor, he decidit agrupar un cos suficient de programari lliure per poder tirar endavant sense cap mena de programari que no sigui lliure. He deixat el Laboratori d'Intel·ligència Artificial per no donar al MIT cap excusa legal que els permetés impedir-me oferir lliurement el GNU.   Per quin motiu el GNU serà compatible amb l'Unix? L'Unix no és el meu sistema ideal, però no està malament. Les funcions essencials de l'Unix semblen prou bones i penso que puc omplir els buits que presenta sense espatllar aquestes funcions. A més, un sistema compatible amb l'Unix seria molt útil perquè moltes altres persones l'adoptessin.   Com estarà disponible el GNU? El GNU no és de domini públic. Tothom tindrà permís per a modificar i redistribuir el GNU, però cap distribuïdor no en podrà restringir una redistribució subsegüent. És a dir, que no estaran permeses les modificacions privatives. Vull estar ben segur que totes les versions del GNU continuïn sent lliures.   Per què volen cooperar molts altres programadors? He trobat molts altres programadors que estan entusiasmats amb el GNU i hi volen col·laborar. A molts programadors no els agrada la comercialització del programari de sistemes, que si bé els pot permetre guanyar més diners, en general fa que se sentin en conflicte amb altres programadors, en comptes de sentir-los com a companys. L'acte fonamental de l'amistat entre programadors és el fet de compartir programes, i els acords comercials usats habitualment avui dia prohibeixen en essència que els programadors tractin els seus companys com a amics. El comprador de programari ha d'escollir entre l'amistat i l'obediència a la llei. Naturalment, molts decideixen que l'amistat és més important. Però els que creuen en la llei sovint no se senten tranquils amb cap de les dues opcions. Es tornen cínics i pensen que la programació només és una manera de fer diners. Si continuem desenvolupant i fent servir el GNU en lloc dels programes privatius, podrem ser hospitalaris amb tothom i romandre dins de la legalitat. A més, el GNU serveix com a exemple d'inspiració i com a pol d'atracció perquè altres persones s'uneixin a nosaltres en l'acte de compartir. Això ens pot donar una sensació d'harmonia impossible d'experimentar si fem servir programari que no sigui lliure. Per a gairebé la meitat dels programadors amb qui parlo, aquest és un motiu de felicitat important que els diners no poden substituir.   Com podeu aportar la vostra contribució? Estic demanant als fabricants d'ordinadors que facin donacions de màquines i diners. Estic demanant als usuaris que facin donacions en forma de programes i de feina. Una de les conseqüències que pot esperar qui faci donació de màquines és que podrem veure-hi el GNU en execució més aviat. Les màquines haurien d'estar completes, preparades per instal·lar-hi sistemes, homologades per a àrees residencials i no requerir ventilació ni fonts d'alimentació sofisticades. He trobat molts programadors delerosos de dedicar part del seu temps a treballar per al projecte GNU. En la majoria de projectes, una distribució de feines a temps parcial d’aquest tipus seria molt difícil de coordinar, ja que les parts escrites d'una manera independent no encaixarien. Però en el projecte concret de substituir l'Unix no existeix aquest problema. Un sistema Unix complet conté centenars d'utilitats, i cadascuna es documenta per separat. La majoria de les especificacions de la interfície estan determinades per la compatibilitat amb l'Unix. Si cada col·laborador pot escriure un substitut compatible d'una utilitat determinada de l'Unix i fer que funcioni correctament en lloc del programa original en un sistema Unix, llavors, quan s'agrupin, aquestes utilitats també funcionaran correctament. Fins i tot admetent que en Murphy16 origini alguns problemes inesperats, l'assemblatge d'aquests components serà una tasca factible. (Per al nucli caldrà una comunicació més estreta i s'hi dedicarà un grup més petit i unit.) Si rebo donacions de diners, podria contractar unes quantes persones a jornada completa o a mitja jornada. El sou no serà alt comparat amb el que és normal per a un programador, però busco gent per a qui la construcció d'un esperit comunitari sigui tant important com el fet de guanyar diners. Considero aquest projecte com una manera de permetre que la gent interessada a dedicar totes les seves energies a treballar en el GNU pugui fer-ho, evitant-los la necessitat de guanyar-se la vida d'una altra manera.   Per què serà beneficiós per a tots els usuaris d'ordinadors? Una cop s'hagi escrit el GNU tothom podrà disposar lliurement d'un bon sistema de programari, de la mateixa manera que disposem de l'aire per a respirar.17 Això significa molt més que el simple estalvi del preu d'una llicència de l'Unix, ja que s'evitarà molt del malbaratament d'esforços en la duplicació de la programació de sistemes. Aquests esforços, al seu torn, es podrien dedicar a millorar el que tenim. El codi font complet dels sistemes estarà disponible per a tothom. Com a resultat, els usuaris que hagin de modificar el sistema sempre seran lliures de fer-ho ells mateixos o de contractar qualsevol programador o empresa perquè faci la feina. Els usuaris deixaran d'estar en mans d'un programador o una empresa que siguin propietaris del codi font i els únics en condicions de fer-hi modificacions. Els centres de formació podran proporcionar un entorn molt més educatiu, ja que podran animar tots els estudiants a estudiar i millorar el codi del sistema. Al laboratori d'informàtica de Harvard tenien com a política que no es podia instal·lar cap programa al sistema si el seu codi font no estava a disposició del públic i, de fet, l'aplicaven negant-se a instal·lar determinats programes. En bona mesura, jo em vaig inspirar en aquesta política. Finalment, el llast d’haver de prendre en consideració qui és propietari del programari del sistema i què està o no està permès fer amb el programari, haurà desaparegut. Les disposicions per obligar la gent a pagar per utilitzar un programa, incloent-hi la imposició de llicències en les còpies, sempre comporten un cost enorme per a la societat a causa dels incòmodes mecanismes necessaris per determinar quant (és a dir, quins programes) ha de pagar l'usuari. Només un estat policial pot fet que tothom els obeeixi. Imaginem que tenim una estació espacial on la fabricació de l'aire comporta un cost elevat: el fet de cobrar a cada ens respirador per litre d'aire pot ser just, però haver de dur les 24 hores del dia una màscara d'aire amb comptador seria intolerable, encara que tothom es pogués permetre pagar la factura de l'aire. I el fet de tenir càmeres de televisió arreu per vigilar que ningú es tregui la màscara seria escandalós. És millor finançar la planta d'aire amb un impost per persona i desempallegar-se de les màscares. El fet de copiar tot o part d'un programa és tan natural per a un programador com el fet de respirar, i igual de productiu. També hauria de ser igual de lliure. Objeccions als objectius del GNU que es poden rebatre fàcilment: "Ningú no el farà servir si és gratuït perquè això vol dir que no s'oferirà assistència tècnica." "S'ha de cobrar pel programa per finançar el servei d'assistència tècnica." Si la gent s'estimés més pagar per tenir el GNU més l'assistència tècnica, que obtenir el GNU de franc sense el mateix servei, una empresa que oferís només l'assistència tècnica a les persones que haguessin obtingut el GNU de franc hauria de tenir èxit. Cal distingir entre l'assistència que comporta una feina de programació real i l'ajuda a l'usuari principiant. En relació a la primera, no es pot dependre del proveïdor del programari. Si el problema no és compartit per un nombre suficient d'usuaris, el proveïdor no en farà cap cas. Perquè una empresa disposi d'un bon servei d'assistència tècnica, ha de tenir el codi font i totes les eines necessàries. D'aquesta manera es pot contractar qualsevol persona capacitada per a corregir el problema, sense dependre de la voluntat de ningú en concret. Amb l'Unix, el preu del codi font deixa aquesta possibilitat fora de qualsevol consideració per a la majoria d'empreses. Amb el GNU això serà ben senzill. Tot i així, és possible que no hi hagi cap persona competent disponible, però aquest problema no es pot imputar als acords de distribució. El GNU no elimina tots els problemes del món, només alguns. D'altra banda, el que necessiten els usuaris principiants és una orientació bàsica: ensenyar-los a fer coses que ells mateixos podrien fer fàcilment, però que no saben com fer-les. Aquests serveis podrien ser proporcionats per empreses que ofereixen només serveis de reparació i d'orientació bàsica. Si és cert que els usuaris prefereixen gastar diners i comprar un producte amb servei d'assistència, estaran igualment d'acord a adquirir el servei després d'haver obtingut el producte de franc. Les empreses de serveis competiran en qualitat i preu, de manera que els usuaris no estaran lligats a cap empresa en particular. Alhora, els que no necessitem el servei d'assistència hauríem de poder fer servir el programa sense pagar pel servei. "No es pot arribar a molta gent sense la publicitat i, per poder-la finançar, s'ha de cobrar pel programa." "No té cap sentit fer publicitat d'un programa que la gent pot aconseguir de franc." Hi ha diverses maneres de fer publicitat gratuïta o de molt baix cost per informar els usuaris d'ordinadors sobre quelcom com el sistema GNU. Però potser és cert que es pot arribar a més usuaris de microordinadors a través de la publicitat. Si realment és així, les empreses que fessin publicitat del servei de còpia i enviament del GNU per un preu determinat haurien de ser prou pròsperes per a pagar, pel cap baix, la seva publicitat. D'aquesta manera la publicitat només la paguen els usuaris que se'n beneficien. D'altra banda, si molta gent obté el GNU a través dels seus amics i aquestes empreses fracassen, això demostrarà que la publicitat no era realment necessària per difondre el GNU. Per què deu ser que els defensors del mercat lliure no volen deixar que sigui el mateix mercat lliure qui decideixi això?18 "La meva companyia necessita un sistema operatiu de propietat per estar pel davant de la competència." El GNU posarà el programari de sistema operatiu al marge de la competència. En aquest aspecte, ni una empresa determinada ni la competència podran gaudir d'un avantatge competitiu. Aquestes empreses competiran en altres aspectes, mentre que es beneficiaran mútuament en aquest aspecte concret. Si la vostra empresa es dedica a la comercialització d'un sistema operatiu no us agradarà el GNU, però aquest és el vostre problema. Si la vostra empresa es dedica a una altra cosa el GNU us pot evitar veure-us obligats a entrar en el costós negoci de la venda de sistemes operatius. M'agradaria que el desenvolupament del GNU rebés donacions de molts fabricants i usuaris, contribució que reduiria els costos de tots ells.19 "Els programadors no es mereixen una recompensa per la seva creativitat?" Si hi ha res que es mereixi una recompensa, és la contribució social. La creativitat es pot considerar una contribució social, però sempre que la societat sigui lliure de fer-ne servir els resultats. Si els programadors han de ser recompensats per la creació de programes innovadors, per la mateixa regla han de ser castigats si restringeixen l'ús d'aquests programes. "El programador no hauria de poder demanar una recompensa per la seva creativitat?" No hi ha res dolent en voler rebre una remuneració per la feina feta ni en mirar d'obtenir el màxim d'ingressos, sempre que no s'utilitzin mitjans destructius. Però els mitjans habituals actualment en el camp del programari es basen en la destrucció. El fet d'extreure diners dels usuaris d'un programa mitjançant la restricció de l'ús que en facin resulta destructiu perquè les restriccions redueixen la quantitat i les maneres de fer servir el programa. Això redueix la quantitat de riquesa que la humanitat obté del programa. Quan s'opta deliberadament per la restricció, una de les conseqüències nocives n’és la destrucció deliberada. La raó per la qual un bon ciutadà no fa servir aquests mitjans destructius per enriquir-se és que, si tots ho féssim, ens empobriríem a causa d'una destrucció mútua. Això és ètica kantiana, o la Regla d'Or. Com que no m'agraden les conseqüències que resultarien si tothom acaparés informació, em veig obligat a considerar com a errònia aquesta pràctica. En concret, el desig de ser recompensat per la pròpia creativitat no justifica el fet de privar el món en general de tota o part d'aquesta creativitat. "No es moriran de gana, els programadors?" Podria respondre que ningú no està obligat a ser programador. La majoria de nosaltres ho té molt difícil per guanyar-se la vida fent ganyotes al mig del carrer, però no per això estem condemnats a morir-nos de gana fent ganyotes al mig del carrer. Senzillament, ens dediquem a una altra cosa. Malgrat tot, aquesta és una resposta errònia perquè accepta la suposició implícita en la pregunta, és a dir, que si el programari no té propietari, els programadors no rebran ni un cèntim. Es pressuposa que ha de ser o tot o no res. El motiu real pel qual els programadors no es moriran de gana és que igualment podran ser remunerats per programar, encara que no tant com en l'actualitat. La restricció del dret a fer còpies no és l'única manera de fer negoci amb el programari, encara que és la més habitual perquè se n'obtenen molts diners. Si aquesta pràctica estigués prohibida o fos rebutjada pel client, el negoci del programari es mouria cap a altres formes d'organització que actualment no es fan servir gaire sovint. Sempre hi ha moltes maneres d'organitzar qualsevol tipus de negoci. Probablement la programació no serà tan lucrativa, amb aquesta nova concepció, com ho és ara, però això no és pas un argument contra el canvi. No es considera una injustícia que els dependents de botigues tinguin el sou que tenen. Si els programadors guanyessin el mateix, tampoc no seria una injustícia. (A la pràctica, guanyarien força més diners que els dependents de les botigues).   "No té dret la gent a controlar l'ús que es fa de la seva creativitat?"   El "control sobre l'ús de les pròpies idees" en realitat és el control sobre les vides d'altres persones, control que sovint s'usa per a fer-los la vida més difícil. Les persones que han estudiat detingudament el tema dels drets de propietat intel·lectual, com ara els advocats, afirmen que no hi ha cap dret intrínsec a la propietat intel·lectual. Els tipus de presumptes drets de propietat intel·lectual que reconeix el govern van ser creats mitjançant determinades lleis amb una finalitat específica. Per exemple, el sistema de patents va ser creat per animar els inventors a revelar els detalls dels seus invents. El seu objectiu era ajudar la societat més que no pas els inventors. En aquella època, el període de vida de 17 anys per a una patent era curt comparat amb el ritme de desenvolupament de la tècnica. Com que les patents només són rellevants per als fabricants, per als quals el cost i l'esforç necessaris per a obtenir un contracte de llicència són petits comparats amb els del fet de produir, les patents no acostumen a fer gaire mal. No posen traves a la majoria de persones que fan servir els productes patentats. La idea del copyright no existia en temps antics, quan els autors sovint copiaven llargs passatges d'obres de no-ficció d'altres autors. Aquesta pràctica era ben útil, i és l'única manera que ha permès sobreviure a les obres de molts autors, encara que només sigui en part. El sistema del copyright va ser creat expressament amb l'objectiu de fomentar l’autoria. En l'àmbit per al qual es va inventar (el dels llibres, que només es podien copiar de manera econòmica en una impremta), no feien gaire mal i no eren cap impediment per a la majoria dels lectors de llibres. Tots els drets de propietat intel·lectual són únicament llicències atorgades per la societat perquè es pensava, d'una manera correcta o equivocada, que la societat en conjunt se'n beneficiaria. Però en qualsevol situació determinada, ens hem de preguntar: Realment, ens beneficia haver atorgat aquest monopoli? Quin tipus d'acte estem permetent que faci una persona, mitjançant la llicència que li concedim? El cas dels programes, avui, és molt diferent al dels llibres, fa cent anys. El fet que la manera més senzilla de copiar un programa sigui d'un veí a un altre, el fet que un programa tingui codi font i codi objecte, que són ben diferents, i el fet que la finalitat dels programes sigui utilitzar-los, en lloc de llegir-los o gaudir-ne, es combinen per crear una situació en què la persona que fa valer un copyright perjudica la societat en conjunt, tant materialment com espiritualment; una situació en què ningú no hauria d'adoptar aquesta pràctica, independentment que la llei ho permeti.   "La competència fa que les coses es facin millor."   El paradigma de la competència és una cursa: Si premiem el guanyador, animem tothom a córrer més ràpid. Quan el capitalisme realment funciona d'aquesta manera, el resultat és bo, però els seus partidaris s'equivoquen quan pressuposen que sempre funciona així. Si els corredors obliden per què s'ofereix el premi i es capfiquen a guanyar a qualsevol preu, poden trobar altres estratègies, com ara atacar els altres corredors. Si els corredors es barallen a cops de puny, tots arribaran tard a la meta. El programari privatiu i secret és l'equivalent moral dels corredors que es barallen a cops de puny. Malauradament, l'únic àrbitre que tenim no sembla estar en contra de les baralles, sinó que només les regula: "per cada 10 metres que corris, tens dret a disparar un tret". El que hauria de fer és separar-los i penalitzar els corredors pel sol fet de cercar brega. "No deixarà tothom de programar si no hi ha un incentiu econòmic?" De fet, molta gent programarà sense absolutament cap incentiu econòmic. La programació té una fascinació irresistible per algunes persones, generalment per a les que ho fan millor. No manquen músics professionals que es dediquin al seu art, encara que no tinguin esperances de guanyar-s'hi la vida. En realitat, però, encara que aquesta pregunta es faci moltes vegades, no és apropiada per aquesta situació. La remuneració dels programadors no desapareixerà, sinó que tan sols es reduirà. La pregunta correcta seria, per tant, si algú programarà amb un incentiu econòmic menor. L'experiència em diu que sí. Durant més de deu anys molts dels millors programadors del món van treballar al Laboratori d'Intel·ligència Artificial per molt menys diners dels que haurien pogut guanyar a qualsevol altre lloc. Rebien moltes recompenses que no eren econòmiques: fama i estima, per exemple. A més, la creativitat és divertida, fet que és una recompensa en si mateix. I llavors la majoria dels programadors van deixar el Laboratori quan se'ls oferí l'oportunitat de fer una feina igual d'interessant a canvi de molts diners. El que mostren els fets és que la gent programarà per motius diferents dels econòmics, però si a més se li ofereix l'oportunitat de guanyar-hi molts diners, esperarà que sigui així i ho exigirà. Les entitats que paguen poc ho tenen difícil per competir amb les que paguen molt, però no els hauria d'anar malament si es prohibissin les que paguen molt.  "Necessitem els programadors desesperadament. Si ens demanen que deixem d'ajudar els veïns, els hem d'obeir."  Hom mai no està tan desesperat com per a haver d'obeir aquest tipus d'exigència. Recordeu: milions per a la nostra defensa, però ni un cèntim com a tribut!  "Els programadors s'han de guanyar la vida d'alguna manera."  A curt termini, això és veritat. Malgrat tot, hi ha moltes maneres que permetrien als programadors guanyar-se la vida sense vendre el dret a fer servir un programa. Aquesta pràctica és freqüent actualment perquè és la que dóna més diners als programadors i als empresaris, no pas perquè sigui l'única manera de guanyar-se la vida. Si es vol, no costa gaire trobar altres fórmules. Heus aquí uns quants exemples: Un fabricant que tregui un ordinador nou pagarà per adaptar els sistemes operatius al nou maquinari. La venda de serveis d'ensenyament, d'assistència i manteniment també podrien donar feina als programadors. La gent amb idees noves podria distribuir programes com a programari lliure i demanar donacions als usuaris satisfets o bé oferir serveis d'assistència. Personalment, conec gent que ja se'n surt treballant d'aquesta manera. Els usuaris amb necessitats comunes poden formar grups d'usuaris i pagar una quota. Aleshores, aquests grups podrien contractar empreses de programació perquè escrivissin programes que interessessin els membres del grup. Amb un impost de programari es podrien finançar tota mena de projectes informàtics: Imaginem que tothom que compra un ordinador ha de pagar un percentatge del preu com a impost de programari. El govern podria assignar aquests diners a una agència com la Fundació Nacional de la Ciència (NSF, d'acord amb les inicials en anglès) perquè els invertís en el desenvolupament de programari. Però si el mateix comprador de l'ordinador fa una donació per al desenvolupament de programari, podria deduir de l'impost l'import de la donació. Podria fer la donació al projecte que escollís, normalment triat perquè espera fer-ne servir els resultats quan estigui acabat. Podria deduir qualsevol donació fins arribar a l'import total de l'impost que havia de pagar. El tipus impositiu es podria decidir per votació dels contribuents a l'impost, ponderada segons l'import al qual s'aplicaria l'impost. Les conseqüències: La comunitat d'usuaris d'ordinadors dóna suport al desenvolupament de programari. Aquesta comunitat decideix el nivell de suport necessari. Els usuaris interessats en determinats projectes poden escollir ells mateixos on es destina la seva aportació. A llarg termini, alliberar els programes és un pas endavant cap al món de la post-escassetat, on ningú no haurà de deixar-se la pell treballant per tot just guanyar-se la vida i prou. La gent tindrà llibertat per dedicar-se a activitats entretingudes, com ara la programació, després d'haver dedicat les deu hores setmanals necessàries en tasques imprescindibles, com ara legislar, l'assessorament familiar, la reparació de robots o la prospecció d'asteroides. No hi haurà necessitat d’haver de guanyar-se la vida amb la programació. Ja hem reduït en gran part la quantitat de treball que ha de fer la societat en conjunt per aconseguir la seva productivitat actual, però només una petita part d'aquesta reducció s'ha traduït en esbarjo per als treballadors, ja que s'exigeix que molta activitat no productiva acompanyi l'activitat productiva. Les causes principals en són la burocràcia i les lluites isomètriques contra la competència. El programari lliure reduirà en gran mesura aquests flagells en l'àmbit de la producció de programari. Ho hem de fer perquè els avenços tècnics en la productivitat es tradueixin per a nosaltres en una reducció d’hores de feina. Capítol 3: Definició de programari lliure 20 Conservem aquesta definició de programari lliure per expressar clarament les condicions que han de complir els programes informàtics per poder ser considerats programari lliure. El programari lliure és una qüestió de llibertat, no de preu. Per entendre aquest concepte, hem de pensar en lliure en el sentit de 'llibertat d'expressió' i no en el de 'barra lliure' (en anglès la paraula “free”, lliure, pot tenir el significat de “lliure” i el significat de “gratuït”). El terme programari lliure fa referència a la llibertat dels usuaris per a executar, copiar, distribuir, estudiar, canviar i millorar el programari. Concretament, fa referència a quatre classes de llibertat per als usuaris de programari: Llibertat 0: llibertat per executar el programa amb qualsevol finalitat. Llibertat 1: llibertat per estudiar el funcionament del programa i adaptar-lo segons les pròpies necessitats. (L'accés al codi font n’és una condició indispensable.) Llibertat 2: llibertat per redistribuir còpies per tal d’ajudar el teu semblant. Llibertat 3: llibertat per millorar el programa i després posar-lo a disposició pública per al bé de tota la comunitat. (L'accés al codi font n’és una condició indispensable.) Un programa és programari lliure si els usuaris gaudeixen d'aquestes llibertats. De manera que l'usuari ha de ser lliure de redistribuir còpies amb modificacions o sense, de franc o cobrant per la distribució, a qualsevol persona i a qualsevol lloc. El fet de gaudir d'aquesta llibertat significa, entre altres coses, no haver de demanar res ni pagar per obtenir permís. També s'ha de tenir la llibertat de fer modificacions i fer-les servir en privat, per motius laborals o per esbarjo, sense necessitat ni d'esmentar-ne l'existència. Si decidiu publicar aquests canvis, no heu de tenir cap obligació de notificar-ho a ningú en particular ni de cap manera determinada. La llibertat per fer servir un programa significa que qualsevol persona o entitat és lliure d'utilitzar-lo en qualsevol sistema informàtic, amb qualsevol finalitat i sense l'obligació de notificar-ho al desenvolupador ni a cap entitat en concret. La llibertat per redistribuir còpies comporta que s'han d'incloure les formes binàries o executables del programa i el codi font, tant de les versions modificades com de les originals. (La distribució de programes en format executable és necessària perquè els sistemes operatius lliures es puguin instal·lar sense entrebancs). No és cap problema si no es pot produir un format executable o binari, però la gent ha de tenir la llibertat per redistribuir aquests formats si es troba la manera de crear-los. Perquè les llibertats 1 i 3 (la llibertat per fer canvis i la llibertat per publicar versions millorades) tinguin sentit, cal tenir accés al codi font del programa. Per tant, l'accessibilitat del codi font és una condició necessària per al programari lliure. Per tal que aquestes llibertats siguin reals, han de ser irrevocables sempre que no es faci res de dolent: si el desenvolupador del programari té la potestat de revocar la llicència sense motiu, el programari no és lliure. No obstant això, hi ha algunes normes sobre la distribució de programari lliure que són acceptables si no entren en conflicte amb les llibertats bàsiques. Per exemple, una definició simplificada del copyleft és la norma que estableix que, quan es redistribueix el programa, no s'hi poden afegir restriccions que neguin a altres persones les llibertats bàsiques. Aquesta norma no viola les llibertats bàsiques, sinó que les protegeix. De manera que es poden obtenir còpies de programari lliure de franc o pagant, però independentment de la manera com s'obtinguin les còpies, hom sempre té la llibertat de copiar, modificar i fins i tot vendre aquestes còpies. Programari lliure no vol dir programari 'no comercial'. Els programes lliures han d'estar disponibles per al seu ús, desenvolupament i distribució comercials. El desenvolupament comercial del programari lliure ha deixat de ser excepcional i, de fet, aquest programari lliure comercial és molt important. Les normes sobre l'empaquetament d'una versió modificada són acceptables, sempre que a la pràctica no restringeixin la llibertat per publicar versions modificades. Per la mateixa raó, seran igualment acceptables aquelles normes que estableixin que "si poseu a disposició el programa d'aquesta manera, també l'heu de posar a disposició d'aquesta altra manera". (Aquest tipus de norma continua permetent, si així es vol, la publicació del programa.) També és acceptable que la llicència exigeixi que, si s'ha distribuït una versió modificada i un desenvolupador anterior del programa en demana una còpia, se la hi hagi d'enviar. En el projecte GNU, fem servir el copyleft per protegir legalment aquestes llibertats per a tothom. Però també existeix programari lliure sense copyleft. Creiem que hi ha raons de pes que justifiquen que és millor recórrer al copyleft, però també podem fer servir programes que siguin programari lliure sense copyleft. De vegades la normativa governamental de control de les exportacions i les sancions comercials poden restringir la llibertat per distribuir còpies a escala internacional. Els desenvolupadors de programari no tenen la capacitat d'eliminar o invalidar aquestes restriccions, però el que sí que poden i han de fer és negar-se a imposar-les com a condicions d'ús del programa. D'aquesta manera, les restriccions no afectaran les activitats ni les persones fora de la jurisdicció d'aquests governs. Quan parlem de programari lliure és preferible evitar expressions com ara "regalar" o "de franc", perquè aquests termes impliquen que la qüestió radica en el preu i no en la llibertat. Termes d'ús freqüent com el de pirateria comporten opinions que esperem que el lector no comparteixi. A l'apartat de "Paraules que s'han d'evitar" d'aquest llibre s'expliquen aquests termes. També s'ofereix una llista de traduccions del terme programari lliure en diferents idiomes. Finalment, cal destacar que els criteris descrits per definir programari lliure requereixen una reflexió profunda a l’hora d'interpretar-los. Per decidir si una llicència de programari específica es pot qualificar de llicència de programari lliure, ens basem en aquests criteris a l'hora de determinar si la llicència s'ajusta al seu esperit i a la terminologia precisa. Si una llicència inclou restriccions desmesurades, la rebutgem, encara que no estiguin previstes en aquests criteris. De vegades les condicions d'una llicència plantegen un problema que requereix una anàlisi profunda, i fins i tot l'estudi de la qüestió amb un advocat, abans de poder decidir si les condicions són acceptables. Quan arribem a una conclusió sobre un problema nou, sovint actualitzem aquests criteris perquè sigui més fàcil entendre per què unes llicències són aptes i unes altres no. Si voleu saber si una llicència determinada es pot considerar llicència de programari lliure, vegeu la nostra llista de llicències a http://www.gnu.org/licenses/license-list.html. Si la llicència en qüestió no apareix a la llista, ens ho podeu consultar enviant-nos un correu electrònic a l'adreça licensing@gnu.org. Capítol 4: Per què el programari no ha de tenir amos 21 Les tecnologies digitals de la informació ajuden el món fent que sigui més fàcil copiar i modificar la informació. Els ordinadors prometen simplificar aquestes feines per a tothom. No tothom ho vol així. El sistema de copyright permet que els programes informàtics tinguin "propietari", i la majoria dels propietaris pretenen privar la resta de les persones dels beneficis potencials que origina el programari. Voldrien ser els únics a poder copiar i modificar el programari que fem servir. El sistema de copyright (drets d’autor) es va desenvolupar amb la impremta, una tecnologia per a la producció massiva de còpies. El copyright s'ajustava bé a aquesta tecnologia perquè només aplicava restriccions als productors de còpies en massa. No privava de llibertat els lectors de llibres. Els simples lectors, que no tenien cap impremta, només podien copiar llibres amb ploma i tinta, i difícilment això era motiu d'una demanda judicial. Les tecnologies digitals són més flexibles que la impremta: quan la informació adopta la forma digital, es pot copiar fàcilment per compartir-la amb la resta d'usuaris. És precisament aquesta flexibilitat la que no encaixa bé en un sistema com el del copyright. Això explica l’existència de les mesures que s'apliquen per fer complir el copyright sobre programari, que cada vegada són més odioses i draconianes. Prenguem en consideració aquestes quatre pràctiques de la Software Publishers Association (SPA), una associació d'editors de programari: Propaganda massiva on s'afirma que està malament desobeir els propietaris per ajudar un amic. Captació de delators que informin sobre els col·legues i els companys de feina. Batudes (amb ajuda policial) a oficines i escoles, on es demana que la gent demostri que és innocent de fer còpies il·legals. Demanda judicial (del govern dels EUA, a petició de l'SPA) a persones com David LaMacchia22, del MIT, no pas per copiar programari (no se l'acusa de copiar-ne), sinó tan sols per deixar sense vigilància els equips de còpia i no controlar-ne l'ús. Aquestes quatre pràctiques s'assemblen a les que s’utilitzaven a l'antiga Unió Soviètica, on totes les màquines de copiar tenien un vigilant per a impedir que es fessin còpies prohibides i on les persones havien de copiar la informació en secret i passar-la de mà en mà com a samizdat. És clar que hi ha una diferència: el motiu per al control de la informació a la Unió Soviètica era polític. Als EUA el motiu n’és el benefici econòmic. Però són les accions el que ens afecta, no pas llur motiu. Qualsevol intent d'impedir que es comparteixi la informació, pel motiu que sigui, acaba portant als mateixos mètodes i la mateixa duresa. Els propietaris esgrimeixen diferents arguments perquè se'ls concedeixi el poder de controlar l'ús que fem de la informació:   Acusacions Els propietaris fan servir paraules difamatòries com ara "pirateria" i "robatori", i terminologia específica com ara "propietat intel·lectual" i "danys", per transmetre una determinada línia de pensament al públic: una analogia simplista entre els programes i els objectes físics. Les nostres idees i la nostra intuïció sobre la propietat dels objectes materials giren entorn de si és just privar algú d'un objecte. Aquestes idees no s'apliquen directament al fet de fer còpies d'alguna cosa, però els propietaris igualment ens demanen que les apliquem.   Exageració Els propietaris diuen que pateixen "danys" o "pèrdues econòmiques" quan els usuaris copien programes pel seu compte, però el fet de copiar no té cap efecte directe sobre el propietari i no provoca cap dany a ningú. El propietari només hi perdria diners en el supòsit que la persona que fa la còpia, en cas de no fer-la, li hagués comprat aquesta còpia al propietari. Si hi pensem una mica no costa de veure que la gran majoria d'aquestes persones no haurien comprat còpies del programa. Tanmateix, els propietaris calculen les seves "pèrdues" considerant que tots els usuaris comprarien una còpia. D'això se'n diu exagerar, per dir-ho d'una manera suau.   La llei Els propietaris ens recorden sovint la legislació actual i les dures sancions amb què ens poden amenaçar. Aquesta actitud porta implícit el suggeriment que la llei actual reflecteix un punt de vista moral inqüestionable (i alhora es pretén que considerem aquestes sancions com a fets naturals dels quals no es pot donar la culpa a ningú). Aquesta línia de persuasió no està dissenyada per reafirmar el pensament crític, sinó per reforçar un procés mental habitual. És evident que les lleis no decideixen el que està bé i el que està malament. Tots els nord-americans haurien de saber que, fa quaranta anys, a molts estats la llei prohibia que les persones de raça negra seguessin al davant de l'autobús. Però només els racistes dirien que seure al davant de l'autobús no estava bé.   Drets naturals Els autors sovint reclamen posseir a una connexió especial amb els programes que han escrit i afegeixen que, de resultes d'això, els seus desitjos i interessos respecte al programa senzillament estan per davant dels de qualsevol altra persona o, fins i tot, dels de la resta del món. (Normalment són les empreses, no els autors, els titulars del copyright del programari, però pretenen que oblidem aquesta incongruència). Als que proposen això com un axioma ètic (l'autor és més important que ningú), només els puc dir que jo mateix, com a destacat autor de programari, ho considero una ximpleria. En general, però, les persones només se senten proclius a acceptar pretensions basades en els drets naturals a causa de dos motius. Un dels motius és una analogia forçada amb els objectes materials. Quan preparo espaguetis, em queixo si algú se'ls menja perquè aleshores jo me’n quedo sense. L'acte de la persona que se'ls menja em perjudica en exactament la mateixa mesura que el beneficia a ell: només un de nosaltres es pot menjar els espaguetis, de manera que la pregunta és "qui se'ls menja?". La més mínima distinció entre nosaltres és suficient per inclinar la balança ètica cap a una banda o una altra. Però el fet que executeu o modifiqueu un programa escrit per mi, us afecta directament a vosaltres, i a mi només ho fa indirectament. Si doneu una còpia a un amic, això us afecta a tots dos molt més que a mi. Jo no hauria de tenir el dret a negar-te que facis aquestes coses. Ningú no l'hauria de tenir. La segona raó és que s'ha dit a la gent que els drets naturals dels autors són una tradició acceptada i indiscutible de la nostra societat. Des del punt de vista històric el que és veritat és el fet contrari. La idea dels drets naturals dels autors va ser proposada i fermament rebutjada quan es redactà la Constitució dels EUA. Per això la Constitució només permet que existeixi un sistema de copyright, però no obliga que n'hi hagi un, i per això diu que el copyright ha de ser temporal. També diu que l'objectiu del copyright és fomentar el progrés, no pas recompensar els autors. El copyright ofereix una petita recompensa als autors, recompensa més gran en el cas dels editors, però està concebut com a mitjà per a modificar llur comportament. La tradició realment establerta de la nostra societat és que el copyright retalla els drets naturals de les persones i que aquest acte només es pot justificar pel bé de la societat.   Economia L'últim argument que s'empra per a justificar l'existència de propietaris de programari és que d'aquesta manera es fa que es produeixi més programari. A diferència dels altres arguments, almenys aquest aborda la qüestió d'una manera legítima, ja que es basa en un objectiu vàlid: satisfer els usuaris de programari. I empíricament és cert que la gent produirà més d’una cosa si la aquesta feina se’ls remunera bé. Però l'argument econòmic té un defecte: es basa en el pressupòsit que la diferència radica només en la quantitat de diners que hem de pagar. Pressuposa que el que volem és que hi hagi "producció de programari", independentment de si el programari té propietari o no en té. La gent accepta fàcilment aquest pressupòsit perquè s'ajusta a la nostra experiència amb objectes materials. Per exemple, agafem el cas d'un entrepà. És possible que pugueu aconseguir un entrepà igual, de franc o pagant. Si és així, la quantitat que pagueu és l'única diferència. Tant si l'heu de comprar com si no, l'entrepà té el mateix gust, el mateix valor nutricional i, en qualsevol dels casos, només us el podeu menjar una vegada. El fet de si l'entrepà s'obté d'un propietari o no tan sols pot repercutir directament en la quantitat de diners que teniu després de la transacció. Aquest és el cas dels objectes materials: el fet que tinguin o no propietari no repercuteix directament en el que són ni en allò que podeu fer amb ells si els compreu. Però si els programes tenen propietari, això repercuteix en gran mesura en el que són i en el que podeu fer amb llurs còpies si en compreu un. La diferència no és només una qüestió de diners. El sistema de propietaris de programari incentiva els propietaris de programari a produir alguna cosa, però no el que la societat realment necessita. I provoca una contaminació ètica intangible que ens afecta a tots. Què és el que necessita la societat? Necessita informació que realment estigui a disposició dels ciutadans: per exemple, programes que la gent pugui llegir, corregir, adaptar i millorar, no solament executar. Però el que els propietaris de programari acostumen a oferir és una caixa negra que no podem n