El teu blog de Linux en català

El nostre company Joan va escriure un article al seu bloc parlant sobre les diferències entre el programari lliure i el programari de codi obert. He d’admetre que tenia una idea molt equivocada sobre allò que és conegut com a open source, un terme que molta gent utilitza erròniament. Paral·lelament, al màster de programari lliure que estic fent a la UOC, un dels primers temes és sobre llicències i les pràctiques que he hagut de fer tracten, entre d’altres coses, veure’n les diferències.

La qüestió és que si llegiu la definició de programari lliure i la de codi obert, vos costarà trobar les diferències. De fet, probablement veureu que hi ha alguna cosa diferent, però no tindreu clar el què. Així que, primerament, veurem les definicions d’un i de l’altre:

Programari lliure

Llibertat 0 / La llibertat d’executar el programa per qualsevol propòsit.
Llibertat 1 /La llibertat de veure com funciona el programa i adaptar-lo a les necessitats pròpies. L’accés al codi font és un requisit.
Llibertat 2 / La llibertat de redistribuir còpies.
Llibertat 3 / La llibertat de millorar el programa i de distribuir-lo de nou amb les millores realitzades, per tal que tota la comunitat se’n pugui beneficiar. Igual que a la llibertat 1, l’accés al codi font és un requisit.

Programari de codi obert

1. Lliure redistribució: el programari ha de poder ser regalat o venut lliurement.
2. Codi font: ha d’estar inclòs o obtenir-se lliurement.
3. Permetre modificacions o treballs derivats: la redistribució de modificacions ha d’estar permesa.
4. Integritat del codi font de l’autor: les llicències poden requerir que les modificacions siguin redistribuïdes només com a pedaços deixant el codi original sense canvis.
5. No restringir el seu ús a cap persona o grup: ningú pot deixar-se fora.
6. No restringir el seu ús a cap activitat, línia de negoci o àrea d’iniciativa: els usuaris comercials no poden ser exclosos.
7. Distribució de la llicència: han d’aplicar-se els mateixos drets a tot el qui rebi el programa i la llicència ha de romandre intacta al distribuir o modificar el programari.
8. La llicència no ha de ser específica d’un producte: el programa no pot llicenciar-se solament com part d’una distribució major.
9. La llicència no ha de restringir altre programari: la llicència no pot obligar que algun altre programari que sigui distribuït amb el programari obert hagi també ser de codi obert.
10. La llicència ha de ser tecnològicament neutral: no ha de requerir-se l’acceptació de la llicència per mitjà d’un accés per clic de ratolí o d’altra forma específica del mitjà de suport del programari.

L’Open Source Initiative (OSI) va redactar la llicència coneguda com a open source tot basant-se en el contracte social de Debian. Això dista molt de la concepció que jo mateix tenia del programari de codi obert. He d’admetre la meua ignorància, ja que pensava que codi obert volia dir només que el codi estava a la vista. També he d’admetre que aquesta confusió prové de la lectura del llibre de Richard Stallman (Free Software, Free Society), on ell parla sovint del fet que el programari de codi obert no és programari lliure.

Diferències entre programari lliure i programari de codi obert

Si s’analitzen les definicions, es pot arribar a les següents conclusions:

  • Tot programari lliure és programari de codi obert, però no tot programari de codi obert pot considerar-se programari lliure
  • Al punt número 4 de la llicència de programari de codi obert s’està indicant que existeix la possibilitat de no poder millorar el codi de forma directa, sinó que s’ha de fer amb pedaços. Això entra en conflicte directament amb la llibertat número 3 del programari lliure.
  • El punt número 9 també podria ser punt de conflicte, però s’ha d’analitzar bé ja que si realment hi ha alguna diferència, no es veu de forma directa. Realment, es podria dir que aquest punt entraria en conflicte amb llicències com la GPL. De fet, però, també existeix l’LGPL que permet barrejar biblioteques privatives amb programari lliure. Per tant, en realitat, el punt 9 sembla no entrar en conflicte amb els principis de programari lliure.
  • És interessant remarcar el desig d’igualtat que la llicència open source difon amb els punts que volen garantir l’accés a tothom. Pensem en les biblioteques Qt: Nokia permet fer-les servir lliurement amb programari lliure, però en altres casos s’ha d’obtindre una llicència especial.
  • Per últim, cal remarcar que la llicència de codi obert sembla molt enfocada a la distribució del programari, no tant a la seua llicència pròpia. És a dir, el que es diu en tot moment és que la llicència del programa original s’ha de mantindre intacta i el codi ha d’ésser obert. Però això no garanteix poder fer allò que vulguem amb el codi (bàsicament pel que ja hem comentat del punt 4).

I vosaltres, quines conclusions en traieu?.

RoundCube és una aplicació web per a la gestió del correu electrònic que treballa amb el protocol IMAP. Per a funcionar necessita un servidor web capaç d’executar PHP i amb una base de dades MySQL. Els seus autors l’han publicat sota una llicència GPL.

Destaca sobretot per la seva cuidada interfície i perquè està construïda de manera que sigui molt semblant als gestors de correu per a escriptori. A més a més, com que està feta a partir de l’estàndard XHTML i fulls d’estil CSS, per a un programador amb coneixements d’aquests dos llenguatges de programació és relativament senzill fer aspectes visuals nous. Per exemple, per defecte, RoundCube és així:

Captura de pantalla del RoundCube

No sembla gens lleig. Ara bé, amb una mica de treball amb CSS i XHTML, pot quedar així:

Captura de pantalla del RoundCube

Algunes de les característiques ressenyables de RoundCube són:

  • Es pot configurar en diferents idiomes, entre ells el català.
  • Pot treballar amb HTML, tant en el moment de llegir missatges com de forma visual en redactar-los.
  • Té una llibreta d’adreces on desar-hi informació dels contactes.
  • Permet treballar amb diferents identitats, i assignar una signatura personalitzada a cada identitat (per exemple: una per quan enviem missatges com a responsable d’una organització, una altra per quan ho fem com a empleats d’una empresa, etcètera).
  • Inclou un cercador capaç de filtrar els missatges per localitzar aquell que pretenem trobar més ràpidament.
  • Permet treballar amb carpetes per classificar els missatges.
  • Té corrector ortogràfic.

El passat dia 7 d’octubre es va publicar la versió 1.4 del programa lliure Sweet Home 3D. Es tracta d’una aplicació d’assistència per a interioristes: amb ella es pot anar situant, sobre un plànol en dues dimensions, tot el mobiliari amb què tinguem pensat decorar un pis; i, alhora, es va veient com quedaria d’un mode una mica més realista, en tres dimensions, a través d’un quadre separat a la part inferior de la finestra.

Sweet Home 3D es pot distribuir segons el que indiquen els termes de la llicència GPL de GNU i està fet en Java, la qual cosa permet als seus programadors publicar versions per a GNU/Linux, Windows (des de 98 fins a Vista) i Mac OS. Una de les principals novetats d’aquesta versió 1.4 és que la vista en tres dimensions es pot exportar en format obj, la qual cosa genera un fitxer que es pot obrir en molts programes de modelatge 3D, entre ells el popular 3D Studio Max o el Blender, que també és programari lliure.

A la pàgina web del projecte, a part de completa documentació sobre el programa en diferents idiomes, hi ha a dia d’avui 119 models 3D d’objectes que s’ha comprovat que es poden importar a Sweet Home 3D, a més d’enllaços a pàgines on es poden trobar altres models també compatibles.