publicat originalment al llibre "Open Sources"
[Anglès
| Castellà
| Català
| Coreà
| Francès
| Italià
| Rus ]
El LIA utilitzava un sistema operatiu de compartiment de temps anomenat ITS (Incompatible Timesharing System) que els hackers (1) del laboratori havien dissenyat i escrit en assemblador per al Digital PDP-10, ún dels ordinadors més potents de l'època. Com a membre d'aquesta comunitat, un hacker del LIA, la meva feina era millorar el sistema.
No anomenavem el nostre programari "programari lliure", perquè el mot encara no existia, però això era el que realment era. Sempre que la gent d'altres universitats o empreses volien portar i utilitzar el programa, els hi oferíem amablement. Si veieu algú utilitzant un programa interessant però desconegut, sempre podeu preguntar-li si disposa del codi font per tal de llegir-lo, o reutilitzar-ne algunes parts per a fer un nou programa.
(1) L'ús de "hacker" com a "aquell qui trenca barreres de seguretat"
és una confusió per part dela premsa i els medis de comunicació.
Nosaltres els hackers refusem aquesta acepció del terme, i continuem
emprant el mot per a significar, "aquell qui està enamorat de la programació
i que disfruta emprant-la de manera intel·ligent."
La comunitat hacker del LIA ja havia desaparegut. In 1981, una empresa jove, Symbolics, va contractar gairebé a tots els hackers del LIA, i la comunitat restant fou incapaç de mantenir-se pel seu compte. (El llibre Hackers, de Steve Levy, descriu aquests esdeveniments i alhora ofereix un panorama detallat d'aquesta comunitat.) Quan el LIA va comprar un nou PDP-10 l'any 1982, els administradors van decidir d'utilitzar el sistema de compartició de temps no lliure de Digital en comptes del ITS.
Els ordinadors moderns de l'època, com el VAX o el 68020, disposaven dels seus propis sistemes operatius, però cap d'ells era programari lliure: hom havia de signar un contracte fins i tot per obtenir una còpia de l'executable.Això significava que havíeu de prometre prometre que no ajudaríeu el vostre veí. La cooperació fou prohibida. La regla establerta pels amos del programari propietari era, "si ho compartiu amb els vostres companys, sou uns pirates. Si feu voleu cap canvi, demaneu-nos que el fem".
La idea que el sistema social implantat pel programari propietari ( el sistema que prohibeix compartir o modificar el programari) és antisocial, no ètica i simplement dolenta, pot sorprendre a alguns lectors. Però què més podríem dir sobre un sistema basat en dividir al públic i deixar sense ajut als usuaris? Els lectors que trobin la idea sorprenent pot ser que considerin el sistema social de programari propietari com a donat, o el jutgin en els termes aconsellats per les empreses de programari propietari. Els productors de programari han treballat intensament i durant molt temps per tal de convéncer a la gent que és l'única manera de veure el tema.
Quan els productors de programari parlen de "fer valdre" els seus "drets" o "aturar la pirateria", el que volen realment *dir* és secundari. El missatge real d'aquestes afirmacions és en els supòsits que ells prenen com a donats i que el públic ha d'acceptar sense cap mena de discussió. Anem doncs a examinar-los.
Un supòsit és que les empreses de programari tenen un dret natural inqüestionable sobre el seu propi programari i per tant tenen poder sobre tots els seus usuaris. Si aquest fós un dret natural, llavors no importaria el dany que fa sobre el públic, perquè no podríem posar cap objecció. Però la Constitució dels EE.UU. o la tradició legal refusen aquesta interpretació: el copyright no és un dret natural, sinó un mecanisme artificial que imposa un monopoli limitador del dret natural a copiar dels usuaris.
Un altre d'aquests supòsits és que l'única cosa important relativa al programari són els llocs de treball que permeten crear, un supòsit que du implícit el fet que nosaltres, els usuaris, no ens hem de preocupar del tipus de societat que ens està permès de tenir.
Un tercer supòsit és que no tindríem programari utilitzable (o, millor dit, no tindríem un programa que fes una tasca particular) si no oferíssim a l'empresa poder sobre els usuaris del programa. Aquest supòsit pot semblar plausible abans que el moviment per al programari lliure demostrés que es pot tenir qualsevol programari sense haver d'imposar restriccions.
Si declinem d'acceptar aquests supòsits i jutgem aquest tema basant-nos en el sentit comú i posant els usuaris al capdamunt, arribem a unes conclusions ben diferents. Els usuaris dels sistemes informàtics haurien de ser lliures de modificar programes per tal que s'adaptessin a les seves necessitats, a més de poder compartir-lo, pel senzill fet de què ajudar a la resta de gent és la base de la societat.
No disposem aquí de lloc per a un tractament més extens
del raonament que hi ha darrera d'aquesta conclusió, per la qual
cosa us adreço a la següent adreça:
http://www.gnu.org/philosophy/why-free.html.
Una elecció fàcil hauria estat unir-me al món del programari propietari, on hauria signat contractes de no revelació i hauria promès no ajudar als meus companys. Amb major probabilitat hauria també desenvolupat programari que hauria sortit en condicions de no revelació, afegint per tant pressió sobre la resta de gent a trair els seus companys.
Hauria pogut fer diners d'aquesta manera, i potser m'hauria divertit escrivint codi. Però sé que al final de la meva carrera miraria enrera, als anys on es van construir barreres per dividir a la gent, i pensaria que m'hauria passat la vida fent el món una mica pitjor del que és.
Ja havia experimentat el què era un acord de no revelació quan un cop es van negar a facilitar-me (a mi i al LIA del MIT) el codi font d'un programa de control de la nostra impressora (la manca de diverses functions en el programa utilitzat feia molt difícil l'ús de la impressora ). No podria dir doncs que els acords d'exclusivitat eren innocus. Em vaig emprenyar molt quan van rebutjar de compartir el codi; no podria fer jo el mateix a algú.
Una altra tria, fàcil pero poc motivadora, era la de deixar el món de la informàtica. D'aquesta manera els meus coneixements no s'utilitzarien malament, però es malgastarien. No seria culpable de dividir als usuaris i de restingir-los els drets, però no podria fer-hi res.
Vaig cercar per tant una manera per tal de poder fer quelcom de bo. Em vaig preguntar si hi havia algun programa o programes que podia escriure, per tal de refer la comunitat.
La resposta era clara: el que primer calia era un sistema operatiu. És a dir, el programari crucial per a poder fer servir un ordinador. Amb un sistema operatiu, podeu fer moltes coses; sense ell, no podeu treballar-hi. Amb un sistema operatiu lliure podia refer-se la comunitat de programadors i convidar a què més gent s'hi afegis. I tothom podria fer servir un ordinador sense que el seu ús provoqués una pèrdua de drets dels seus companys.
Com a desenvolupador de sistemes operatius, tenia els coneixements i habilitats adequades per a la feina. Tot i que no n'estava segur dels resultats em vaig adonar que era la persona indicada per a fer-ho. Vaig decidir de fer el sistema compatible amb Unix per tal de que podés ser portable i perquè els usuaris de Unix poguessin fàcilment canviar-se de bàndol. El nom GNU fou escollit seguint una tradició hacker: GNU és un acrònim recursió que significa "GNU's Not Unix.".
Un sistema operatiu no és només un nucli, amb prou feines suficient per a executar altres programes. Als anys 70 tots els sistemes operatius dignes de dur aquest nom duien assembladors, processadors de comandes, compiladors, intèrprets, depuradors, editors de text, programari de correu i molt més. ITS els duia, Multics també els duia, VMS també els duia i UNIX també els duia. El sistema operatiu GNU també els havia de dur.
Més tard vaig escoltar aquests versos, atribuïts a Hillel (1):
If I am not for myself, who will be for me?
If I am only for myself, what am I?
If not now, when?
La decisió de començar el projecte GNU estava basada en
un esperit similar.
(1) Com a ateu, no estic sota les ordres de cap líder religiós,
però a vegades admiro algunes coses del que diuen.
Degut a la ambigüitat del terme "lliure", molta gent ha cercat des de fa temps per paraules alternatives. L'anglès té més paraules i matisos que cap d'altra (1) però li manca una paraula simple, sense ambigüitats, on "lliure" sigui idèntic a "llibertat". "Unfettered" és el mot que està més proper en significat. Alternatives com "liberated", "freedom" o "open" tenen o bé un significat dubtós o algun altre desavantatge.
(1) Nota del traductor: estic en desacord amb l'afirmació de
què l'anglès té més paraules i matisos que
cap d'altra. Totes les llengües tenen infinitat de mots i matisos.
Degut a aquesta decisió el sistema GNU no és el mateix
que la col·lecció de programari GNU. El sistema GNU inclou
programes que no són programari GNU, sino programari desenvolupat
per tercers i projectes independents, però que utilitizem pel fet
de què són programes lliures.
Tot i això, el catedràtic Winston, en aquells moments el cap
del LIA del MIT, em va convidar cordialment a fer servir els equips del laboratori
sempre que ho volgués.
La resposta fou irònica, indicant-me que si bé la universitat era gratuïta, el compilador no ho era. Em vaig decidir, per tant, a què el primer programa del projecte GNU fos un compilador multillenguatge i multiplataforma.
Esperant haver d'estalviar-me la feina d'escriure completament el compilador pel mou compte, vaig obtenir el codi font del compilador Pastel, que era un compilador multiplataforma desenvolupat al Lawrence Livermore Lab. Suportava, i de fet estava escrit en ell, una versió extesa de Pascal, dissenyada per a ser un llenguatge de programació del sistema. Hi vaig afegir suport per a C i vaig començar a portar-lo a un ordinador Motorola 68000. Però vaig haver-ho d'abandonar quan em vaig donar compte de què el compilador necessitava molts megaoctets d'espai de pila i que la pila disponible al Unix 68000 només permetia 64k.
Llavors em vaig adonar que el compilador Pastel funcionava analitzant
el fitxer d'entrada complet en un arbre de sintaxi, convertint el fitxer
de sintaxi complet en una cadena d'"instruccions" i generant un únic
fitxer de sortida, sense haver fet cap enmagatzematge. Vaig concloure que
havia d'escriure un nou compilador des de zero. Aquest nou compilador és
conegut actualment com a GCC. El GCC no utilitza res del compilador Pastel,
però me les vaig arreglar per adaptar i incloure la part que havia
escrit per al C. Però això fou anys més tard; abans,
vaig treballar amb el GNU Emacs.
Fou llavors quan la gent començà a voler utilitzar GNU Emacs, cosa que va fer sorgir el dubte de com distribuir-lo. Per descomptat, el vaig posar al servidor ftp anònim de l'ordinador del MIT que havia utilitzat. (Aquest ordinador, prep.ai.mit.edu, esdevingué la principal ftp de distribució GNU; quan fou donat de baixa anys més tard, vam transferir el nom al nostre nou servidor ftp) . Malgrat això, en aquella època la majoria dels potencials usuaris no tenien accés a Internet i no podien aconseguir la còpia via ftp. Per tant el dubte era: com fer-los saber de la seva existència?
Podria haver dit, "Troba un amic que estigui a la xarxa i que et faci una còpia".
O podria haver fet el que vaig fer amb l'Emacs PDP-10 original: dir-los:"Envieu-me
una cinta i un SASE, i us ho retornaré amb l'Emacs". Però jo no
tenia feina remunerada i estava cercant vies per obtenir diners del programari
lliure. Vaig decidir-me per tant a anunciar que enviaria una cinta a tothom
que ho volgués, però previ pagament de 150 $. D'aquesta manera
vaig començar el negoci de la distribució de programari lliure,
el precursor de les empreses que avui distribueixen sistemes complets GNU basats
en Linux.
Si un programa és programari lliure quan deixa les mans del seu autor,
això no significa ncecessàriament que sigui programari lliure
per a qualsevol que tingui una còpia. Per exemple, programari de domini
públic (programari sense copyright) és programari lliure, però
qualsevol pot fer una versió modificada propietària a partir d'ell.
De la mateixa manera molts programes lliures tenen copyright però es
distribueixen amb llicències simples molt permisives que permeten versions
modificades propietàries.
L'exemple paradigmàtic d'aquest problema és el sistema X Window. Desenvolupat al MIT, i llençat com a programari lliure amb una llicència permisiva, fou adoptat ràpidament per diverses empreses d'ordinadors. Aquestes afegiren X als seus sistemes Unix propietaris, només en mode binari, i la van incloure en el seu mateix contracte. Aquestes còpies de X van deixar de ser programari lliure, de la mateixa manera que ho va deixar de ser el Unix.
Els desenvolupadors del sistema X Window no van considerar això un problema: ho preveien. El seu objectiu final no era la llibertat sinó l'"èxit", definit com a "captar el màxim nombre d'usuaris". No van tenir en compte si aquests usuaris disposarien de drets; només de què fossin nombrosos.
Això va dur a la situació paradoxal on dues maneres diferents de mesurar els drets donaren diferents respostes a la pregunta, "És aquest programa lliure?" Si jutgeu basant-vos en els drets donats pels termes de distribució de la versió del MIT, X és programari lliure. Però si mesureu la llibertat de l'usuari típic de X, la resposta és que és programari propietari. La majoria d'usuaris de X executen les versions propietàries que venen amb els sistemes Unix, no la versió lliure.
El copyleft utilitza la llei del copyright, però amb l'objectiu de què serveixi per al contrari del seu propòsit habitual: en comptes de privatitzar el programari, esdevé un medi per a mantenir el programari lliure.
La idea central del copyleft és donar a tothom permís per a executar el programa, copiar-lo, modificar-lo i distribuir-lo modificat o sense modificat, però sense permís d'afegir restriccions. Per tant, els drets crítics que defineixen el "programari lliure" estan garantits per a tothom que tingui una còpia. Són drets inalienables.
Per a un copyleft efectiu, les versions modificades han de ser també lliures. Això garanteix que la feina que fem pugui estar disponible per a tothom si es publica. Quan els programadors que tenen feines de programador col·laboren a millorar el programari GNU, és el copyleft el que impedeix als seus caps que esdevinguin situacions com: "Tu no pots distribuir aquests canvis, perquè els farem servir per llençar una versió propietària del programa."
L'exigència de que els canvis han de ser lliures és essencial si volem garantir els drets de tots els usuaris del programa. Les empreses que van privatitzar el sistema X Window sovint feien canvis mínims per a portar-los als seus sistemes i maquinari. Aquests canvis eren petits comparats amb les dimensions del sistema X, però no trivials. Si el fer canvis era una excusa per a denegar drets als usuaris hauria de ser fàcil per a qualsevol de prendre avantatge d'aquesta excusa.
Un aspecte relacionat és la combinació d'un programa lliure amb codi no lliure. Tal combinació esdevindrà necessàriament no lliure: aquells drets eliminats de la part no lliure seran drets eliminats al programa final. Permetre aquests combinacions pot obrir un forat prou gran per enfonsar un vaixell. Per tant, un requisit indispensable per al copyleft és omplir aquest forat: qualsevol cosa afegida o combinada amb un programa amb copyleft ha de donar lloc a una versió lliure i amb copyleft.
La implementació específica del copyleft que utilitzem per a la majoria del programari GNU és la Llicència Pública General GNU (GNU GPL abreviadament). Tenim altres tipus de copyleft que utilitzem en circumstàncies particulars. Els manuals GNU també tenen copyleft, però utilitzen un sistema de copyleft més simple, donat que la complexitat de la GNU GPL no és necessària per als manuals.
(1) El 1984 o 1985, Don Hopkins (un paio molt imaginatiu) em va enviar una carta. Al sobre havia escrit diverses notes divertides, incloent-hi aquesta. "Copyleft- all rights reversed." Vaig emprar el mot "copyleft" per nombrar el concepte de distribució que estava desenvolupant en aquell moment.
Com l'interès en utilitzar l'Emacs estava creixent, més gent s'estava
involucrant en el projecte GNU, i vam decidir que era hora de cercar fons. Per
tant, el 1985 vam crear la Free Software Foundation (FSF), una entitat no lucrativa
dedicada al programari lliure. La FSF va assumir el negoci de distribució
de les cintes amb l'Emacs (més tard s'hi va afegir altre programari lliure
(bé GNU o no GNU) ) i la venda de manuals lliures.
La FSF accepta donatius, però la majoria dels seus ingressos han provingut sempre de les vendes (de còpies de programari lliure i d'altres serveis relacionats). Actualment ven CD-ROMs amb codi font, CD-ROM amb fitxers binaris, manuals cuidadosament impresos (tots amb el dret a modificar-los i redistribuir-los) i Distribucions Deluxe (on incloem la totalitat del programari)
Els treballadors de la FSF han escrit i mantingut un nombre de paquets de programari GNU. Dos exemples notables són la biblioteca C i la shell. La biblioteca C GNU és el medi amb que qualsevol programa treballant amb GNU/Linux utilitza per a comunicar-se amb Linux. Fou desenvolupada per un membre del nucli de la FSF, Roland McGrath. La shell utilitzada en la majoria dels sistemes GNU/Linux és la BASH, la Bourne Again Shell(1), desenvolupada per Brian Fox, treballador de la FSF.
Vam subvencionar el desenvolupament d'aquests programes perquè el projecte GNU no es limitava a crear eines de desenvolupament. El nostre objectiu era un sistema operatiu complet, i tots aquests programes eren necessaris per a assolir aquest objectiu.
(1) "Bourne again Shell"´és un acudit del nom ``Bourne
Shell'', que era la shell usual a Unix.
La venda de còpies de l'Emacs és un dels exemples dels negocis relacionats amb el programari lliure. Quan la FSF va assumir el negoci, necessitava un altre medi de subsistència. El vaig trobar venent serveis relacionats amb el programari lliure que havia desenvolupat. Això incloïa la formació: com programar el GNU Emacs, com personalitzar el GCC, desenvolupament de programari (portar GCC a noves plataformes).
Actualment cadascun d'aquests tipus de pràctiques empresarials relacionades amb el programari lliure són realitzades per un gran nombre d'empreses. Algunes distribueixen col·leccions de programari lliure en CD-ROM; d'altres venen suport a nivells que van des de respondre dubtes dels usuaris a afegir noves funcionalitats importants. Estem començant a veure empreses de programari lliure basades en llençar nous productes de programari.
Tot i això, un nombre d'empreses que s'associen amb el terme "programari
lliure" realment basen els seus negocis en el programari no lliure que utilitza
el programari lliure. Aquestes no són empreses de programari lliure,
són empreses de programari propietari amb productes que tempten als usuaris
a prescindir dels seus drets. Els anomenen "valor afegit", que reflecteix els
valors que volen fer-nos adoptar: conveniència per sobre dels drets.
Si valorem més els drets, hauríem d'anomenar-los productes "limitadors
de drets".
Però era natural aplicar les bones pràctiques conegudes al treball, per exemple, les estructures de dades d'assignació dinàmica per evitar mides límit arbitràriament fixades i utilitzar tots els codis de 8 bits possibles on això tingués sentit.
A més, vam rebutjar l'obsessió de Unix en mides de memòria petites, i no vam voler donar suport a les màquines de 16 bits (ja era clar que les màquines de 32 bits serien les habituals quan el projecte GNU estigués acabat) ni insistir en reduir l'ús de la memòria llevat que excedís d'un megaoctet. En programes en els que el tractament de fitxers molt grans no era crucial, vam animar als programadors a que es llegis el fitxer dins el nucli, i llavors escanejar els seus components sense haver-se de preocupar de l'E/S.
Aquestes decisions permeteren a molts programes GNU de millorar els
seus homònims Unix en fiabilitat i velocitat.
El Unix era (i és) programari propietari, i la filosofia del projecte GNU diu que no hauríem de fer servir programari propietari. Però, aplicant el mateix raonament que du a la conclusió de què la violència és justifica si és en defensa pròpia, vaig concloure que era legítim utilitzar un paquet propietari quan era crític per al desenvolupament d'aplicacions que el substituïen i que ajudarien a la resta a deixar d'utilitzar el paquet propietari.
Però, tot i que sigui un pecat justificable, no deixa de ser
un pecat. Actualment no tenim cap còpia de Unix, perquè l'hem
substituït per sistemes operatius lliures. Si no podem canviar el
sistema operatiu de la màquina, canviem la màquina.
Actualment, gairebé tots els components Unix han deixat d'estar a la llista de tasques del GNU: ja han estat fets, llevat d'alguns que no eren essencials. Però la llista continua plena de projectes que alguns anomenen "aplicacions" Qualsevol programa que sigui atractiu per a un segment d'usuaris prou important és un programa potencial d'afegir al sistema operatiu.
Fins i tot s'inclouen els jocs en la llista de tasques (i han estat
des dels inicis). El Unix incloïa jocs; el GNU per tant els havia
d'incloure. Però la compatibilitat no és el punt fort del
jocs. Per tant, no vam seguir la llista de jocs que Unix tenia. En comptes
d'això vam fer una llista de diferents tipus de jocs als que els
usuaris els agradaria.
No és una qüestió de principis: no hi ha cap principi que digui que els productes de programari propietari tinguin el dret a incloure el nostre codi (Per què contribuir a un projecte que té l'objectiu no cooperar amb nosaltres?). L'ús de la LGPL per a la Biblioteca C, o per a qualsevol altra biblioteca, és una qüestió d'estratègia.
La Biblioteca C fa una feina genèrica: cada sistema propietari o compilador ve amb una biblioteca C. Per tant, fer que la nostra Biblioteca C estigui disponible només per al programari lliure no hauria donat al programari lliure cap avantatge (només n'hauria desincentivat l'ús)
Un sistema és fer una excepció: al sistema GNU (i això inclou GNU/Linux), la Biblioteca C GNU és l'única biblioteca C. Per tant els termes de la distribució de la Biblioteca C GNU determinen si és possible compilar un programa propietari per al sistema GNU. No hi ha cap raó ètica per permetre aplicacions propietàries al sistema GNU, però estratègicament sembla que no permetre-ho no faria res més que desincentivar l'ús del sistema GNU en comptes d'incentivar el desenvolupament d'aplicacions lliures.
Aquesta és la raó perquè l'ús de la GPL per a Biblioteques sigui una bona estratègia per a la Biblioteca C. Per altres biblioteques, la decisió estratègica ha de ser considerada sota la base d'analitzar cas per cas. Quan una biblioteca fa una tasca especial que pot ajudar a escriure certs tipus de programes fa que llençar-la sota la GPL, limitant-la només al programari lliure, sigui una manera d'ajudar altres desenvolupadors de programari lliure, donant-los un avantatge respecte el programari propietari.
Considereu el GNU Readline, una biblioteca que fou desenvolupada per a combinar l'edició de linies de comandes per al BASH. Readline fou llençat sota la llicència GPL GNU, no la GPL per a Biblioteques. Això probablement reduirà la difusió de Readline, però no significa cap pèrdua per a nosaltres. Mentrestant, com a mínim una aplicació útil ha estat concebuda específicament programari lliure i pot fer servir Readline,i això és un guany real per a la comunitat.
Els desenvolupadors de programari propietari tenen els avantatges que donen els diners: els desenvolupadors de programari lliure han de prendre avantatge cooperant. Espero que algun dia disposem d'una bona col·lecció de biblioteques sota el paraigües de la GPL sense versió paral·lela propietària, que ofereixin mòduls útils amb l'objectiu de crear nou programari lliure, i afegint majors avantatges per al posterior desenvolupament de més programari lliure.
Eric Raymond diu que "Cada bona obra de programari s'inicia per un interès o necessitat personal del desenvolupador (scratching an itch)". Potser això passi alguns cops, però la majoria de peces essencials del sistema GNU van ser desenvolupades amb la intenció que formessin part d'un sistema operatiu lliure complet. Van ser el fruit d'una planificació prèvia i no d'un impuls espontani.
Per exemple, vam desenvolupar la biblioteca GNU C perquè un sistema a l'estil de Unix necessitava una biblioteca C, la Bourne-Again Shell (bash) perquè un sistema a la Unix necessita una shell, i GNU tar perquè un sistema de tipus Unix necessita un programa com el tar. El mateix és cert per els meus propis programes, el compilador GNU C, el GNU Emacs, GDB i el GNU Make..
Alguns programes GNU van ser desenvolupats per solucionar algunes amenaces a la nostra llibertat que es van presentar. Així vam desenvolupar gzip per a substituir el programa Compress, que havia estat perdut per a la comunitat a causa de les patents LZW. Vam trobar gent que desenvolupés LessTif i més recentment GNOME i Harmony, per solucionar els problemes causats per certes biblioteques de caràcter propietari (vegeu més avall). Estem desenvolupant del GNU Privacy Guard (GNUPG) per a substituir un programa popular de xifratge no lliure de manera que els usuaris no hagin de triar entre privacitat i llibertat.
Per descomptat, els desenvolupadors d'aquests programes es van interessar per
la feina i moltes funcionalitats van ser afegides per més gent d'acord
amb els seus interessos i necesitats. Però això no explica el
perquè els programes existeixen.
Com cada component del sistema GNU fou implementat en un sistema Unix, cada component podia executar-se en sistemes Unix molt abans de què existís un sistema GNU complet. Alguns d'aquests programes es van fer populars i els usuaris van començar a fer extensions i a portar-los a les diferents versions de Unix incompatibles entre elles i a d'altres sistemes.
Aquest procés va fer aquests programes més potents i van aconseguir
atraure fons i col·laboradors al projecte GNU. Però probablement
també van fer que la finalització d'un sistema operatiu mínim
funcional es retardés uns anys: part del temps dels desenvolupadors GNU
es gastava mantenint aquests ports i afegint funcionalitats als components existents,
disminuint el temps disponible per a escriure components que faltaven.
Una raó per la que vam escollir aquest disseny era que evitàvem el que semblava ser la part més dura del treball: depurar un programa de nucli sense un depurador a nivell de codi. Aquesta part de la feina ja s'havia fet, al Mach, i esperàvem depurar els servidors Hurd com a programes d'usuari, amb GDB. Però això va trigar molt de temps a ser possible, i els servidors multienllaçats que s'enviaven missatges uns amb els altres van resultar ser molt complicats de depurar. Fer que el Hurd treballés fiablement fou una tasca de força anys.
El nucli GNU no s'havia d'anomenar originalment Hurd. El seu nom original era Alix-- un nom idea de la que llavors era la meva dona. Ella, una administradora de sistemes Unix, havia fet notar que algunes versions del sistema Unix prendrien el seu nom. Un cop va fer el següent acudit als seus amics: "algú hauria de posar el meu nom a un nucli". Jo no vaig dir res, però vaig decidir donar-li una sorpresa anomenant Alix el nucli en el que treballava .
Però això fou efímer. Michael Bushnell (ara Thomas), el principal desenvolupador del nucli, va estimar-se més el nom Hurd, i va redefinir Alix com la part del nucli que atrapava les crides al sistema i les canalitzava enviant missatges als servidors Hurd.
A més a més, Alix i jo vam trencar i ella es va canviar el seu nom. Independentment de tot això el disseny de Hurd va canviar de tal manera que la biblioteca C enviaria els missatges directament del servidor, cosa que provocà que el component Alix desaparegués.
Però abans que aquestes coses pasaren, un amic d'ella va veure el nom
d'Alix al codi font de Hurd i li va esmentar. El nom va fer la seva tasca.
Anomenem aquesta versió del sistema GNU/Linux, per tal d'expressar
la seva composició com a combinació del sistema GNU amb el
nucli Linux
Hem mostrat les nostres capacitats de desenvolupar un ampli espectre de programari
lliure. Això no vol dir que siguem invencibles ni que no se'ns pugui
aturar. Diversos desafiaments faran el futur del programari lliure quelcom incert.
Afrontar-los implica un esforç constant i profund, un esforç que
pot durar anys. Caldrà que la gent mostri quant valora la seva llibertat
i no que deixa que ningú se la prengui.
Els propers quatre apartats parlen sobre aquestes amenaces.
Hi ha dues maneres de tractar aquest problema. Els programadors poden fer enginyeria inversa per intuir com suportar el maquinari. La resta pot escollir el maquinari que tingui suport per programari lliure. A mesura que anem creixent, el secretisme de les especificacions és una estrategia ruinosa.
L'enginyeria inversa és una feinada: tindrem programadors amb prou determinació
per a dur-la a terme? Sí, si hem creat l'opinió de què
el programari lliure és qüestió de principis, i de què
els drivers no lliures no es poden tolerar. I podem gastar diners extra, o fins
i tot temps extra, utilitzant drivers lliures? Sí, si la determinació
de donar drets i llibertats és estesa.
Una biblioteca no lliure que opera en un sistema operatiu lliure actua com a trampa per als desenvolupadors de programari lliure. Les funcionalitats atractives de la biblioteca són l'esquer: si utilitzeu la biblioteca, caieu a la trampa, pel fet de què el vostre programa no pot ser part útil d'un sistema operatiu lliure (estrictament parlant, podeu incloure-hi el vostre programa, però no podrà ser executat amb la biblioteca que falta). Encara pitjor, si un programa que utilitza una biblioteca de caràcter propietari esdevé popular, pot fer que altres programes caiguin a la mateixa trampa.
El primer cas que es va produir fou el conjunt d'eines Motif als anys 80. Tot i que llavors encara no hi havia sistemes operatius lliures, esdevingueren clars els problemes que Motif podia causar-hi més endavant. El Projecte GNU va respondre-hi de dues maneres: demanant als projectes de programari individuals que donessin suport als conjunts d'eines X alhora que el donaven al Motif, i demanant que algú escrivís un substitut de caràcter lliure del Motif. La feina va trigar força anys. Lesstif, desenvolupat per Hungry Programmers, va esdevenir prou potent per suportar la majoria d'aplicacions Motif l'any 1997.
Entre el 1996 i el 1998, una altra biblioteca capsa d'eines de la GUI no lliure, anomenada Qt, fou utilitzada en un conjunt substancial de programari lliure: l'escriptori KDE.
Els sistemes lliures GNU/Linux no podien utilitzar KDE pel fet de què no podien utilitzar la biblioteca. Tot i això, alguns distribuidors comercials de sistemes GNU/Linux no massa estrictes amb el concepte de programari lliure afegiren el KDE als seus sistemes, oferint un sistema amb funcionalitats més grans, però també amb la llibertat minvada. El grup KDE encoratjava de manera activa cada cop més programadors a emprar Qt, i milions de nous "usuaris de Linux" mai van tenir en ment que hi havia un problema darrera d'això. Aquesta situació semblava complicada.
La comunitat de programari lliure va repondre al problema amb dues alternatives: GNOME i Harmony.
GNOME, acrònim de GNU Network Object Model Environment, és el projecte d'escriptori GNU. Iniciat l'any 1997 per Miguel de Icaza, i desenvolupat amb el suport de Red Hat Sotware, el GNOME fou concebut per a proveir funcionalitats d'escriptori similar però utilitzant exclusivament programari lliure. També conté avantatges tècnics, tals com suportar una varietat de llenguatges de programació a més del C++. Però la seva primera finalitat fou la de donar llibertat i no haver de requerir l'ús de cap tipus de programari no lliure.
Harmony és una biblioteca de substitució, dissenyada per fer possible l'execució del programari KDE sense fer ús de Qt.
El novembre de 1998 els desenvolupadors de Qt van anunciar un canvi a la política de llicències, que un cop dut a terme, faria que Qt fos programari lliure. Tot i que no en tinc la certesa absoluta, em sembla que això fou el resultat de la ferma resposta de la comunitat al problema que Qt va plantejar quan no era lliure. Tot i això, la nova llicència no és ni equitativa ni prou bona, per la qual cosa continua sent desitjable evitar l'ús de Qt.
Com respondrem a la nova biblioteca no lliure que ens tempti? Entendrà
la majoria de membres de la comunitat la necessitat d'estar fora d'aquest tipus
de trampes? O molts de nosaltres abandonarem la llibertat per pura conveiència
i provocarem així un greu problema? El nostre futur depèn de la
filosofia que apliquem.
Hi ha vies per lluitar amb les patents: podem cercar evidències de què la patent és invàlida, o podem cercar vies alternatives de fer la feina. Però cadascun d'aquests mètodes només a vegades és vàlid : quan els dos fallen, una patent pot forçar que tot el programari lliure no disposi d'una funcionalitat que els usuaris volen. Què fem doncs si això passa?
Aquells qui valorem el programari lliure per qüestió de concepte continuarem amb el programari lliure. Haurem d'acostumar-nos a treballar sense les característiques patentades. Però aquells qui valoren el programari lliure perquè esperen sigui superior en qüestions tècniques trobaran un inconvenient quan una patent no els permeti fer servir una característica. Per tant, tot i que és útil parlar de l'efectivitat pràctica del model de desenvolupament a l'estil de les catedrals, i de la fiabilitat i potència d'alguns programes lliures, no ens podem aturar aquí. Hem de parlar de drets i llibertats.
La pitjor deficiència en els nostres sistemes operatius lliure no és el programari sino la manca de bons manuals lliures que puguin ser inclosos als nostres sistemes. La documentació és una part essencial del qualsevol paquet de programari. Quan un paquet de programari lliure important no inclou un bon manual lliure, aquest paquet té una mancança greu. Tenim moltes mancances d'aquest tipus actualment.
La documentació lliure, com el programari lliure, és un aspecte de llibertat i no de preu. El criteri per als manuals lliures és més o menys el mateix que per al programari lliure: és el tema de donar a tots els usuaris certs drets. La redistribució (incloent-hi la venda comercial) és permesa, bé de manera electrònica o en format paper, per tal que el programa pugui acompanyar cada còpia del programa.
El permís de modificació és un aspecte crucial. Com a regla general no crec que sigui essencial que tothom doni permís per a modificar qualsevol tipus de llibre o article. Per exemple, no crec que tu o jo estem obligats a donar permís per modificar articles com aquest, que descriu les nostres accions o els nostres punts de vista.
Però hi ha una raó particular perquè la llibertat de modificar sigui crucial per a la documentació del programari lliure. Quan hom exercita el seu legítim dret a modificar el programari, i li afegeix noves funcionalitats o en canvia les existents, hauria de ser conscient de que hauria de canviar el manual també, per tal de donar documentació acurada i utilitzable sobre la versió modificada. Un manual que no permeti als programadors de ser curosos i els impedeixi acabar la seva tasca no és bo pels interessos de la comunitat.
Alguns tipus de límits en com s'han de fer les modificacions no són cap problema. Per exemple, el requeriment a preservar la nota origial de copyright de l'autor original, els termes de distribució o la llista d'autors són limitacions correctes. Tampoc és cap problema obligar a les versions modificades d'incloure una nota indicant que són versions modificades, fins i tot si hi ha capítols sencers que no han estat eliminats o canviats, sempre i quan aquests capítols no tractin de temes tècnics. Aquests tipus de restriccions no són cap problema perquè no aturen al programador curós d'adaptar el manual per tal d'encabir-hi el programa modificat. En altres paraules, no bloquegen a la comunitat de programari lliure de fer un ús complet del manual.
Malgrat tot hauria de ser possible poder modificar tots els continguts *tècnics* del manual, i distribuir posteriorment el resultant en tots els medis habituals, mitjançant els canals habituals... D'altra manera, restriccions de distribució afectarien la comunitat, farien que el manual no fos lliure i necessitaríem un altre manual..
Tindran els desenvolupadors de programari lliure la conscienciació i
determinació per a produir un amli espectre de manuals lliures? Un cop
més el nostre futur depèn de la filosofia que apliquem.
Les estimacions actuals parlen de prop de deu milions d'usuaris de sistemes GNU/Linux del tipus Debian o Red Hat. El programari lliure ha ofert avantatges pràctiques que han fet que els usuaris migrin a aquests sistemes per raons purament pràctiques.
Les conseqüències positives d'aquest fet són evidents: major interès en desenvolupar programari lliure, una major base de consumidors-usuaris d'empreses de programari lliure, i una major facilitat per encoratjar a les empreses a desenvolupar programari lliure en comptes de programari de caràcter propietari.
Però l'interès en el programari està creixent a un ritme més ràpid que la percepció de la filosofia subjacent, i això pot dur a més d'un maldecap. La nostra facilitat per fer front als canvis i amenaces descrites més amunt depèn de amb quina fermesa defensem la nostra llibertat. Per assegurar-nos de què la nostra comunitat vol defendre-la, cal que difonguem la idea als nous usuaris per a que s'uneixin a la comunitat.
Però no ho estem aconseguint. Els esforços per a atraure nous
usuaris a la nostra comunitat superen de llarg els esforços per ensenyar-los
el contingut cívic que hi ha darrera la nostra comunicat. Hem de fer
ambdues coses i cal que ambdues es desenvolupin armoniosament.
Conscienciar als nous usuaris sobre la llibertat ha esdevingut més difícil a partir de 1998 quan una part de la comunitat va decidir deixar de fer servir el terme "programari lliure" i utilitzar el terme "codi obert".
Alguns dels qui afavoriren aquesta expressió volien evitar la confusió del mot "lliure" amb "gratuït", un objectiu lícit. Alguns però volien amb això desmarcar-se de l'esperit que havia creat el moviment del programari lliure i el projecte GNU, i volien dirigir-se a usuaris de tipus comercial, molts dels quals tenien una ideologia on els seus beneficis monetaris estaven per sobre la llibertat, el civisme i qualsevol altre principi. Per tant, la retòrica del "codi obert" gira entorn el potencial de crear programari de gran qualitat i prestacions, però sense entrar en idees com la llibertat, el civisme i altres principis bàsics.
Les revistes sobre "Linux" en són un bon exemple. Estan plenes d'anuncis d'empreses fabricants de programari de caràcter propietari que treballa amb GNU/Linux. Quan el proper Motif o Qt surti al mercat, advertiran aquestes revistes als programadors dels perills que això suposa o els faran tractes especials?
Hi ha moltes maneres com les empreses poden contribuir a la comunitat. Però guanyant-se el suport parlant cada cop menys de llibertat i principis pot ser un desastre. Fa que el desequilibri entre utilitarisme i civisme cada cop es faci més gran.
"Programari lliure" i "codi obert" descriuen més
o menys la mateixa categoria de programari, però diuen coses diferents
sobre el concepte de programari i sobre els valors en general. El Projecte GNU
continua utilitzant el terme "programari lliure", per a expressar
la idea de que la llibertat és tant o més important que la tecnologia.
La filosofia de Yoda ("No hi ha `intents' que valguin") sona bé, però no la comparteixo. He fet la majoria de la meva feina mentre em preguntava si podria fer-la i no estant segur que faria prou per aconseguir els objectius que m'havia marcat. Però ho vaig intentar perquè no hi ha ningú a més de jo mateix entre els enemics i els meus objectius. I sorprenentment alguns cops he tingut èxit.
Alguns cops he fallat i alguns dels meus objectius han esdevingut inassolibles. Però llavors he trobat un altre objectiu amenaçat i m'he posat en una nova batalla. Al llarg del temps he après a cercar desafiaments i posar-me entre ells i els meus ideals, cercant altres hackers a què vinguessin i m'ajudessin.
Actualment no sóc pas l'únic. És una veritable joia quan veig el regiment de hackers disposats a fer-me costat i llavors me n'adono que els ideals poden sobreviure, per ara. Però els perills són més grans cada any que passa i ara Microsoft ha fixat els seus canons cap a la nostra comunitat. No podem estar segur de què el futur de la llibertat estigui assegurat. No us ho creieu! Si voleu mantenir la vostra llibertat heu d'estar preparats per a defendre-la.
Envieu si us plau els vostres comentaris o preguntes relatius a la FSF i el GNU a l'adreça gnu@gnu.org. Hi ha també altres vies de contactar amb la FSF.
Envieu si us plau els comentaris d'aquestes pàgines web a l'adreça webmasters@gnu.org, envieu altres questions a l'adreça gnu@gnu.org.
Copyright (C) 1998 Richard Stallman
La còpia i distribució literals d'aquest article està autoritzada en qualsevol medi, sempre que aquesta nota sigui visible.
Traduït:
22 de juny del 2000 david
Revisió: 11 de setembre del 2001 david
Darrera revisió: $Date: 2004/09/20 01:10:26 $ $Author: alex_muntada $