Llicències de programari lliure: una mirada general

La diferència entre el programari lliure i el programari tradicional o “propietari” resideix en els drets i obligacions especificats en la llicència. Els drets cedits per les llicències de programari lliure (“llicències lliures”) solen ser directament oposats als cedits i reservats per una llicència de programari propietària (“llicència propietària”), sobretot pel que fa a l’ús, la distribució i la modificació del programari. De manera general, una llicència de programari lliure permet a qualsevol copiar, modificar (millorar, adaptar, integrar amb altres programes) i redistribuir el programa.

El concepte de “programari lliure” inclou tot un món de diferents tipus de programari, sota diferents llicències de programari que compleixen amb uns criteris mínims de “llibertat”; això fa que existeixin moltes llicències lliures. Així mateix el concepte engloba molt programari anomenat de “codi obert” open source software ja que la majoria de les llicències de codi obert són també lliures: la BSD, l’Apache, etc. Es tracta de diferències de perspectiva i filosofia més que de diferències legals.

Conceptes generals

Una llicència de programari lliure ha de respectar les quatre llibertats enunciades per la Free Software Foundation (FSF). L’usuari/llicenciatari ha de gaudir de:

  • la llibertat d’executar el programa
  • la llibertat d’estudiar el programa i adaptar-lo a les seves necessitats (modificar-lo)
  • la llibertat de distribuir-lo
  • la llibertat de millorar-lo i distribuir les millores.

Això es tradueix, en termes de contracte de llicència, a cedir a l’usuari els drets de còpia, modificació i distribució/redistribució del programa i del codi derivat del mateix. Notem que són justament els actes prohibits per les llicències propietàries. Així mateix, per a poder exercir aquests drets, l’usuari ha de tenir accés al codi font del programa.

Quan parlem de programari de “codi obert” ens referim a programes distribuïts sota llicències que compleixen amb les 10 directrius establertes per la OSI (Open Source Initiative): la Open Source Definition (OSD). Aquestes directrius emfatitzen les 4 llibertats del programari lliure (per tant, qualsevol programari lliure és de codi obert i viceversa) i afegeixen algun criteri més, com la neutralitat en relació amb la tecnologia o amb un producte en particular. La llicència BSD, originalment aplicada a una distribució Unix de la Universitat de Berkeley, és una llicència lliure i de codi obert.

El factor clau entre les perspectives de la FSF i la OSI és que la OSI no obliga a mantenir la llibertat del codi original en posteriors redistribucions (un aspecte del copyleft). La OSI tracta de reconciliar les llibertats del programari lliure amb les necessitats comercials de qualsevol tipus d’empresa involucrada en la creació, distribució o ús del programari. Mentre que la FSF defensa les llibertats fonamentals per a qualsevol aplicació en qualsevol moment (en la cadena de subministrament), la OSI les defensa en la seva distribució original i la redistribució posterior d’obres modificades roman flexible. Per tant, les llicències amb copyleft (sovint considerades les “llicències lliures”) garanteixen l’accés al codi font en tot moment, i les llicències més permissives permeten incloure el codi original en desenvolupaments propietaris.

Una manera d’entendre la diferència és que les llicències lliures i de codi obert garanteixen diferents tipus de llibertat:

  • La BSD, una llicència “oberta”, dona més llibertat als desenvolupadors, perquè aquests poden incorporar i distribuir implementacions de “codi BSD” sota llicències tant lliures com propietàries.
  • La GPL , La llicència lliure per excel·lència, transmet més llibertat als usuaris finals, perquè aquests sempre rebran aplicacions amb el seu codi font i sota una llicència lliure.

Un ampli ventall de llicències

Llavors és important ressaltar que no totes les llicències lliures són similars. Parafrasejant (sense massa abús) una cèlebre expressió de George Orwell, encara que totes siguin lliures, algunes són més lliures que unes altres. Totes han de garantir, almenys, les quatre llibertats abans esmentades, però les disposicions contingudes en aquestes llicències poden variar de manera significativa. El ventall de possibilitats va des d’unes obligacions mínimes (en les llicències de tipus BSD) que obliguen únicament a mantenir l’avís d’autoria i la limitació de garanties i de responsabilitats (el disclaimer), fins al “màxim” (en cert sentit) de la clàusula copyleft de la GPL que obliga a distribuir qualsevol modificació i obra derivada sota la mateixa llicència GPL, juntament amb accés al codi font.

Per tant , i segons cada llicència, la major diferència se situa en les condicions de redistribució: aquesta haurà de realitzar-se sota certes condicions.

  • Si el programa s’ha llicenciat sota una llicència permissiva (de tipus BSD o X/MIT), generalment no hi ha condicions sobre la redistribució. És permet barrejar el programa amb qualsevol altre programari.
  • Si el programa s’ha llicenciat sota la llicència GPL o una altra llicència amb copyleft, llavors la redistribució ha d’ésser sota la mateixa llicència (ex. la GPL), i oferir el codi font (o accés al mateix) al destinatari. Això assegura que el programa quedi “lliure” i no pugui ser “privatitzat”.
  • Algunes llicències intermèdies (com la LGPL o la MPL) permeten agregar i/o vincular codi nou (teu) al codi original i distribuir el conjunt sota una llicència nova (propietària o lliure). No obstant això, la part original haurà d’oferir-se sota la seva llicència original, normalment amb el codi font. És una forma de copyleft parcial.

Finalment, notem que encara que compleixen amb els mateixos criteris, l’existència de pactes addicionals (sobre patents, sobre marques, sobre dret aplicable, etc.) significa que no totes les llicències són compatibles. Per a reduir les dificultats a l’hora de barrejar codi lliure la FSF manté una llista de llicències compatibles, segons la seva opinió, amb la GPL (vegeu Incompatibilitats de llicència).

Les llicències lliures més conegudes i usades (vegeu Un passeig per les llicències lliures) són:

A elles, cal afegir noves llicències com la CDDL (patrocinada per Sun), i la ASF i OSL (llicències “neutres” redactades per un dels advocats americans més entès en temes de programari lliure).

Implicacions: el que permet una llicència de programari lliure

Els drets cedits als usuaris de programari lliure, sota qualsevol llicència, permeten instal·lar i executar el programa, copiar-lo, modificar-lo i redistribuir-lo amb qualsevol modificació realitzada. Així mateix, l’usuari té dret a obtenir el codi font de l’aplicació, per exemple per a corregir errors o per a exercir aquests drets de modificació. Aquests drets permeten a moltes persones participar en la creació d’un programa lliure, des de la correcció d’errors fins a la contribució de nous mòduls. Des d’un altra perspectiva, aquestes “llibertats” inclouen l’ús particular i comercial.

Un altra faceta del programari lliure, és la llibertat que té l’usuari enfront dels seus proveïdors: l’usuari de programari lliure, sobretot si és programari sota una llicència “copyleft”, té accés al codi font. Això li permet canviar de proveïdor, o modificar i millorar el programari de manera interna, en cas de desacord amb el proveïdor original o la seva desaparició. (Un efecte positiu d’això és el d’obligar els intermediaris de programari a millorar els serveis i la seva atenció al client!).

El fet que la distribució del programari sigui lliure provoca que aquest acostumi a ser gratuït: no serveix de res posar un preu alt, si demà qualsevol usuari pot legítimament publicar el codi (font i binari) a Internet i facilitar la descàrrega sense cost a qualsevol “internauta”. Però això no impedeix que hi hagi molt programari lliure a Internet i que sigui de pagament. Redhat, per exemple, pot cobrar per la seva distribució de GNU/Linux, bàsicament perquè ofereix productes i serveis addicionals: garanties de funcionament, serveis d’ajuda i suport, aplicacions administratives o d’instal·lació.

Estandardització

Un avantatge de les llicències lliures és que són “estàndards”. A part de saber que compleixen amb els criteris de la FSF o la OSI, el qual significa poder copiar, modificar i distribuir sense ni tan sols llegir la llicència (no convé!), és coneix el seu contingut i (normalment) l’abast dels seus drets. Encara més, ha estat publicada i se sap si la OSI ha certificat la seva compatibilitat amb les seves directrius. El fet que algunes llicències en particular siguin més conegudes com la GPL, la LGPL, la BSD, la MPL, sobretot significa que tot el món coneix el seu abast.

Existeix la possibilitat d’escriure noves llicències, no obstant això el sector pateix d’una proliferació de llicències (la OSI en té unes 58 de “certificades”) el que, a l’hora de barrejar codi, complica la tasca de revisar la compatibilitat dels components.

Avís legal