Elexindo licencia para o código
A única diferencia legal entre un código considerado software libre e outro propietario é a súa licencia. A licencia é o mecanismo legal mediante o que o autor declara qué dereitos sobre o programa proporciona ó usuario. Pódese dicir que é un contrato entre o autor do programa e o usuario final, onde se declara cómo e para qué pode usalo. Porén, a autoría do software non cambia, ésta sempre é do programador e está garantida polas leis de copyright.
É por iso que é imprescindible que os nosos programas teñan una licencia de software libre, xa que, por defecto, as leis de propiedade intelectual non garanten ningún dereito ó usuario. Así, á hora de elexir licencia para o noso programa, debemos ter en conta algúns dos seguintes aspectos:
¿QUÉ É SOFTWARE LIBRE?
Para que un software sexa considerado software libre debe cumplir as 4 condicións da Free Software Foundation (ou, similarmente, as 10 directrices da Open Source Initiative):
- Liberdade para executar o programa, con calquera propósito.
- Liberdade para estudiar o seu funcionamento e adaptalo ás túas necesidades (unha condición a priori para isto é ter acceso ao código fonte).
- Liberdade para redistribuír copias, axudando ó teu veciño.
- Liberdade para mellorar o programa e publicar as melloras, beneficiándose así toda a comunidade (tamén é condición a priori para isto ter acceso ao código fonte)
Calquera licencia que cumpla estas 4 liberdades é considerada software libre. Porén, existen distintas tipoloxías de licencias a considerar.
LICENCIAS ROBUSTAS VS PERMISIVAS
Unha vez que decidimos licencia-lo programa como software libre, debemos escoller unha licencia das múltiples posibles (lista da OSI – lista da FSF). Pódense destacar polo menos 2 categorías principais de licencias libres:
- Licencias Robustas (tipo copyleft): impoñen que os traballos derivados se deben redistribuir coa mesma licencia, sen engadir ningunha restricción adicional. Exemplos de licencias robustas: GNU General Public License (GPL), LGPL, MPL.
- Licencias Permisivas: permiten a creación de traballos derivados cambiando as condicións orixinais da licencia (por exemplo, colle-lo código e crear a partir del un produto que non sexa software libre). Exemplos de licencias permisivas: Berkeley Software Distribution (BSD), X11/MIT License, Apache.
Logo de coñece-los requisitos de robustez da licencia, é preciso valorar outro aspecto decisivo: con qué código podemos mezclar o noso código. Para esto estúdiase a compatibilidade das licencias.
COMPATIBILIDADE DAS LICENCIAS
Pódense analiza-las licencias según sexan ou no compatibles entre sí (é dicir, o código licenciado cunha determinada licencia pódese mezclar co código licenciado con outra distinta). Un exercicio ilustrativo neste sentido pode ser estudiar qué licencias son ou non compatibles coa GPL:
una licencia se considera GPL-compatible cuando no añade ninguna restricción adicional a las impuestas por ésta. Como consecuencia práctica se tiene que el código con una licencia no compatible con la GPL, no puede integrarse con código GPL.
Tanto as licencias robustas como as permisivas das que antes falabamos, poden ser (ou non ser) gpl-compatibles. Probablemente, un dos casos máis famosos é o da licencia BSD. A BSD original, tiña como restricción adicional á GPL que:
3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
Sendo así, o código BSD non era GPL-compatible e non podía integrarse con ningún código dese tipo. É por isto que se creou a licencia BSD modificada, que elimina esta restricción, facéndose así GPL-compatible (dando soporte legal á integración con código GPL).
A continuación mostramos un cuadro coas liberdades/restriccións que teñen as principais licencias de software libre:
En resumo, a elección de licencia é o único distintivo legal entre un programa de software libre e outro que non o sexa.
Analizar qué se necesita en cada caso, dependendo dos requisitos presentes e futuros do proxecto é primordial para non verse envolto en posteriores e costosos procesos de relicenciamento, como foi o caso de KDE e da Fundación Mozilla.
Trackbacks
Trackbacks are closed.
[…] O kernel é un gran proxecto con moitos módulos e código de diversos autores coa posibilidade de ter licencias diferentes. Porén, debido a que nun primeiro momento foi licenciado coa GPLv2, as aportacións posteriores teñen que ser compatibles con esa licencia. […]
[…] No post anterior, explicabamos os conceptos básicos a ter en conta á hora de elexir unha licencia. Neste, pretendemos explicar os distintos modos de xestión do copyright nun proxecto de software libre. […]
[…] Elexindo licencia para o código […]
[…] ningún caso a receta máxica para que funcionen), sí pode ser interesante, por exemplo, de cara a seleccionar a licencia do teu proxecto. Espero que sexa de […]