Capítol 5 -
Projectes lliures
A continuació comentarem alguns dels
projectes de programari lliure més coneguts. Per poder entendre una
mica millor com funciona el programari lliure, i cap on va, és
important saber com es van iniciar aquests projectes, el seu estat
actual, i la direcció que estan seguint. Qualsevol selecció d'aquesta
mena sempre deixa al calaix projectes que, en termes absoluts i en
importància, potser han realitzat contribucions més rellevants, però
que són menys coneguts. Hem intentant presentar aquí els més
representatius.
Linux
El sistema operatiu Linux s'ha convertit en el vaixell insígnia del moviment del programari lliure, de tal forma que alguns usuaris no iniciats confonen el concepte de Linux amb el de programari lliure. És un sistema tan popular que podem veure com, avui dia, hi ha més grups d'usuaris de Linux al món que no pas de programari lliure, encara que, lògicament, tots els usuaris de Linux utilitzen altres programes lliures.
Linux va néixer de la mà de Linus Torvalds. El 1991, quan tenia 21 anys i estudiava a la universitat de Hèlsinki a Finlàndia, va anunciar en un fòrum d'Internet la primera versió del nucli del seu sistema operatiu. Torvalds havia estat treballant durant sis mesos per crear un sistema operatiu per a sistemes Intel 386. Als pocs dies de ser publicat, nombrosos hackers van començar a contribuir-hi amb millores i arranjaments. El nucli que Torvalds havia escrit era precisament el cor que li faltava al sistema GNU que Richard Stallman estava dissenyant des de començaments dels 80.
Així es van crear les primeres distribucions Linux, que incloïen el nucli desenvolupat per Torvalds més un conjunt d'eines GNU. Avui dia, hi ha distribucions enfocades a usos concrets, com ara fer de tallafocs en una xarxa o de servidors a Internet, per a àmbits específics com ara la educació (LinEx, per exemple), o d'ús general.
Entre les distribucions comercials de Linux més conegudes es troben Red Hat1, Mandrake Linux2 i Suse3 (ara part de Novell). Totes elles estan pensades per a l'usuari final i són àmpliament utilitzades. Dins de les distribucions Linux, Debian mereix una menció especial; aquesta distribució fou creada l'agost de 1993 per Ian Murdock amb l'objectiu de proporcionar una distribució totalment lliure. Debian4 està basada, en gran part, en voluntaris, i no té cap empresa al darrere de la seva organització. Actualment, té més de 10.000 paquets de programari llestos per instal·lar.
Una àrea on el Linux és cada vegada més popular és la dels liveCD. Es tracta de distribucions que s'executen directament
des d'un CD-ROM i que no requereixen cap mena d'instal·lació en el disc
dur ni cap tipus de paràmetre de configuració; n'hi ha prou amb
introduir el CD-ROM; en iniciar el PC, comencen a executar-se
automàticament. Aquesta mena de distribucions gestionen i reconeixen
automàticament molts tipus de targetes gràfiques, de so, dispositius
SCSI i altres perifèrics. S'estan usant extensament per donar a
conèixer el Linux als usuaris neòfits, i es poden aconseguir a través
de revistes d'informàtica. La distribució liveCD més popular és l'alemanya Knoppix5, basada en
Debian, i de la qual s'han fet moltes versions personalitzades.
El Linux no solament ha innovat com a programari, sinó també en el seu model de producció; Torvalds va impulsar des de bon començament un ritme constant de publicació de versions, seguint el lema “publica aviat, publica sovint”. Amb aquest sistema, Torvalds anava publicant versions de Linux cada poques setmanes, i amb això imprimia un gran dinamisme al desenvolupament del producte. Torvalds, que és encara el responsable del projecte, ha estat capaç de gestionar les contribucions al projecte d'una forma sensata, la qual cosa li hi ha valgut el sobrenom de “dictador benèvol”.
El Linux, avui dia, està disponible per a
tot tipus de plataformes de maquinari, des de mainframes a assistents personals, i s'utilitza a milions
d'instal·lacions d'arreu del món. Google, Amazon, l'Agència Europea
Espacial o la NASA figuren entre els molts usuaris que basen la seva
infraestructura en Linux, a més dels milions d'usuaris individuals que
l'utilitzen diàriament.
Apache
El 1994 es va crear l'empresa Netscape, al començament amb el nom de Mosaic Communications. Enrere quedaven el navegador Mosaic i altres eines que estudiants i administradors de la Universitat d'Illinois6 havien escrit vertiginosament en pocs mesos, i que havien popularitzat la web a Internet. Un d'aquests programes que va quedar pràcticament orfe va ser el servidor web NCSA httpd escrit per Rob McCool.
El programa era lliure, i tenia molts usuaris que el continuaven utilitzant, però que necessitaven introduir-hi millores. Així es va anar creant una col·lecció de pegats per afegir funcionalitat extra a l'antic httpd. El 1995 es creava el projecte Apache, prenent com a base aquests pegats i la feina del programa httpd de NCSA.
Apache és un dels exemples de comunitats de desenvolupament que han estat tremendament productives, coordinant més de 800 contribuïdors voluntaris, d'empreses i universitats. El projecte compta amb l'Apache Group, que està format per desenvolupadors que hi han col·laborat durant un període llarg de temps, i que són escollits per votació7 per formar part del nucli de persones que prenen les decisions.
Avui dia, Apache és el servidor web més utilitzat, amb una quota del 67% sobre el total de servidors a Internet. Juntament amb els llenguatges de programació PHP i Perl, i el sistema de bases de dades MySQL, formen el conjunt d'eines lliures de creació web més populars de la Xarxa.
KDE
El 1996, Matthias Ettrich, un estudiant alemany de la Universitat de
Tübingen8, va iniciar el projecte KDE9 amb
l'objectiu de crear un entorn d'escriptori gràfic per a entorns Unix.
Dins del projecte KDE s'han desenvolupat múltiples aplicacions com ara
el Kmail, un complet gestor de correu electrònic, el Konqueror, un
navegador web i gestor de fitxers, o el Koffice, un paquet ofimàtic de
prestacions bàsiques.
Hom va prendre la polèmica decisió de basar el desenvolupament del KDE en la biblioteca QT, escrita per l'empresa TrollTech10. Llavors, aquesta biblioteca era gratuïta per a l'ús no comercial, però no era programari lliure. Tres anys més tard, TrollTech anunciava que llicenciava la biblioteca QT sota la llicència GPL, la qual cosa la convertia en lliure, però només per a usos lliures.
Anualment, els desenvolupadors i usuaris del KDE es reuneixen a
l'aKademy11. Durant aquest esdeveniment, que dura diversos dies, es
donen xerrades sobre desenvolupament sobre KDE, es corregeixen errors
de forma conjunta, es decideixen noves funcionalitats del producte i
s'imparteixen tallers d'ús dels diferents programes i tecnologies
relacionades amb el KDE.
Tot i que el desenvolupament del KDE és
realitzat principalment per voluntaris, diverses empreses com ara Suse
(ara Novell), Mandrake o TrollTech hi col·laboren amb recursos i
desenvolupadors a temps complet. Una de les empreses que també hi
col·labora i que ha construït un producte a partir del KDE és Xandros12, que
comercialitza escriptoris avançats per a entorns Unix.
GNOME
El 1997, els mexicans Miguel d'Icaza i Federico Mena van llançar el projecte GNOME13 amb l'objectiu de desenvolupar un escriptori modern i senzill per a entorns Unix. Un any abans s'havia iniciat el projecte KDE14, però la decisió d'usar una biblioteca de propietat per implementar-lo va enutjar sectors de la comunitat de programari lliure, ja que, per a molts hackers, l'objectiu era fer un sistema operatiu completament lliure, i una part tan important del mateix no podia basar-se en programari de propietat. Amb el mateix objectiu que el KDE, van decidir començar el seu propi projecte, basant-lo completament en programari lliure.
Després de molts mesos d'esforços, el març de 1999, en el marc de la
Linux World Expo a Sant José, s'anunciava el GNOME 1.0. Era una versió
important, ja que culminava més de dos anys d'esforços i brindava una
plataforma amb la qual es podrien desenvolupar aplicacions que
aprofitarien tota la seva funcionalitat. Des d'aleshores, el GNOME ha
anat millorant i creixent a un ritme sense aturador, i avui dia destaca
pel seu alt grau d'usabilitat.
Des de l'any 2000, la comunitat GNOME organitza la GUADEC15, un esdeveniment de caràcter anual que serveix de fòrum de trobada entre desenvolupadors, usuaris, governs i empreses involucrades en el desenvolupament i ús del GNOME.
GNOME té una fundació que coordina l'alliberament de noves versions i determina quins projectes en formen part. La fundació actua com a veu oficial davant els mitjans de comunicació i coordina la creació de materials educatius i de documentació per ajudar els usuaris a aprendre a usar aquest entorn. A més, representa al projecte en conferències, i ajuda en la creació dels estàndards tècnics i especificacions per al GNOME.
A part de la fundació GNOME, hi ha un
gran nombre d'empreses que contribueixen diàriament, i des de fa anys,
a la millora del sistema. Una de les primeres va ser Red Hat, que, a
través dels Red Hat Labs, treballa en la millora general del GNOME.
Ximian, fundada el 1999 i adquirida per Novell l'agost de 2003, ha
contribuït també en la millora general del GNOME i amb productes com
ara el RedCarpet o l'Evolution. Recentment, Sun Microsystems ha tingut
un paper important en el GNOME, ajudant a completar traduccions i a
millorar l'accessibilitat del sistema per a persones discapacitades.
Mozilla
El 23 de gener de 1998, Netscape Communications anunciava16 la distribució gratuïta del seu navegador web Netscape Communicator 4, fins aleshores un producte de propietat, així com la publicació del seu codi font amb el nom de Mozilla. Aquest anunci va sorprendre molts analistes, ja que no tenia cap antecedent en la indústria del programari. Va ser un moment d'inflexió per al programari lliure, perquè una empresa important en aquell moment feia una aposta ferma pel moviment i posava a disposició de la comunitat un navegador d'Internet en forma de programari lliure, amb les últimes tecnologies.
Era un moment complicat. El seu navegador, des de la seva aparició el 1994, havia vist disminuir la seva quota de mercat des del punt més àlgid -el 1996 era utilitzat pel 70% dels usuaris d'Internet- fins al 57% que mantenia quan va decidir alliberar el codi. Netscape reaccionava així davant la competència de l'Internet Explorer, el navegador de Microsoft que la multinacional regalava i que ja començava a distribuir de sèrie com a part del Windows. Davant del perill de quedar relegat a una posició testimonial, Netscape esperava que, alliberant el seu codi font, la comunitat ajudaria a seguir construint i popularitzant el seu navegador, al més pur estil dels primers sistemes Unix.
La publicació del codi font no va ser un procés immediat, ja que Netscape només podia alliberar la part del codi que li pertanyia i havia de prescindir de tot el programari integrat en el navegador que era propietat de tercers; es tractava de 75 components, i Netscape va haver de posar-se en contacte amb els titulars dels drets, un per un, per intentar explicar-los els avantatges de la seva decisió. No tots ells, però, van estar disposats a seguir el camí d'obrir el codi, i la versió que es va publicar no va incloure, ni de bon tros, tota la funcionalitat del Netscape Communicator versió 4.
A més de publicar el codi font calia crear un lloc a Internet per organitzar el desenvolupament de tot el projecte: naixia Mozilla.org17. El 31 de març de 1998 es presentava públicament Mozilla, una organització independent amb l'objectiu de fer de repositori central del codi del projecte i de proporcionar les eines col·laboratives necessàries per coordinar als diferents integrants del projecte.
Mozilla és un nom que, de fet, descriu quatre coses: el nom del lloc web que conté el projecte, el conjunt d'eines i biblioteques que s'hi ha creat, el navegador produït i distribuït en base a aquestes eines i la mascota del projecte. La versió distribuïda amb aquest nom conté un navegador, un programa de missatgeria, un programa de creació de pàgines web, un client de xat i un conjunt d'eines de privadesa i depuració.
La publicació del codi font i la creació de Mozilla.org van aixecar moltes expectatives al voltant del projecte. No obstant això, els mesos següents es va demostrar que coordinar el desenvolupament d'un producte tan gran era una tasca complexa, i l'equip no va ser capaç de produir un nou navegador en el període de temps que molts haurien volgut. Mentrestant, l'Internet Explorer anava guanyant quota de mercat i s'anava consolidant com el navegador més popular a Internet.
Mozilla no tenia una tasca gens fàcil al davant a causa dels problemes amb les llicències amb codi de tercers. En la primera versió del codi font del navegador alliberada per Netscape, el llenguatge Java, els correctors ortogràfics i els mecanismes de seguretat propietat de RSA -impossibles d'alliberar en forma de codi font sota la legislació nord-americana vigent en aquell moment-, entre d'altres, no hi eren incloses. D'aquesta manera, Mozilla començava el seu camí amb una versió lliure del navegador sense molts dels components més bàsics, necessaris per aconseguir un navegador competitiu. Els programadors de Netscape també eren conscients que seria necessari redissenyar el producte, especialment el motor HTML, per poder-lo adequar als nous estàndards i tecnologies.
Amb el temps, al voltant de Mozilla es va anar vertebrant una comunitat amb llocs web de notícies independents, com ara MozillaZine18 o MozillaNews19, que faciliten informació relacionada amb l'evolució dels projectes de Mozilla i de tercers. També va néixer MozDev20, un lloc web que proporciona pàgines web i recursos de col·laboració gratuïts a més de seixanta projectes, de tota mena, relacionats amb Mozilla. De MozDev han sorgit un bon grapat d'idees i components que avui dia ja s'han incorporat al navegador. Mozilla, però, hi ha fet més aportacions: algunes de les seves eines, com ara Bugzilla o Bonsai, han estat adoptades per molts altres projectes, i han contribuït de manera decisiva en la millora de les infraestructures de desenvolupament en el món del programari lliure.
El novembre de l'any 2000, trenta-dos mesos després de l'alliberament del codi font de Mozilla, Netscape va publicar la versió 6.0 del seu navegador, basada en la tasca de Mozilla.org. Aquesta nova versió introduïa el nou motor de processament de HTML, Gecko -un gran avanç respecte a les antigues versions 4.7 de Netscape-, així com totes les tecnologies més actuals, incloent eines per a la gestió de la privadesa.
Actualment, Mozilla.org produeix un conjunt d'eines d'Internet per a Unix, Linux, Mac i Windows; entre els seus productes destaquen el FireFox, un navegador molt lleuger, i el ThunderBird, un client de correu electrònic.
El juliol de 2003 es va crear la fundació
Mozilla21 amb l'objectiu de promoure el desenvolupament, la
distribució i l'adopció de les tecnologies desenvolupades pel projecte.
La fundació s'inicià amb 2 milions de dòlars, cedits per America
Online, i 300.000 dòlars aportats, a títol personal, per Mitch Kapor,
creador del gestor de fulls de càlcul Lotus 1-2-3 i fundador de Lotus
Development22. Des de la seva creació, la fundació ha rebut més de 500
contribucions econòmiques d'empreses i particulars.
OpenOffice.org
Encara que el món del programari lliure ja comptava el 1999 amb aplicacions ofimàtiques com ara l'Abiword, el Gnumeric o el Koffice, el cert és que no oferien la funcionalitat que un usuari mitjà podia esperar, i llurs filtres per importar documents creats amb el Microsoft Office eren totalment inacceptables. Per a l'usuari final, després del sistema operatiu, el paquet ofimàtic és el conjunt de programes més utilitzats. Amb un Linux ja madur, i uns projectes d'escriptori com el KDE i el GNOME prou avançats, una de les últimes peces que faltava per completar el mosaic d'una solució lliure completa era un paquet ofimàtic.
El 1999, Sun Microsystems va adquirir la companyia alemanya
StarDivision. El seu producte estrella era l'StarOffice, un paquet
ofimàtic prou madur ja en aquella època, orientat a un públic tant
particular com professional. Seguint els passos de Netscape, Sun va
decidir alliberar el codi de l'StarOffice i crear una comunitat de
programari lliure al seu voltant. Així naixia OpenOffice.org, donant
nom a la comunitat que manté la versió lliure del projecte i a la
pròpia comunitat. En poc temps, l'OpenOffice.org es convertia en la
solució ofimàtica més utilitzada dins del món del programari lliure.
L'OpenOffice.org està disponible en més
de 30 idiomes i inclou un processador de textos, un gestor de fulls de
càlcul, un programa de presentacions i un programa per a la creació de
gràfics. Una de les característiques importants de l'OpenOffice és que
permet obrir gairebé a la perfecció qualsevol document creat amb el
Microsoft Office, la qual cosa representa un gran avantatge per poder
interoperar amb usuaris d'aquest paquet i realitzar-hi migracions.
Inclou, a més, opcions com ara l'exportació directa de documents a
format PDF, o la creació de presentacions en format Flash, que no estan
disponibles en els altres paquets ofimàtics.
Un dels avantatges de l'OpenOffice.org és que els seus formats de dades
natius estan basats en XML. Això dóna una gran flexibilitat per poder
crear les nostres pròpies eines de processament de documents o
recuperar-los des d'altres aplicacions. A finals de setembre del 2003
van aparèixer les primeres indicacions23 que la
Comunitat Europea podria estandarditzar els formats de l'OpenOffice.org
sota la norma ISO per a la seva adopció posterior.
Sun, que encara segueix sent el principal
mantenidor de l'OpenOffice.org, produeix a partir de la versió lliure,
utilitzant una llicència dual, el producte comercial StarOffice24. La
principal diferència respecte a l'OpenOffice és que inclou una base de
dades personal i alguns filtres addicionals per a la importació i
exportació de documents. Amb un preu de venda al públic de 79,95 dòlars
l'any 2004, Sun hi inclou una guia d'instal·lació molt completa i
suport tècnic.
Mono
Durant l'any 2000, Microsoft va presentar la tecnologia .Net com una plataforma de programari d'última generació per simplificar el desenvolupament de serveis web i aplicacions d'escriptori, i, poc després, en va iniciar el procés d'estandardització de la part principal, en l'associació ECMA25, per a la seva formalització i acceptació com a estàndard. Aquesta associació ha estandarditzat nombroses tecnologies, entre elles el llenguatge Javascript.
A primers de 2001 es va iniciar el projecte Mono26, impulsat per l'empresa Ximian, actualment part de Novell27, com a implementació de codi obert de la plataforma .Net de Microsoft i de l'estàndard ECMA. L'objectiu original era proporcionar una plataforma de programari lliure que facilités el desenvolupament d'aplicacions d'escriptori en entorn Linux, reduint el temps i els costos de desenvolupament. Amb el temps, també s'ha posicionat com a un entorn que permet l'execució sota Linux d'aplicacions dissenyades per a Microsoft .Net en entorn Windows, facilitant la migració d'aplicacions a Linux i augmentant la seva base de desenvolupadors i usuaris. Actualment uns 20 enginyers de Novell treballen en el projecte Mono, en què ja han col·laborat més de 300 voluntaris.
Els paquets que componen la distribució de la plataforma Mono comprenen un compilador C#, una màquina virtual (que permet executar les aplicacions) i un conjunt de biblioteques de classes que proporcionen milers de funcions, llestes per ser utilitzades, amb una completa documentació en línia.
Amb el Mono es poden escriure aplicacions en un gran nombre de llenguatges de programació, incloent-hi Python, Object Pascal, Nermele i C#. Un cop escrites, les aplicacions es tradueixen a CIL (Common Intermediate Language), que és un llenguatge intermedi que no té particularitats de cap arquitectura. Un cop compilada en CIL, l'aplicació es tradueix al llenguatge específic de l'arquitectura final on s'executarà. Aquest sistema permet distribuir un únic programa binari per a totes les arquitectures, en comptes d'un programa específic per a cada plataforma, però no és menys important la llibertat de triar qualsevol llenguatge de programació o combinació d'ells i poder executar l'aplicació en qualsevol de les plataformes per a les quals el Mono es troba disponible, entre les quals s'inclouen Intel, AMD64, SPARC, StrongArm i S390x. El Mono proporciona les eines per crear aplicacions per a Linux (diverses distribucions), Solaris, Windows, Mac/OS i mainframes d'IBM.
Dins de les nombroses contribucions per part de voluntaris, una d'especialment significativa és Monodevelop28, una adaptació a Mono, en plataforma Linux, de l'entorn de desenvolupament de codi obert SharpDevelop, que integra editor de textos, depurador, gestió de projectes i documentació en línia. Monodevelop s'ha escrit amb Mono i GTK#, i en si mateix representa un exemple del tipus d'aplicacions que, d'una manera ràpida i senzilla, es poden crear amb el Mono.
Avui dia, la plataforma Mono s'està utilitzant per desenvolupar aplicacions Linux d'última generació. Algunes de les més significatives són DashBoard29, un gestor d'informació personal i iFolder30
, un sofisticat sistema de gestió de fitxers. També s'està utilitzant per poder executar en Linux serveis web dissenyats en ASP.NET sota plataforma Windows, com per exemple les nombroses aplicacions ASP.NET que ha portat a Mono la consultora Völcker Informatik AG per al seu ús a l'Ajuntament de Munic, funcionant en 350 servidors.
2 http://www.mandrakelinux.com/
7 http://www.apache.org/foundation/how-it-works.html
8 http://www.uni-tuebingen.de/
11 http://conference2004.kde.org/
16 http://wp.netscape.com/newsref/pr/newsrelease558.html
18 http://www.mozillazine.org/
21 http://www.mozilla.org/press/mozilla-foundation.html
23 http://www.tbray.org/ongoing/When/200x/2004/09/24/SmartEC
24 http://wwws.sun.com/software/star/staroffice/
25 http://www.ecma-international.org/
26 http://www.mono-project.com