Un projecte de creació de programari lliure: una altra mirada¶
A l’hora d’iniciar un desenvolupament de programari lliure (és a dir, distribuït sota llicència lliure), a més de considerar les tecnologies, l’arquitectura i les especificacions, solen sorgir una sèrie de dubtes sobre els aspectes legals del projecte.
El desenvolupament d’un projecte “propietari” té diverses característiques que fan que els aspectes legals siguin potser més simples. Els desenvolupadors solen ser empleats d’una empresa o contractats i l’empresari serà normalment titular de tots els drets de l’aplicació. Aquest empresari té un control més centralitzat sobre com es desenvolupa el projecte i quins són els seus components. I ja ha determinat una llicència de distribució del programa a tercers, general (de tipus EULA) o particular (contracte de cessió a un client), en línia amb el model de negoci de l’empresa.
En un projecte de programari lliure, el basar en certa manera i amb diferents graus de descentralització, les coses no són tan clares.
Quins són els drets del desenvolupador si utilitza components de programari lliure de tercers?
Com s’atribueix la titularitat d’una aplicació desenvolupada sobre programari lliure o creada per una “comunitat” de desenvolupadors?
Perd el desenvolupador els seus drets al distribuir el programa sota una llicència lliure?
Com es selecciona una llicència per un projecte?
Com publicar el programa sota la llicència seleccionada?
Quins són els riscos i obligacions com autor/distribuïdor en aquests casos?
Encara que les circumstàncies poden variar molt, hi ha alguns elements comuns que són nous des d’aquesta perspectiva legal. Hi ha diversos autors que treballen en diferents contexts, hi ha múltiples components (lliures) que poden tenir llicències diferents i hi ha un ventall de llicències que es podrien utilitzar per a distribuir el programa final. Aspectes que caldria considerar en aquest context es centren en tres àrees:
la titularitat i drets originals,
el respecte de les llicències sobre components i compatibilitats entre elles, i
la selecció d’una llicència de distribució.
Titularitat¶
Les regles bàsiques sobre la propietat intel·lectual (la titularitat del codi i els drets associats) no varien amb la creació de programari lliure: els autors són titulars de la seva creació (amb l’excepció del cas d’un desenvolupament empresarial) i es beneficien dels drets morals i d’explotació.
No obstant això, podria sorgir una complicació quan hi ha diverses persones involucrades en el desenvolupament (i no són empleats d’una mateixa empresa); en aquest cas hi ha diversos autors i titulars del programari del projecte. El programa resultant podria ser: una obra en col·laboració, caracteritzada per una col·laboració horitzontal entre autors; una obra col·lectiva, caracteritzada per un major grau de coordinació i supervisió per una sola persona o entitat; o una composició de mòduls de tercers. Els drets dels autors seran diferents en cada cas. Aquest tema és complicat i és comentat en més detall a Programari d’autors múltiples. Si el projecte tingués certa discreció per a establir com s’organitza el desenvolupament, llavors tindria una possibilitat per determinar l’atribució de la propietat intel·lectual i la seva gestió.
Un primer aspecte que el projecte ha de cuidar, doncs, és la propietat del codi, sobretot perquè amb aquests drets de propietat el projecte tindrà el dret de distribuir el codi i determinar la llicència per a aquesta distribució. Altres aspectes en aquesta gestió de la titularitat consisteixen a determinar com es fan les contribucions de codi (internes o externes) i quines garanties, en relació amb la propietat intel·lectual, es requeriran dels contribuïdors; per evitar que tallin i enganxin codi publicat a internet!
Llicències¶
Un avantatge del programari lliure és poder integrar components lliures per a crear, juntament amb nous desenvolupaments, aplicacions o “solucions” més complexes. Aquests components solen ser llibreries, servidors, bases de dades, etc. L’important des de la perspectiva legal és que es distribueixen sota un ventall de llicències possibles (vegeu Llicències de programari lliure: una mirada general), que poden tenir condicions dispars i peculiars. S’en poden destacar tres aspectes:
La necessitat de respectar les condicions de les llicències sobre components, particularment les condicions de copyleft
L’ús de components amb llicències compatibles entre ells
La selecció d’una llicència de distribució compatible amb aquests components (o viceversa, la selecció de components compatibles amb la llicència de distribució)
Algunes llicències de tipus copyleft, com la GPL, requereixen que qualsevol programa que incorpori (i, discutiblement, utilitzi) programes sota aquestes llicències, s’ha de distribuir sota llicència lliure també; normalment la mateixa. Altres llicències són més permissives (com la BSD, la MIT, etc.) i es pot “canviar” les condicions que s’apliquen al codi, per exemple distribuint el resultat final sota llicència propietària. Condicions comunes a totes les llicències són les de mantenir els avisos d’autoria en els fitxers fonts i distribuir el “disclaimer” de garanties i responsabilitats a l’hora de redistribuir. (Pel que fa als principals aspectes i condicions de les llicències més comunes, vegeu Un passeig per les llicències lliures)
Com que aquestes llicències tenen diferents condicions, algunes són incompatibles entre elles (vegeu Incompatibilitats de llicència), el qual es pot complicar en funció de l’arquitectura i les tecnologies. Serà important per al projecte cuidar la selecció de components i considerar la manera en que s’integren i es distribueixen a tercers per evitar qualsevol conflicte entre llicències.
Com a conseqüència dels dos aspectes anteriors, la llicència de distribució seleccionada per a la distribució del programa desenvolupat haurà de complir (ésser compatible) amb les condicions de tots els components que la integren. Això serà fàcil quan tots els components són d’una mateixa llicència (GPL o Apache, per exemple), el qual és una bona estratègia per minimitzar els riscos. Més difícil serà quan hi ha una multitud de llicències lliures sobre els components, en aquest cas una lectura curosa de cada llicència serà recomanable. De vegades és més fàcil determinar per endavant quina ha de ser la llicència de distribució i triar els components en funció d’ella.
Distribució¶
L’ús d’una llicència lliure no significa que els desenvolupadors “perden” els seus drets d’autor. Al contrari, la selecció d’una llicència i la distribució del codi (normalment per internet) és un exercici d’aquests drets. I si algú infringeix la llicència, són ells els legitimats per a iniciar les accions legals corresponents. A més, sempre mantenen els drets morals de ser reconeguts com autors dels programes en qüestió.
No obstant això, si els desenvolupadors mantenen els seus drets d’autor a l’hora de distribuir el codi, també poden estar obligats a donar garanties en relació amb ell. Encara que la qüestió no és pacífica, el marc legal espanyol (que no necessàriament a l’americà) obliga a qualsevol proveïdor d’un producte o servei a prestar algunes garanties i respondre davant determinats tipus de danys i limita la validesa dels “disclaimers” (limitacions de garanties de tipus “aquest producte es lliura TAL QUAL, sense cap garantia). Aquest aspecte legal és complicat i en aquest àmbit el dret no és clar, depèn molt de la casuística. (Vegeu Garanties i responsabilitats legals).
Un altre punt important de recordar a l’hora de distribuir és mantenir el respecte de les condicions sobre redistribució de les llicències originals (sobre components):
esbrinar l’abast de qualsevol obligació de proveir accés al codi font,
verificar que els avisos d’autoria i de llicència siguin correctes en els components de tercers i els nous desenvolupaments del projecte, i
incloure les llicències necessàries en el paquet distribuït, entre altres coses.
Conclusions¶
Aquest article només toca breument alguns dels aspectes legals més rellevants per a un projecte de creació i distribució de programari lliure. La gestió de la propietat intel·lectual és un factor de qualitat en la gestió del projecte i s’ha de cuidar tant com la gestió de versions o del desenvolupament.
Es recomana llegir els articles enllaçats en el text i els altres articles d’aquesta secció per a obtenir més informació sobre els temes aquí esmentats.