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?.
- Enllaç | Definició de programari lliure
- Enllaç | Definició de programari de codi obert
- Enllaç | Contracte social de Debian
Comentaris recents