Un passeig per les llicències lliures

Ja hem indicat que hi ha una moltes llicències lliures i de “codi obert”. Aquí, ens dediquem a comentar molt breument les llicències de programari lliure més conegudes.

Aquestes són:

  • la llicència “Berkeley Software Distribution” (BSD) ,
  • la llicència “Apache Software License” (ASL),
  • la llicència “GNU General Public License 2 (GPL),
  • la llicència “GNU Library or Lesser General Public License” (LGPL), i
  • la “Mozilla Public License” (MPL).

Elements comuns a totes aquestes llicències són els pactes que obliguen a mantenir els avisos d’autoria (vegeu Llicències de programari) i els de limitació de garantia i de responsabilitats (vegeu Garanties i responsabilitats legals).

La llicència BSD

La llicència BSD és potser la llicència més simple i permissiva de les llicències lliures, juntament amb la seva germana la MIT. Sorgeix de les distribucions de versions Unix de la Universitat de Califòrnia, Berkeley, als anys 1970 i 1980 en les arrels del moviment de programari lliure. El principi que hi ha darrere de la llicència és que el codi és fruit de les investigacions i els treballs universitaris finançats pel govern dels EEUU (i els impostos del poble americà). Per tant, ha de ser d’accés lliure, protegint el que anomenem els “drets morals” dels autors amb la simple obligació de mantenir els avisos d’autoria (copyright notice).

Aquesta llicència permet l’ús sense límits del programari i la seva redistribució en forma de codi font i binari i també es pot modificar lliurement i integrar-lo en altres programes sense restriccions. L’única obligació és la de mantenir els avisos d’autors i el “disclaimer” en el codi font juntament amb la documentació del programa. Finalment, limita el que ja seria limitat pel dret de marques o de la competència deslleial, que és l’ús dels noms dels autors per a promocionar qualsevol producte derivat del codi original.

La versió actual de la llicència es diu “nova”, perquè la primera versió tenia una obligació de reconèixer els autors del programari i qualsevol modificació en els materials promocionals, “el qual no solament podria dur a tenir llistes i llistes d’autors en aquesta documentació, sinó que a més feia que la llicència fos incompatible amb la GPL“; un objectiu important per a moltes llicències.

L’Apache Software License 2.0 (ASL)

Llicència permissiva i moderna (de gener del 2004), l’Apache Software License és una nova versió d’una altra llicència permissiva i simple, l’Apache 1.0 i 1.1. S’usa per a distribuir el programari de la Fundació Apache (fins i tot el servidor web Apache, el compilador ANT, el servidor d’aplicacions Tomcat, etc.) i molt altre programari amb tecnologia Java.

La versió original era molt similar a la BSD, i agregava una obligació de publicitat (“This Software includes software developed by the Apache Software Foundation”) i una prohibició d’usar el nom “Apache” sense autorització de la Fundació (com que és una marca, aquesta prohibició és una repetició del que diu la llei). Per això, va quedar incompatible amb la GPL.

Es va renovar a principis de 2004 per a seguir el camí emprès per les llicències de tipus Mozilla, amb definicions més precises (“contribucions”, “obres”, “obres derivades” etc.), pactes sobre patents i la inclusió d’un arxiu “notice.txt” per a ressaltar qualsevol comentari legal. Així mateix, va precisar els drets cedits en la llicències, per exemple per a incloure el dret de subllicenciar el producte.

Uns comentaris sobre aquestes llicències:

  • Notem que la definició “d’obra derivada” exclou qualsevol programari que s’enllaci, de manera dinàmica, amb el programari sota ASL
  • La definició del llicenciatari (“You”) inclou entitats (p.ex. empreses) controlades pel llicenciatari original. Per tant, una distribució interna del programari o programari derivat del mateix entre els membres d’un grup empresarial no es consideraria una “distribució” a efectes de la llicència.
  • Per la llicència explícita sobre patents, la FSF considera que és incompatible amb la GPL, ja que aquesta llicència és una restricció major que el que permet aquesta. No obstant això, aquesta opinió no és compartida per tot el món.

La GPL 2.0

La GPL és la llicència lliure més coneguda i potser la més controvertida. És la llicència “copyleft” per antonomàsia, redactada i promoguda per la FSF (Free Software Foundation) juntament amb la LGPL. Per una banda és un “manifest polític” (el seu preàmbul), i de l’altra, una llicència. De fet, és la llicència usada per 75% dels projectes disponibles en Sourceforge.

Com qualsevol llicència lliure, la GPL permet la còpia, modificació i distribució del programari, en forma de codi font o binari. Després, agrega algunes condicions addicionals respecte a la redistribució, particularment la redistribució d’obres derivades. De manera resumida (cal llegir la llicència en cada cas), les condicions particulars de la GPL són les següents:

  • La redistribució d’obres “basades” en programari GPL és permesa, subjecte a la condició de mantenir la mateixa llicència per a aquesta redistribució (l’efecte “recíproc”) i d’oferir el programa a qualsevol tercer que ho sol·liciti, sense cobrar regalies (“royalties”).
  • La redistribució del programari ha d’acompanyar-se del codi font, sinó s’ha d’oferir a qualsevol persona accés al codi font, sense cost (no més del cost de la distribució) durant el període de 3 anys.
  • No es pot agregar més restriccions sobre la redistribució que les incloses en aquesta llicència.

Aquestes condicions intenten procurar que qualsevol usuari, directe o indirecte, de programari sota GPL sempre obtingui el codi sota els termes d’aquesta llicència i sempre tingui accés al codi font. D’altra banda, és important notar que l’obligació de publicar el codi font de les modificacions sorgeix en el moment de la redistribució (fins i tot entre entitats d’un mateix grup empresarial), no abans. Fins llavors l’ús i modificació del programari per l’usuari original es fa sense condicions.

El copyleft, per tant, tal com ho plasma la GPL, es caracteritza per tres condicions bàsiques:

  • Sempre donar accés al codi font als usuaris del programa original i obres derivades (“basades en ...”)
  • Mantenir la mateixa llicència per a la redistribució del codi original i les obres derivades (és a dir, no agregar cap altra restricció a la llicència de distribució)
  • Resolució de la llicència en cas d’incomplir aquestes obligacions.

L’aspecte més imprecís i controvertit d’aquesta llicència és la seva extensió a obres “basades en el programa” (també denominades com “que continguin o siguin derivades de ...”) el que introdueix un element d’incertesa. La FSF entén que aquest concepte inclou obres que s’enllacin amb el programa, de manera similar a una llibreria dinàmica, per exemple, i utilitzin les seves funcionalitats.D’altres argumenten que això va més enllà del que permet la llei quant al control d’obres derivades i abasta el que es podrien anomenar obres col·lectives o compostes que inclouen el codi sota GPL (sense modificació, clar).

La llicència GPL està en procés de renovació, per tal d’incloure pactes relatius a les patents sobre programari, els sistemes DRM, aclarir l’abast del copyleft i flexibilitzar alguns aspectes per a fer-la compatible amb més llicències (l’Apache 2.0 i la Affero en particular); un tema que és massa ampli per comentar aquí.

La llicència LGPL

La llicència LGPL és una variació de la llicència GPL, creada per a aplicar-se a llibreries i per a fer l’ús d’aquestes més extens.

En termes generals, d’una banda aplica els termes de la GPL a la llibreria protegida per la llicència i per l’altre permet aplicar altres termes legals a la distribució de programes que “usin la llibreria”. Per tant, la LGPL permet enllaçar altres programes amb aquesta llibreria sense que aquestes estiguin “afectades” per les obligacions de copyleft de la GPL. Pel que fa la llibreria mateixa, s’ha de mantenir sempre sota la mateixa llicència (LGPL) o la GPL.

La MPL 1.1

La llicència MPL va ser creada per un procés empresarial-comunitari en el moment d’alliberar el navegador “Netscape”. Després d’un redactat original d’una llicència (“Netscape Public License”) per l’empresa epònima, es va consultar la comunitat de programari lliure. Com a resultat dels seus comentaris, es va crear la llicència NPL específicament per a l’alliberament del navegador (reservant uns drets especials per a l’empresa), i la Mozilla Public License per futurs programes basats en el codi original de l’empresa. Avui dia s’usa no solament per als productes del projecto Mozilla (Mozilla, Firefox, Thunderbird, etc.), sinó també per moltes altres aplicacions lliures, en particular programari lliure “empresarial” patrocinat per empreses privades, com Compiere ERP.

És la primera de les llicències lliures “modernes”, ja que inclou una sèrie de definicions més precises, una llicència de patents (juntament amb la resolució de la llicència en cas d’iniciar qualsevol acció legal contra tercers basada en patents), la noció d’un fitxer “notice.txt” per a indicacions legals, etc. Sobretot, aclareix la noció de “codi cobert” i “codi afegit”, delimitant l’abast de la llicència als fitxers originals del programa, de la manera següent:

  • Els fitxers originals i qualsevol modificació dels mateixos han de redistribuir-se sota la mateixa llicència, juntament amb el codi font (o posar-lo a disposició a internet).
  • Els fitxers addicionals, que poden interactuar amb el programa, poden llicenciar-se sota qualsevol llicència.
  • El conjunt de programa original més els fitxers originals (una “obra major”) també té “llibertat de llicència”, però s’ha de distribuir la part original sota la seva llicència MPL.

Té un efecte similar a la LGPL, el qual es podria anomenar “copyleft suau”.

D’altres pactes importants d’aquesta llicència inclouen el dret aplicable i la jurisdicció competent (Califòrnia, EEUU), l’esmentada llicència de patents i la clàusula “contraatac”, i la possibilitat per a l’autor original de determinar si parts del codi també es distribueixen sota una altra llicència (llicència “múltiple”).

S’ha agafat la MPL com a model d’altres llicències lliures o “obertes”, com ara la CDDL (Common Development and Distribution License) i la OSL (Open Software License), cadascuna amb els seus petits detalls que les diferencien.

Conclusions

A l’hora de seleccionar una llicència per a la distribució de programari lliure, les diferents llicències lliures ofereixen una gamma àmplia de possibilitats adaptant la llicència als objectius estratègics, tècnics i ètics de cada projecte (i no es recomana crear-ne més!).

Això és un resum molt breu de les principals llicències de programari lliure. Cadascuna té les seves particularitats, sobretot la GPL, i és fonamental llegir-les amb deteniment en cas d’usar codi distribuït sota les mateixes o en l’esdeveniment d’alliberar un programa, tenint en compte totes les circumstàncies, l’arquitectura del programa, els seus usos i la manera de distribuir-lo. D’altra banda, les diferències entre elles no solament fa obligatori un estudi curós a l’hora integrar programari sota les mateixes en productes nous, sinó que també creen problemes d’incompatibilitats legals entre components, els quals poden dur a infraccions de llicència i de drets d’autor.

Avís legal