El teu blog de Linux en català

Programari lliure versus Programari de codi obert

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?.

    • Aljullu on 20 de Març de 2010 at 16:24

    Reply

    Doncs jo també estava molt equivocat sobre el que era el programari de codi obert.

    • cubells on 20 de Març de 2010 at 18:05

    Reply

    La diferència és clara, pense.

    En el cas del programari lliure els propietaris del programari som tu, Pau, Aljullu, jo mateix, la comunitat. És un programari que t’assegura que ara i sempre el programari serà teu.

    En el cas de programari de codi obert, encara que tens accés al codi, que pots modificar-lo etc., normalment el programari pertany a una empresa. Per tant, no és completament nostre.

    La prova la teniu en el punt 4 on, encara que pots participar en les modificacions del programari, és en última instància el/s desenvolupador/s o la empresa que hi ha darrere la que decideix el camí que ha de triar el programari.

    Per mi clarament és un trampa. Va ser una llicència creada per la indústria del programari per a aprofitar-se de les ganes de col·laboració dels que creiem en el programari lliure.

    • Toni on 20 de Març de 2010 at 18:28

    Reply

    Hola jo ho veig semblant a en Cubells….
    Al meu entendre la diferència principal entre les llicències basades en els “dogmes” de la FSF i els de la OSI és posar l’accent de la llibertat o bé en el productor del software, en el primer cas, o bé en el receptor.
    És a dir… en el primer cas qui usa una llicència basada en la FSF té la seguretat que sempre l’ús que se’n farà serà segons les 4 llibertats, i no es pot “re-llicenciar” en cap llicència que no s’hi “avingui”… Dit d’una altre manera,la llicència pot canviar sempre sigui assumible com a llicència de programari lliure…
    En el “Codi Font Obert” és el receptor que té la la màxima llibertat i pot ser que es re-distribueixi en programes comercials de que siguin de Codi font obert.
    És a dir, es dóna la llibertat de que en un punt algú en faci un ús no lliure. Aquest tipus de llicències són les que s’usen que interessa que la implementació es popularitzi i sigui adoptada per la major part de la indústria (em ve al cap l’implementació de la pila TCP llicenciàda com a BSD que fins i tot Microsfot ha utilitzat fins al Windows Vista, i evidentement Microsfot no obria el seu codi pel fet s’usar aquesta implementació…
    En funció dels interessos i finalitat del programa o fragment de codi, pot ser més útil o encertat usar una llicència de la 1era o de la 2ona família.

    D’altre banda comentar que la traducció del punt 8 de la OSD no em sembla del tot acurada.. si la llegim en anglès el significat varia lleugerament.

    • Pau on 20 de Març de 2010 at 19:52

    Reply

    Molt bones aportacions. Crec que una altra conclusió que es pot traure és que el programari lliure dóna més poder a l’usuari, mentre que el programari de codi obert dóna més poder al desenvolupador (més control, bàsicament).

    Toni, la descripció l’he extreta de la viquipèdia. Podries canviar-la si creus que la traducció no és acurada (no l’he traduïda jo).

    Salut,

    Pau

    • jordi on 21 de Març de 2010 at 14:33

    Reply

    Estas fent el màster de programari lliure??? Que guai!
    Saps si es pot fer alguna cosa similar, però tenint el títol superior d’ASI (Administració de Sistemes Informàtics)
    ???

    Estaria molt bé, la veritat!

    Salutacions!

    • Toni on 21 de Març de 2010 at 15:24

    Reply

    Hola Pau et al.
    Contestant-te a això de la viquipèdia, el que veig és que a la versió catalana dels punts de la OSD el que n’han fet és un Mini-Resum , i inevitablement un resum fa això, deixa els detalls fora.. Per tant la recomanació a tothom és que ho llegeixi en la versió completa. Que la wikipedia la pot modificar tothom, evidentment, ja ho sabia 🙂
    Respecte a l’article ara me’l rellegia i m’ha vingut al cap que encara seria més interessant si fessis esment de les Creatives Commons, l’altre família de continguts lliures (o “més o menys” lliures, ja que depenent de quina clausula de la CC s’agafi, el resultat no pot ser considerar com a una llicència lliure).
    Tot i que normalment s’usen per materials que no són programari, estan molt de moda i així cobriries en l’article la majoria de les llicències lliures en ús a Internet

    • Marc Pérez on 10 de Setembre de 2010 at 11:33

    Reply

    Yo vull saber si quan fas alguna modificacio d’un prgramalliure tambe canvia el codi del mateix, i d’altra banda després

    d’haver modificat elprograma pots crear restriccions per aquest?

      • Pau on 10 de Setembre de 2010 at 12:16
      • Author

      Reply

      Hola Marc, no sé si entenc bé la teua pregunta. Però un programa derivat d’una altre programa que siga lliure no pot ser menys lliure que el programa original i per tant no pots afegir restriccions que facen que una de les quatre llibertats es deixe de complir.

Deixa un comentari

Your email address will not be published.