# Introducció al programari lliure/Una mica d'història

       "When I started working at the MIT Artificial Intelligence Lab in 1971, I became part of a software-sharing community that had existed for many years. Sharing of software was not limited to our particular community; it is as old as computers, just as sharing of recipes is as old as cooking. But we did it more than most. [...] We did not call our software free software, because that term did not yet exist; but that is what it was. Whenever people from another university or a company wanted to port and us a program, we gladly let them. If you saw someone using an unfamiliar and interesting program, you could always ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program."
       "Quan vaig començar a treballar al Laboratori d'Intel·ligència Artificial del MIT el 1971, vaig passar a formar part d'una comunitat de programari compartit que existia des de feia molts anys. Compartir codi no era una cosa específica de la nostra comunitat: és una cosa tan antiga com els ordinadors, de la mateixa manera que compartir receptes és tan vell com cuinar. Però nosaltres ho fèiem més que la majoria. [...]No anomenàvem el nostre programari programari lliure perquè aquest terme encara no existia, però això és el que era. Quan algú d'una altra universitat o d'una empresa volia migrar i fer servir un programa, nosaltres li deixàvem fer-ho gustosament. Si veies algú utilitzant un programa estrany i interessant, sempre podies demanar-li veure'n el codi font, per a poder llegir-lo, canviar-lo o canibalitzar-ne parts per fer un programa nou. "
          Richard Stallman, "The GNU Project" (publicat originalment al llibre Open sources) [208]
Encara que totes les històries relacionades amb la informàtica són forçosament breus, la del programari lliure és una de les més llargues entre aquestes. De fet, podria dir-se que als seus començaments, pràcticament tot el programari desenvolupat complia les definicions de programari lliure, encara que el concepte ni tan sols existia encara. Més tard la situació va canviar completament, i el programari privatiu va dominar l'escena, pràcticament en exclusiva, durant bastant de temps. Va ser durant aquesta època quan es van establir les bases del programari lliure com l'entenem avui dia, i quan, a poc a poc, van començar a aparèixer programes lliures. Amb el temps, aquests començaments s'han convertit en una tendència que ha anat creixent i madurant fins a arribar a la situació actual, en la qual el programari lliure és una possibilitat que cal considerar en gairebé tots els àmbits.
Aquesta història és bastant desconeguda, fins al punt que per a gran part dels professionals informàtics el programari privatiu és el programari "en el seu estat natural". Tanmateix, la situació és més aviat la contrària, i les llavors del canvi que es va començar a entreveure en la primera dècada del 2000 havien estat plantades ja a començaments dels anys vuitanta.

## El programari lliure abans del programari lliure

El programari lliure com a concepte no va aparèixer fins a principis de la dècada de 1980. Tanmateix, la seva història pot traçar-se des de bastants anys abans.

### I en el principi va ser lliure

Durant els anys seixanta el panorama de la informàtica estava dominat pels grans ordinadors, instal·lats fonamentalment en empreses i centres governamentals. IBM era el principal fabricant, amb gran diferència sobre els seus competidors. En aquesta època, quan s'adquiria un ordinador (el maquinari), el programari venia com un acompanyant. Mentre es pagués el contracte de manteniment, es tenia accés al catàleg de programari que oferia el fabricant. A més, no era comuna la idea que els programes fossin una cosa "separada" des d'un punt de vista comercial.
En aquesta època el programari es distribuïa habitualment juntament amb el seu codi font (en molts casos només com a codi font), i en general, sense restriccions pràctiques. Els grups d'usuaris com SHARE (usuaris de sistemes IBM) o DECUS (usuaris de DEC) participaven d'aquests intercanvis, i fins a cert punt els organitzaven. La secció "Algorithms" de la revista Communications of the ACM era un altre bon exemple de fòrum d'intercanvi. Podria dir-se que durant aquests primers anys de la informàtica el programari era lliure, almenys en el sentit que els que hi tenien accés podien disposar habitualment del codi font, estaven acostumats a compartir-lo, a modificar-lo i a compartir també aquestes modificacions.
El 30 de juny de 1969 IBM va anunciar que, a partir de 1970, vendria part del seu programari separadament (Burton Grad, 2002) [131]. Això va suposar que els seus clients ja no podien obtenir, inclòs en el preu del maquinari, els programes que necessitaven. El programari es va començar a percebre com alguna cosa amb valor intrínsec i, com a conseqüència, es va fer cada vegada més habitual restringir escrupolosament l'accés als programes i es van limitar, tant com es va poder (tècnicament i legalment), les possibilitats dels usuaris per a compartir, modificar o estudiar el programari. Dit d'una altra manera, es va passar a la situació que continua essent habitual al món del programari a començaments del segle XXI.
A mitjan dècada de 1970 era ja absolutament habitual, en qualsevol àmbit informàtic, trobar-se amb programari privatiu. Això va suposar un gran canvi cultural entre els professionals que treballaven amb programari i va ser l'origen del floriment d'un gran nombre d'empreses dedicades al nou negoci. Faltava encara gairebé una dècada perquè comencés a aparèixer, de forma organitzada i com a reacció a aquesta situació, el que avui coneixem com a programari lliure.

### Dècada dels setanta i principis de la dècada dels vuitanta

Fins i tot quan la tendència aclaparadorament majoritària era explorar el model de programari privatiu, hi havia iniciatives que mostraven algunes característiques del que després es consideraria programari lliure. De fet, alguna va arribar a produir programari lliure tal com el definim avui dia. Entre elles es pot destacar SPICE, TeX i Unix, el cas del qual és molt més complex.
SPICE (Simulation Program with Integrated Circuit Emphasis) és un programa desenvolupat a la Universitat de Califòrnia, a Berkeley, per a simular les característiques elèctriques d'un circuit integrat. Va ser desenvolupat i posat en el domini públic pel seu autor, Donald O. Pederson, el 1973. SPICE va ser originalment una eina docent, i com a tal es va estendre ràpidament a moltes universitats de tot el món. En elles va ser utilitzat per molts estudiants de la incipient disciplina, en aquell temps, del disseny de circuits integrats. Ja que estava en el domini públic, SPICE podia redistribuir-se, modificar-se, estudiar-se... Fins i tot es podia adaptar a unes necessitats concretes i vendre aquesta versió com a producte privatiu (la qual cosa han fet durant la seva història dotzenes de vegades una gran quantitat d'empreses). Amb aquestes característiques, SPICE tenia totes les paperetes per a convertir-se en l'estàndard de la indústria, amb les seves diferents versions. I efectivament, això va ser el que va passar. Probablement aquest va ser el primer programa amb característiques de programari lliure que durant un temps va copar un mercat, el dels simuladors de circuits integrats, i sens dubte va poder fer-ho precisament pel fet de tenir aquestes característiques (a més de les seves innegables qualitats tècniques).
Donald Knuth va començar a desenvolupar TeX durant un any sabàtic, el 1978. TeX és un sistema de tipografia electrònica molt utilitzat per a la producció de documents de qualitat. Des del principi, Knuth va utilitzar una llicència que avui seria considerada de programari lliure. Quan el sistema es va considerar raonablement estable, el 1985, va mantenir aquesta llicència. En aquella època, TeX era un dels sistemes més grans i més coneguts que es podia considerar programari lliure.

### Desenvolupament primerenc de Unix

Unix, un dels primers sistemes operatius portables, va ser creat originalment per Thompson i Ritchie (entre d'altres) en els Bell Labs d'AT&T. El seu desenvolupament ha continuat des del seu naixement, cap a 1972, i ha donat lloc a innombrables variants comercialitzades per (literalment) desenes d'empreses.
Durant els anys 1973 i 1974, Unix va arribar a moltes universitats i centres d'investigació de tot el món, amb una llicència que en permetia l'ús per a finalitats acadèmiques. Encara que hi havia certes restriccions que impedien la seva lliure distribució, entre les organitzacions que disposaven de la llicència el funcionament va ser molt similar al que es va veure més tard en moltes comunitats de programari lliure. Els que tenien accés al codi font de Unix van tenir un sistema que podien estudiar, millorar i ampliar. Al voltant d'aquest va aparèixer una comunitat de desenvolupadors que aviat va començar a girar entorn del CSRG de la Universitat de Califòrnia, a Berkeley. Aquesta comunitat va desenvolupar la seva pròpia cultura, que com veurem més endavant, va ser molt important en la història del programari lliure. Unix va ser, fins a cert punt, un assaig primerenc del que es va veure amb GNU i Linux diversos anys més tard. Estava confinat a una comunitat molt més petita i era necessària la llicència d'AT&T, però en altres aspectes el seu desenvolupament va ser similar (en un món molt menys comunicat).
Exemple Maneres de desenvolupament pròpies del programari lliure
A Netizens. On the history and impact of Usenet and the Internet (IEEE Computer Society Press, 1997 [139], pàgina 139) poden llegir-se unes línies que es podrien referir a molts projectes lliures: "Les contribucions al valor de Unix durant el seu desenvolupament primerenc van ser moltes, gràcies al fet que el codi font estava disponible. Podia ser examinat, millorat i personalitzat".
A la pàgina 142 de la mateixa obra es diu el següent: "Els pioners com Henry Spencer estan d'acord en com va ser d'important per als que pertanyien a la comunitat Unix tenir el codi font. Ell remarca com la disposició dels codis font feia possible la identificació i la reparació dels errors que descobrien. [...]. Fins i tot a finals de 1970 i a principis de 1980, pràcticament cada lloc Unix tenia fonts completes".
Encara més explícit és el text de Marc Rochkind "Interview with dick haight" Unix Review (maig 1986) [198]: "aquesta era una de les grans coses sobre Unix en els primers dies: la gent realment compartia amb els altres. [...] No solament apreníem molt aquells dies del material compartit, sinó que mai no havíem de preocupar-nos sobre com funcionaven realment les coses perquè sempre podíem anar a llegir el codi font".
Amb el temps, Unix va ser també un exemple primerenc dels problemes que podien presentar els sistemes privatius que a primera vista "tenien alguna característica del programari lliure". A finals de la dècada de 1970, i sobretot durant la de 1980, AT&T va canviar la seva política, i l'accés a noves versions de Unix es va convertir en una cosa difícil i cara. La filosofia dels primers anys, que havia fet tan popular Unix entre els desenvolupadors, va canviar radicalment fins al punt que el 1991 AT&T va posar una demanda a la Universitat de Berkeley per haver publicat el codi de Unix BSD que el CSRG de Berkeley havia creat. Però aquesta és una altra història, que reprendrem més endavant.

## El començament: BSD, GNU

Tots els casos descrits en l'apartat anterior van ser iniciatives individuals o no complien estrictament els requisits del programari lliure. Fins a principis de la dècada de 1980 no van aparèixer, de forma organitzada i conscient, els primers projectes per a la creació de sistemes compostos de programari lliure. En aquella època es van començar també a fixar (la qual cosa probablement és més important) els fonaments ètics, legals i fins i tot econòmics que s'han anat desenvolupant i completant fins avui dia. I com que el nou fenomen necessitava un nom, durant aquells anys es va encunyar també el terme mateix programari lliure.

### Richard Stallman, GNU, FSF: neix el moviment del programari lliure

A començaments de 1984, Richard Stallman, en aquella època empleat en l'AI Lab del MIT, va abandonar la seva feina per començar el projecte GNU. Stallman es considerava un hacker dels que gaudien compartint les seves inquietuds tecnològiques i el seu codi. Veia amb desgrat com la seva negativa a firmar acords d'exclusivitat i de no-compartició l'estaven convertint en un estrany al seu propi món, i com l'ús de programari privatiu en el seu entorn el deixava impotent davant de situacions que abans podia resoldre fàcilment.
La seva idea en abandonar el MIT era construir un sistema de programari complet, de propòsit general, però totalment lliure ("The GNU Project", DiBona et al.) [208]. El sistema (i el projecte que s'encarregaria de fer-lo realitat) es va dir GNU (acrònim recursiu, "GNU's not Unix"). Encara que des del principi el projecte GNU va incloure en el seu sistema programari ja disponible (com ara TeX o, més endavant, el sistema X Window), hi havia molt per construir. Richard Stallman va començar a escriure un compilador de C (GCC) i un editor (Emacs), tots dos encara en ús (i molt populars).
Des del principi del projecte GNU, Richard Stallman es va preocupar per les llibertats que tindrien els usuaris del seu programari. Estava interessat en el fet que no només els que rebessin els programes directament del projecte GNU, sinó qualsevol que el rebés després de qualsevol nombre de redistribucions i (potser) modificacions, continués podent gaudir dels mateixos drets (modificació, redistribució, etc.). Per a això va escriure la llicència GPL, probablement la primera llicència de programari dissenyada específicament per a garantir que un programa fos lliure en aquest sentit. El mecanisme genèric que utilitzen les llicències de tipus GPL per a aconseguir aquestes garanties, Richard Stallman el va anomenar copyleft, que continua essent el nom d'una gran família de llicències de programari lliure (Free Software Foundation, GNU General Public License, versió 2, juny 1991) [118].
Richard Stallman també va fundar la Free Software Foundation (FSF) per aconseguir fons, que dedica al desenvolupament i a la protecció del programari lliure, i va establir els seus fonaments ètics amb "The GNU Manifesto" (Free Software Foundation, 1985) [117] i "Why software should not have owners" (Richard Stallman, 1998) [207].
Des del punt de vista tècnic, el projecte GNU va ser concebut com un treball molt estructurat i amb metes molt clares. El mètode habitual estava basat en grups relativament petits de persones (normalment voluntaris) que desenvolupaven alguna de les eines que després encaixarien perfectament al trencaclosques complet (el sistema GNU). La modularitat de Unix, en la qual s'inspirava el desenvolupament d'aquest projecte, coincidia totalment amb aquesta idea. El mètode de treball generalment implicava l'ús d'Internet, però davant de la seva escassa implantació en aquells dies, la Free Software Foundation també venia cintes en les quals gravava les aplicacions, de manera que va ser probablement una de les primeres organitzacions que es va beneficiar econòmicament (encara que de manera bastant limitada) de la creació de programari lliure.
A començaments de la dècada de 1990, uns sis anys després del seu naixement, el projecte GNU estava molt a prop de tenir un sistema complet similar a Unix. Tot i així, fins aquell moment encara no havia produït una de les peces fonamentals: el nucli del sistema (també anomenat kernel la part del sistema operatiu que es relaciona amb el maquinari, l'abstreu, i permet que les aplicacions comparteixin recursos i, en el fons, funcionin). Tanmateix, el programari de GNU era molt popular entre els usuaris de les diferents variants de Unix, en aquell temps el sistema operatiu més usat en les empreses. A més, el projecte GNU havia aconseguit ser relativament conegut entre els professionals informàtics, i molt especialment entre els que treballaven en universitats. En aquella època, els seus productes ja tenien una merescuda reputació d'estabilitat i qualitat.

### El CSRG de Berkeley

El CSRG (Computer Science Research Group) de la Universitat de Califòrnia, a Berkeley, va ser des de 1973 un dels centres on més desenvolupament relacionat amb Unix es va fer durant els anys 1979 i 1980. No solament es van migrar aplicacions i se'n van construir altres de noves per al seu funcionament sobre Unix, sinó que es van dur a terme importants millores en el nucli i s'hi va afegir molta funcionalitat. Per exemple, durant la dècada dels vuitanta, diversos contractes de DARPA (dependent del Ministeri de Defensa dels EUA) van finançar la implementació de TCP/IP, que ha estat considerat fins als nostres dies com la referència dels protocols que fan funcionar Internet (vinculant, de passada, el desenvolupament d'Internet i l'expansió de les estacions de treball amb Unix). Moltes empreses van utilitzar com a base de les seves versions de Unix els desenvolupaments del CSRG, que van donar lloc a sistemes molt coneguts en l'època, com ara SunOS (Sun Microsystems) o Ultrix (Digital Equipment). D'aquesta manera, Berkeley es va convertir en una de les dues fonts fonamentals de Unix, juntament amb l'"oficial", AT&T.
Per poder utilitzar tot el codi que produïa el CSRG (i el dels col·laboradors de la comunitat Unix que ells d'alguna manera coordinaven), feia falta la llicència de Unix d'AT&T, que cada vegada era més difícil (i més cara) d'aconseguir, sobretot si es volia l'accés al codi font del sistema. Tractant d'evitar en part aquest problema, el juny de 1989 el CSRG va alliberar la part de Unix relacionada amb TCP/IP (la implementació dels protocols en el nucli i les utilitats), que no incloïa codi d'AT&T. Va ser l'anomenada Networking Release 1 (Net-1). La llicència que es va alliberar va ser la famosa llicència BSD, que llevat de certs problemes amb les seves clàusules sobre obligacions d'anunci, ha estat considerada sempre un exemple de llicència lliure minimalista (que a més de permetre la redistribució lliure, permetia també la seva incorporació a productes privatius). A més, el CSRG va provar un nou mètode de finançament (que ja estava provant amb èxit l'FSF): venia cintes amb la seva distribució per 1.000 dòlars. Encara que qualsevol podia redistribuir al seu torn el contingut de les cintes sense cap problema (ja que la llicència ho permetia), el CSRG va vendre cintes a milers d'organitzacions, amb la qual cosa va aconseguir fons per continuar desenvolupant.
Veient l'èxit de la distribució de Net-1, Keith Bostic va proposar reescriure tot el codi que encara quedava del Unix original d'AT&T. Malgrat l'escepticisme d'alguns membres del CSRG, va realitzar un anunci públic en el qual demanava ajuda per realitzar aquesta tasca, i a poc a poc les utilitats (reescrites a partir d'especificacions) van començar a arribar a Berkeley. Mentrestant, es va realitzar el mateix procés amb el nucli, de manera que es va reescriure de forma independent la major part del codi que no havien realitzat Berkeley ni col·laboradors voluntaris. El juny de 1991, després d'aconseguir el permís de l'administració de la Universitat de Berkeley, es va distribuir la Networking Release 2 (Net-2) amb gairebé tot el codi del nucli i totes les utilitats d'un sistema Unix complet. De nou el conjunt es va distribuir sota la llicència BSD i es van vendre milers de cintes al preu de 1.000 dòlars la unitat.
Només sis mesos després de l'alliberament de Net-2, Bill Jolitz va escriure el codi que faltava en el nucli perquè funcionés sobre arquitectura i386, alliberant 386BSD, que va ser distribuït per Internet. A partir d'aquest codi van sorgir més tard, en successió, tots els sistemes de la família *BSD: primer va aparèixer NetBSD com una recopilació dels pedaços que s'havien anat aportant a la Xarxa per a millorar 386BSD; més endavant va aparèixer FreeBSD com un intent de suportar fonamentalment l'arquitectura i386. Diversos anys més tard es va formar el projecte OpenBSD, amb èmfasi en la seguretat. I també hi va haver una distribució propietària basada en Net-2 (encara que era certament original, ja que oferia als seus clients tot el codi font com a part de la distribució bàsica), que va realitzar de forma independent la desapareguda empresa BSDI (Berkeley Software Design Inc.).
En part com a reacció a la distribució feta per BSDI, Unix System Laboratories (USL), subsidiària d'AT&T que tenia els drets de la llicència de Unix, va posar una demanda judicial, primer a BSDI i després a la Universitat de Califòrnia. Els acusava de distribuir la seva propietat intel·lectual sense permís. Després de diverses maniobres judicials (que van incloure una contrademanda de la Universitat de Califòrnia contra USL), Novell va comprar els drets de Unix a USL, i el gener de 1994 va arribar a un acord extrajudicial amb la Universitat de Califòrnia. Com a resultat d'aquest acord, el CSRG va distribuir la versió 4.4BSD-Lite, que aviat va ser utilitzada per tots els projectes de la família *BSD. Al cap de poc (després d'alliberar encara la versió 4.4BSD-Lite Release 2), el CSRG va desaparèixer. En aquell moment hi va haver qui va témer que fos el final dels sistemes *BSD, però el temps ha demostrat que segueixen ben vives, amb una nova forma de gestió més típica de projectes lliures. Encara en la dècada del 2000 els projectes que gestionen la família *BSD són dels més antics i consolidats al món del programari lliure.

### Els començaments d'Internet

Gairebé des del seu naixement, a començaments de la dècada de 1970, Internet va tenir molta relació amb el programari lliure. D'una banda, des dels seus començaments, la comunitat de desenvolupadors que la van construir va tenir clars diversos principis que després es farien clàssics al món del programari lliure; per exemple, la importància que els usuaris puguin ajudar a depurar errors o la compartició de codi. La importància de BSD Unix en el seu desenvolupament (en proporcionar durant els anys vuitanta la implementació més popular dels protocols TCP/IP) va fer que molts costums i formes de funcionament passessin fàcilment d'una comunitat, la de desenvolupadors al voltant del CSRG, a una altra, la dels que estaven construint el que llavors era NSFNet i després seria Internet, i viceversa. Moltes de les aplicacions bàsiques en el desenvolupament d'Internet, com Sendmail (servidor de correu) o BIND (implementació del servei de noms), van ser lliures i, en gran manera, fruit d'aquesta col·laboració entre comunitats.
Finalment, a finals dels anys vuitanta i en la dècada dels noranta, la comunitat del programari lliure va ser una de les primeres que va explorar fins al fons les noves possibilitats que permetia Internet per a la col·laboració entre grups geogràficament dispersos. Aquesta exploració va fer possible, en gran manera, la mateixa existència de la comunitat BSD, la FSF o el desenvolupament de GNU/Linux.
Un dels aspectes més interessants del desenvolupament d'Internet, des del punt de vista del programari lliure, va ser la gestió completament oberta dels seus documents i les seves normes. Encara que avui pugui semblar una mica normal (ja que és l'habitual, per exemple, en l'IETF o en el World Wide Web Consortium), en la seva època la lliure disposició de totes les especificacions i documents de disseny, incloses les normes que defineixen els protocols, va ser una cosa revolucionària i fonamental per al seu desenvolupament. A Netizens. On the history and impact of Usenet and the Internet [139] (pàgina 106) podem llegir:
       "Aquest procés obert promovia i portava a l'intercanvi d'informació. El desenvolupament tècnic té èxit només quan es permet que la informació flueixi lliurement i fàcilment entre les parts interessades. La promoció de la participació és el principi fonamental que va fer possible el desenvolupament de la Xarxa."
Podem observar com aquest paràgraf podria ser subscrit, gairebé amb tota seguretat, per qualsevol desenvolupador en referir-se al projecte de programari lliure en el qual col·labora.
En una altra citació, a "The evolution of packet switching" [195] (pàgina 267) podem llegir:
       "Com que ARPANET era un projecte públic que connectava moltes de les principals universitats i institucions d'investigació, els detalls d'implementació i rendiment es publicaven àmpliament."
Òbviament, això és el que sol ocórrer en els projectes de programari lliure, on tota la informació relacionada amb el projecte (i no solament la implementació) sol ser pública.
En aquest ambient, i abans que Internet, ja ben entrats els anys noranta, es convertís sobretot en un negoci, la comunitat d'usuaris i la seva relació amb els desenvolupadors era clau. En aquella època moltes organitzacions van aprendre a confiar no en una única empresa proveïdora del servei de comunicació de dades, sinó en una complexa combinació d'empreses de serveis, fabricants d'equips, desenvolupadors professionals i voluntaris, etc. Les millors implementacions de molts programes no eren les que venien amb el sistema operatiu que es comprava amb el maquinari, sinó implementacions lliures que ràpidament les substituïen. Els desenvolupaments més innovadors eren fruit no de grans plans d'investigació en empreses, sinó d'estudiants o professionals que provaven idees i recollien la realimentació que els enviaven cents d'usuaris dels seus programes lliures.
Com ja s'ha dit, Internet també va proporcionar al programari lliure les eines bàsiques per col·laborar a distància. El correu electrònic, els grups de notícies, els serveis d'FTP anònim (que van ser els primers magatzems massius de programari lliure) i, més tard, els sistemes de desenvolupament integrats basats en web han estat fonamentals (i imprescindibles) per al desenvolupament de la comunitat del programari lliure tal com la coneixem i, en particular, per al funcionament de la immensa majoria dels projectes de programari lliure. Des del principi, projectes com GNU o BSD van fer un ús massiu i intens de tots aquests mecanismes, desenvolupant, alhora que les empraven, noves eines i sistemes que al seu torn milloraven Internet.

### Altres projectes

Durant la dècada de 1980 van veure la llum altres importants projectes lliures. Entre ells destaca, per la seva importància i projecció futura, l'X Window (sistema de finestres per a sistemes de tipus Unix), desenvolupat en el MIT, que va ser un dels primers exemples de finançament a gran escala de projectes lliures amb recursos d'un consorci d'empreses. També val la pena esmentar Ghostscript, un sistema de gestió de documents PostScript desenvolupat per una empresa, Aladdin Software, que va ser un dels primers casos de recerca d'un model de negoci basat en la producció de programari lliure.
A finals dels anys vuitanta hi ha ja en marxa tota una constel·lació de petits (i no tan petits) projectes lliures. Tots ells, juntament amb els grans projectes esmentats fins aquí, van establir les bases dels primers sistemes lliures complets, que van aparèixer a començaments de la dècada de 1990.

## Tot en marxa

Cap a 1990, gran part dels components d'un sistema informàtic complet estaven ja llestos com a programari lliure. D'una banda, el projecte GNU i les distribucions BSD havien completat la major part de les aplicacions que componen un sistema operatiu. De l'altra, projectes com X Window o el mateix GNU havien construït des d'entorns de finestres fins a compiladors, que moltes vegades estaven entre els millors del seu gènere (per exemple, molts administradors de sistemes SunOS o Ultrix substituïen per als seus usuaris les aplicacions propietàries del seu sistema per les versions lliures de GNU o de BSD). Per a tenir un sistema complet construït només amb programari lliure faltava únicament un component: el nucli. Dos esforços separats i independents van omplir aquest buit: 386BSD i Linux.

### A la recerca d'un nucli

A finals dels vuitanta i principis dels noranta, el projecte GNU comptava amb una gamma bàsica d'utilitats i eines que permetia tenir el sistema operatiu d'una manera completa. Ja llavors, moltes aplicacions lliures, entre les quals va ser especialment interessant el cas d'X Window, eren les millors en el seu camp (utilitats Unix, compiladors...). Tanmateix, per a completar el trencaclosques faltava una peça essencial: el nucli del sistema operatiu. El projecte GNU estava buscant aquesta peça amb un projecte anomenat Hurd, que pretenia construir un nucli amb tecnologies modernes.

### La família *BSD

Pràcticament en la mateixa època, la comunitat BSD estava també en camí cap a un nucli lliure. En la distribució Net-2 només faltaven sis fitxers per a tenir-lo (la resta ja havia estat construïda pel CSRG o els seus col·laboradors). A començaments de 1992, Bill Jolitz va completar aquests fitxers i va distribuir 386BSD, un sistema que funcionava sobre arquitectura i386 i que amb el temps donaria lloc als projectes NetBSD, FreeBSD i OpenBSD. El desenvolupament durant els mesos següents va ser ràpid, i a finals d'any ja era prou estable per a ser usat en producció en entorns no crítics, que incloïen, per exemple, un entorn de finestres gràcies al projecte XFree (que havia portat X Window a l'arquitectura i386) o un compilador de gran qualitat, GCC. Encara que hi havia components que utilitzaven altres llicències (com els procedents del projecte GNU, que usaven la GPL), la major part del sistema es distribuïa sota la llicència BSD.
Després va venir la demanda d'USL, que va fer que molts usuaris potencials temessin ser demandats al seu torn si la Universitat de Califòrnia perdia el judici, o simplement que el projecte es parés. Potser aquesta va ser la raó que més endavant la base instal·lada de GNU/Linux fos molt més gran que la de tots els *BSD combinats. Però això és una cosa difícil d'assegurar.

### GNU/Linux entra en escena

El juliol de 1991 Linus Torvalds (estudiant finès de vint-i-un anys) posa el primer missatge on esmenta el seu aleshores projecte de fer un sistema lliure similar a Minix. Al setembre allibera la primeríssima versió (0.01), i cada poques setmanes apareixen noves versions. El març de 1994 va aparèixer la versió 1.0, la primera denominada estable, però el nucli que havia construït Linus era utilitzable des de feia bastants mesos. Durant aquest període, literalment centenars de desenvolupadors es bolquen sobre Linux, i integren al seu voltant tot el programari de GNU, XFree i molts altres programes lliures. A diferència dels *BSD, el nucli de Linux i gran part dels components que s'integren al voltant d'ell es distribueixen amb la llicència GPL.
Entre els molts desenvolupaments apareguts al voltant de Linux, un dels més interessants és el concepte de distribució. Les primeres distribucions van aparèixer aviat, el 1992 (MCC Interim Linux, de la Universitat de Manchester; TAMU, de Texas A&M, i la més coneguda, SLS, que més tard va donar lloc a Slackware, que encara es distribueix en la dècada del 2000), i han suposat l'entrada de la competència al món de l'empaquetament de sistemes al voltant de Linux. Cada distribució tracta d'oferir un GNU/Linux preparat per utilitzar, i partint totes del mateix programari, han de competir en millores que la seva base d'usuaris consideri importants. A més de proporcionar paquets precompilats i preparats per utilitzar, les distribucions solen oferir les seves pròpies eines per gestionar la selecció, la instal·lació, la substitució i la desinstal·lació d'aquests paquets, així com la instal·lació inicial en un ordinador, i la gestió i l'administració del sistema operatiu.
Amb el temps, unes distribucions han anat succeint-se a unes altres com les més populars. Entre totes aquestes, es poden destacar les següents:
* Debian, desenvolupada per una comunitat de desenvolupadors voluntaris.
* Red Hat Linux, que primer va desenvolupar internament l'empresa Red Hat, però que més endavant va adoptar un model més comunitari i que va donar lloc a Fedora Core.
* Suse, que va donar lloc a OpenSUSE, en una evolució similar a la de Red Hat.
* Mandriva (successora de Mandrake Linux i de Conectiva).
* Ubuntu, derivada de Debian i produïda a partir d'ella per l'empresa Canonical.

## Temps de maduració

A mitjan dècada 2000, GNU/Linux, OpenOffice.org o Firefox tenen una presència relativament habitual en els mitjans de comunicació. La immensa majoria d'empreses utilitza programari lliure almenys per a alguns dels seus processos informàtics. És difícil ser un estudiant d'informàtica i no utilitzar programari lliure en grans quantitats. El programari lliure ha deixat de ser una nota a peu de pàgina en la història de la informàtica per convertir-se en una cosa molt important per al sector. Les empreses d'informàtica, les del sector secundari (les que utilitzen intensivament programari, encara que la seva activitat principal és una altra) i les administracions públiques comencen a considerar-lo com un fet estratègic. I està arribant, a poc a poc però amb força, als usuaris domèstics. En línies generals, s'entra en una època de maduració.
I en el fons, comença a sorgir una pregunta molt important, que d'alguna forma resumeix el que està passant: "som davant d'un nou model d'indústria programari?". Encara podria passar, potser, que el programari lliure no arribés a ser més que una moda passatgera que amb el temps només fos recordada amb nostàlgia. Però també podria ser (i això sembla cada vegada més plausible) un nou model que és aquí per quedar-se, i potser per canviar radicalment una de les indústries més joves, però també de les més influents.

## Finals de la dècada dels noranta

A mitjan dècada dels noranta, el programari lliure oferia ja entorns complets (distribucions de GNU/Linux, sistemes *BSD...) que permetien el treball diari de molta gent, sobretot de desenvolupadors de programari. Encara hi havia moltes assignatures pendents (la principal, disposar de millors interfícies gràfiques d'usuari en una època en què Windows 95 era considerat l'estàndard), però ja hi havia uns quants milers de persones a tot el món que només usaven programari lliure en el seu treball diari. Els anuncis de nous projectes se succeïen i el programari lliure començava el seu llarg camí cap a les empreses, els mitjans de comunicació i, en general, el coneixement públic.
D'aquesta època és també l'enlairament d'Internet com a xarxa per a tots, en molts casos de la mà de programes lliures (sobretot en la seva infraestructura). L'arribada del web a les llars de milions d'usuaris finals consolida aquesta situació, almenys referent a servidors: els servidors web (HTTP) més populars sempre han estat lliures (primer el servidor del NCSA, després Apache).
Potser el començament del camí del programari lliure fins a la seva posada de llarg en la societat pot situar-se en el cèlebre assaig d'Eric Raymond, "La catedral y el bazar" (Eric S. Raymond, 2001) [192]. Encara que molt del que s'hi exposa era ja ben conegut per la comunitat de desenvolupadors de programari lliure, reunir-lo en un article i donar-hi una gran difusió el va convertir en una influent eina de promoció del concepte de programari lliure com a mecanisme de desenvolupament alternatiu a l'emprat per la indústria del programari tradicional. Un altre article molt important en aquesta època va ser "Setting up shop. The Business of open-source software" [141], de Frank Hecker, que per primera vegada va exposar els models de negoci possibles entorn del programari lliure i que va ser escrit per a influir en la decisió sobre l'alliberament del codi del navegador de Netscape.
Si l'article de Raymond va suposar una gran eina de difusió d'algunes de les característiques fonamentals del programari lliure, l'alliberament del codi del navegador de Netscape va ser el primer cas en què una empresa relativament gran, d'un sector molt innovador (la llavors naixent indústria del web), prenia la decisió d'alliberar com a programari lliure un dels seus productes. En aquella època, Netscape Navigator estava perdent la batalla dels navegadors web davant el producte de Microsoft (Internet Explorer), en part per les tàctiques de Microsoft de combinar-lo amb el seu sistema operatiu. Per a molts, Netscape va fer l'única que podia fer: tractar de canviar les regles per a poder competir amb un gegant. I d'aquest canvi de regles (tractar de competir amb un model de programari lliure) va néixer el projecte Mozilla. Aquest projecte, no sense problemes, ha portat diversos anys després a un navegador que, si bé no ha recuperat l'enorme quota de mercat que va tenir en el seu dia Netscape Navigator, sembla que tècnicament és almenys encara millor que els seus competidors privatius.
En qualsevol cas, i amb independència del seu èxit posterior, l'anunci de Netscape d'alliberar el codi del seu navegador va suposar un fort impacte en la indústria del programari. Moltes empreses van començar a considerar el programari lliure com a digne de consideració.
També els mercats financers es van començar a ocupar del programari lliure. En plena eufòria de les puntcom, diverses empreses de programari lliure es converteixen en objectiu d'inversors. Potser el cas més conegut és el de Red Hat, una de les primeres empreses que van reconèixer que la venda de CD amb sistemes GNU/Linux preparats per a utilitzar podia ser un model de negoci. Red Hat va començar distribuint la seva Red Hat Linux, fent gran èmfasi (almenys per a l'habitual en l'època) en la facilitat de maneig i manteniment del sistema per persones sense coneixements específics d'informàtica. Amb el temps, va anar diversificant el seu negoci, mantenint-se en general en l'òrbita del programari lliure, i el setembre de 1998 va anunciar que Intel i Netscape hi havien invertit. "Si és bo per a Intel i Netscape, segur que és bo per a nosaltres", devien pensar molts inversors. Quan Red Hat va sortir a borsa a l'estiu de 1999, l'oferta pública d'accions va ser subscrita completament, i aviat el valor de cada títol va pujar espectacularment. Va ser la primera vegada que una empresa aconseguia finançament del mercat de valors amb un model basat en el programari lliure. Però no va ser l'únic: el mateix van fer més tard d'altres com VA Linux o Andover.net (que més tard va ser adquirida per VA Linux).
Exemple Nota
Red Hat proporciona una llista de fites històriques relacionades amb la seva empresa a http://fedora.redhat.com/about/history/.
En aquesta època van néixer també moltes empreses basades en models de negoci entorn del programari lliure. Sense sortir a borsa i sense aconseguir capitalitzacions tan formidables, van ser tanmateix molt importants per al desenvolupament del programari lliure. Per exemple, van aparèixer moltes empreses que van començar distribuint les seves pròpies versions de GNU/Linux, com SuSE (Alemanya), Conectiva (Brasil) o Mandrake (França), que més tard s'uniria a l'anterior per formar Mandriva. D'altres proporcionaven serveis a empreses que ja demanaven manteniment i adaptació de productes lliures: LinuxCare (EUA), Alcove (França), ID Pro (Alemanya), i moltes més.
Per la seva part, els gegants del sector també van començar a posicionar-se davant del programari lliure. Algunes empreses, com IBM, el van incorporar directament en la seva estratègia. Altres, com Sun Microsystems, van mantenir amb ell una curiosa relació, de vegades de suport, de vegades d'indiferència, de vegades d'enfrontament. La majoria (com Apple, Oracle, HP, SGI, etc.) van explorar el model del programari lliure amb diverses estratègies, que anaven des de l'alliberament selectiu de programari fins a la simple migració a GNU/Linux dels seus productes. Entre aquests dos extrems, hi va haver moltes altres línies d'acció, com la utilització més o menys intensa de programari lliure als seus productes (com va ser el cas del Mac OS X) o l'exploració de models de negoci basats en el manteniment de productes lliures.
Des del punt de vista tècnic, el més destacable d'aquesta època va ser probablement l'aparició de dos ambiciosos projectes amb la finalitat d'aconseguir migrar el programari lliure a l'entorn d'escriptori (desktop) dels usuaris no gaire versats en la informàtica: KDE i GNOME. Dit de forma molt simplista, l'objectiu final era que no s'hagués d'usar la línia d'ordres per a interaccionar amb GNU/Linux o *BSD ni amb els programes sobre aquests entorns.
KDE va ser anunciat l'octubre de 1996. Utilitzant les biblioteques gràfiques Qt (en aquell temps un producte privatiu de l'empresa Trolltech, però gratuït per al seu ús sobre GNU/Linux), van iniciar la construcció d'un conjunt d'aplicacions d'escriptori que funcionessin de forma integrada i que tinguessin un aspecte uniforme. El juliol de 1998 van alliberar la versió 1.0 del K Desktop Environment, que va ser aviat seguida de noves versions cada vegada més completes i madures. Les distribucions de GNU/Linux aviat van incorporar KDE com a escriptori per als seus usuaris (o almenys com un dels entorns d'escriptori que els seus usuaris podien triar).
En gran manera com a reacció a la dependència que tenia KDE de la biblioteca propietària Qt, l'agost de 1997 es va anunciar el projecte GNOME (Miguel de Icaza, "The story of the GNOME Project") [101], amb fins i característiques molt similars als de KDE, però amb l'objectiu explícit que tots els seus components fossin lliures. El març de 1999 es va alliberar GNOME 1.0, que amb el temps també s'aniria millorant i estabilitzant. A partir d'aquell moment, la major part de les distribucions de sistemes operatius lliures (i molts derivats de Unix privatius) van oferir com a opció l'escriptori de GNOME o el de KDE i les aplicacions d'ambdós entorns.
Simultàniament, els principals projectes de programari lliure que ja funcionaven continuen amb bona salut i sorgeixen nous projectes cada dia. A diverses vetes de mercat s'observa com la millor solució (reconeguda per gairebé tothom) és programari lliure. Per exemple, Apache ha mantingut gairebé des de la seva aparició l'abril de 1995 la major quota de mercat entre els servidors web; XFree86, el projecte lliure que desenvolupa X Window, és amb diferència la versió d'X Window més popular (i, per tant, el sistema de finestres per a sistemes de tipus Unix més estès); GCC és reconegut com el compilador de C més portable i un dels de millor qualitat; GNAT, sistema de compilació per a Ada 95, aconsegueix la major part del mercat de compiladors Ada en pocs anys; i així successivament.
El 1998 es va crear l'Open Source Initiative (OSI), que va decidir adoptar el terme open source software ('programari de font oberta') com una marca per a introduir el programari lliure al món comercial, tractant d'evitar l'ambigüitat que en anglès suposa el terme free (que significa tant 'lliure' com 'gratis'). Aquesta decisió va suposar (i encara suposa) un dels debats més enverinats del món del programari lliure, ja que la Free Software Foundation i d'altres van considerar que era molt més apropiat parlar de programari lliure (Richard Stallman,"Why free software is better than open source", 1998) [206]. En qualsevol cas, l'OSI va realitzar una fructífera campanya de difusió de la seva nova marca, que ha estat adoptada per molts com la forma preferida de parlar del programari lliure, sobretot en el món anglosaxó. Per a definir el programari open source, l'OSI va utilitzar una definició derivada de la que utilitza el projecte Debian per a definir el programari lliure (Debian Free Software Guidelines" http://www.debian.org/social_contract.html#guidelines) [104], que d'altra banda reflecteix amb bastant d'aproximació la idea de la FSF sobre això ("Free software definition", http://www.gnu.org/philosophy/free-sw.html) [120], per la qual cosa, des del punt de vista pràctic gairebé qualsevol programa que és considerat programari lliure és també considerat open source i viceversa. Tanmateix, les comunitats de programari lliure i de programari de font oberta (o almenys les persones que s'identifiquen com a part d'una o d'una altra) poden ser profundament diferents.

## Dècada de 2000

A començaments de la dècada del 2000 el programari lliure és ja un seriós competidor en el segment de servidors i comença a estar llest per a l'escriptori. Sistemes com GNOME, KDE, OpenOffice.org i Mozilla Firefox poden ser utilitzats per usuaris domèstics i són suficients per a les necessitats de moltes empreses, almenys pel que fa a ofimàtica. Els sistemes lliures (i sobretot els basats en Linux) són fàcils d'instal·lar, i la complexitat per a mantenir-los i actualitzar-los és comparable a la d'altres sistemes privatius.
En aquests moments, qualsevol empresa de la indústria del programari té una estratègia respecte al programari lliure. La majoria de les grans multinacionals (IBM, HP, Sun, Novell, Apple, Oracle...) incorpora el programari lliure amb més o menys decisió. En un extrem podríem situar empreses com Oracle, que reaccionen simplement portant els seus productes a GNU/Linux. En l'altre podria situar-se IBM, que té l'estratègia més decidida i ha realitzat les majors campanyes de publicitat sobre GNU/Linux. Entre els líders del mercat informàtic, només Microsoft s'ha significat amb una estratègia clarament contrària al programari lliure i en particular al programari distribuït sota llicència GPL.
Quant al món del programari lliure en si mateix, malgrat els debats que de tant en tant sacsegen la comunitat, el creixement és enorme. Cada vegada hi ha més desenvolupadors, més projectes de programari lliure actius, més usuaris... Cada vegada més el programari lliure està passant de ser una cosa marginal a convertir-se en un competidor que cal tenir en compte.
Davant d'aquest desenvolupament, apareixen noves disciplines que estudien específicament el programari lliure, com l'enginyeria del programari lliure. A partir de les seves investigacions comencem, a poc a poc, a entendre com funciona el programari lliure en els seus diferents aspectes: models de desenvolupament, models de negoci, mecanismes de coordinació, gestió de projectes lliures, motivació de desenvolupadors, etc.
En aquests anys comencen a veure també els primers efectes de la deslocalització, que permet el desenvolupament de programari lliure: països considerats "perifèrics" participen en el món del programari lliure de forma molt activa. Per exemple, és significatiu el nombre de desenvolupadors mexicans o espanyols (ambdós països amb poca tradició d'indústria programari) en projectes com GNOME (Lancashire, "Code, culture and cash: the fading altruism of open source development", 2001) [164]. I és encara més interessant el paper del Brasil, que està tenint una gran quantitat de desenvolupadors i experts en tecnologies de programari lliure i un decidit suport per part de les administracions públiques. Esment a part mereix el cas de gnuLinEx, molt significatiu de com una regió amb poca tradició de desenvolupament de programari pot tractar de canviar la situació amb una estratègia agressiva d'implantació de programari lliure.
Des del punt de vista de la presa de decisions a l'hora d'implantar solucions programari, cal destacar el fet que hi ha certs mercats (com els serveis d'Internet o l'ofimàtica) en els quals el programari lliure s'ha convertit en una opció natural la no-consideració de la qual és difícil de justificar quan s'està estudiant quin tipus de sistema utilitzar.
En el costat negatiu, aquests anys han vist com l'entorn legal en el qual es mou el programari lliure està canviant ràpidament a tot el món. Per una part, les patents de programari (patents de programació) són considerades cada vegada a més països. Per una altra, les noves lleis de protecció de drets d'autor dificulten o fan impossible el desenvolupament d'aplicacions lliures en alguns àmbits, els més coneguts dels quals és el dels visors de DVD (a causa de l'algoritme CSS d'ofuscació d'imatges que s'utilitza en aquesta tecnologia).

## El futur: una cursa d'obstacles?

Sens dubte, és difícil predir el futur. I sens dubte, no és una cosa a què ens hàgim de dedicar aquí. Per tant, més que tractar d'explicar com serà el futur del programari lliure, intentarem mostrar els problemes que previsiblement haurà d'afrontar (i de fet ja fa temps que afronta). De com sigui el món del programari lliure capaç de superar aquests obstacles dependrà, indubtablement, la seva situació d'aquí a uns anys.
* Tècnica FUD (fear, uncertainity, doubt, o en català, 'por, desconeixement, dubte'). Es tracta d'una tècnica bastant habitual al món de les tecnologies de la informació i que ha estat utilitzada pels competidors de productes de programari lliure per a tractar de desacreditar-los, amb més o menys raó i amb èxit variable. En línies generals, el programari lliure, potser a causa de la seva complexitat i de diversos mètodes de penetració en les empreses, ha resultat bastant immune a aquestes tècniques.
* Dissolució. Moltes empreses estan provant els límits del programari lliure com a model, i en particular tracten d'oferir als seus clients models que presenten algunes característiques similars al programari lliure. El principal problema que pot presentar aquest tipus de models és la confusió que genera en els clients i els desenvolupadors, que han d'estudiar amb molt detall la lletra petita per adonar-se que el que se'ls està oferint no té els avantatges que per a ells suposa el programari lliure. El cas més conegut de models d'aquest tipus és el programa Shared Source, de Microsoft.
* Desconeixement. En molts casos els usuaris arriben al programari lliure simplement perquè creuen que és gratis; o perquè consideren que està "de moda". Si no aprofundeixen més i no estudien amb cert deteniment els avantatges que els pot oferir el programari lliure com a model, corren el risc de no aprofitar-se'n. En molts casos, les suposicions de partida al món del programari lliure són tan diferents de les habituals al món del programari privatiu que és indispensable una mínima anàlisi per a comprendre que el que en un cas és habitual en l'altre pot ser impossible, i viceversa. El desconeixement, per tant, no pot sinó generar insatisfaccions i pèrdua d'oportunitats en qualsevol persona o organització que s'aproximi al programari lliure.
* Impediments legals. Sens dubte aquest és el principal problema amb què es trobarà el programari lliure en els pròxims anys. Encara que l'entorn legal en el qual es va desenvolupar el programari lliure durant la dècada de 1980 i la primera meitat de la de 1990 no era ideal, almenys deixava suficient espai perquè creixés en llibertat. Des de llavors, l'extensió de l'àmbit de la patentabilitat al programari (que s'ha produït a molts països desenvolupats) i les noves legislacions sobre drets d'autor (que limiten la llibertat de creació del desenvolupador de programari) suposen cada vegada barreres més altes a l'entrada del programari lliure en segments importants d'aplicacions.

## Resum

En aquest capítol es presenta la història del programari lliure. Els anys seixanta van ser una etapa dominada pels grans ordinadors i IBM en què el programari es distribuïa amb el maquinari, i habitualment amb el codi font. En la dècada dels setanta es va començar a vendre el programari separadament, i ràpidament la distribució privativa, que no inclou el codi font i que no atorga permís de modificació o redistribució, es va convertir gairebé en l'única opció.
En la dècada de 1970 va començar el desenvolupament del sistema operatiu Unix en els Bell Labs d'AT&T, que va donar lloc més endavant a Unix BSD. La seva evolució, paral·lela al naixement d'Internet, va servir de camp de proves per a noves formes de desenvolupament en col·laboració que després van ser habituals al món del programari lliure.
Vegeu també
Vegeu també
El 1984 Richard Stallman va començar a treballar en el projecte GNU, va fundar la Free Software Foundation (FSF), va escriure la llicència GPL i, en general, va establir els fonaments del programari lliure tal com ha estat conegut més tard.
En la dècada de 1990 Internet va anar madurant i proporcionant a les comunitats de programari lliure nous canals de comunicació i distribució. El 1991, Linus Torvalds va començar a desenvolupar un nucli lliure (Linux) que va permetre completar el sistema GNU, que comptava ja amb gairebé totes les peces per convertir-se en un sistema complet similar a Unix: compilador de C (GCC), editor (Emacs), sistema de finestres (X Window), etc. Van néixer, doncs, els sistemes operatius GNU/Linux, que van fructificar en una multitud de distribucions, com Red Hat Linux i Debian GNU/Linux. A finals de la dècada de 1990 aquests sistemes es completaven amb dos entorns d'escriptori: KDE i GNOME.
En la dècada del 2000 el programari lliure arriba a liderar alguns sectors (com el de servidors web, dominat per Apache), i apareixen noves eines que cobreixen una gran quantitat de necessitats informàtiques.