Curso sobre software libre Licencias de software libre Jesús M. González Barahona jgb@gsyc.es Móstoles, febrero de 2008
1 c 2001-2008 Jesús M. González Barahona, Joaquín Seoane, Gregorio Robles Algunos derechos reservados. Este artículo se distribuye bajo la licencia Reconocimiento-CompartirIgual 2.5 España de Creative Commons, disponible en http://creativecommons.org/licenses/by-sa/2.5/es/deed.es Este documento (o uno muy similar) está disponible en (o enlazado desde) http://curso-sobre.berlios.de
Qué han de cumplir las licencias de software libre? 2 Qué han de cumplir las licencias de software libre? El autor de un programa libre da permiso para: usarlo sin restricciones estudiarlo y adaptarlo a nuestras necesidades redistribuirlo modificar el programa y publicar las modificaciones Imprescindible: disponibilidad de código fuente
Y por qué es esto y no otra cosa? 3 Y por qué es esto y no otra cosa? Hay dos ĺıneas de pensamiento que han llevado a esta definición: Motivos éticos: porque las cosas deberían ser así (el software entendido como conocimiento) Motivos prácticos: porque las cosas funcionan mejor así (más y mejor, con más eficiencia) Largas discusiones, que han convergido en un cierto consenso: Debian Free Software Guidelines, Definición de Open Source. Definición de software libre de la Free Software Foundation
Algunos términos que pueden causar confusión 4 Algunos términos que pueden causar confusión Open source software: término utilizado por la Open Source Initiative. Intenta ser una denominación de origen, que se promocione como tal. El software open source es normalmente también software libre. Public domain software (software del común): el autor cede sus derechos a la comunidad. Copylefted software (software con izquierdos de autor ): software que al ser redistribuido varias veces mantiene las garantías de libertad para quien lo recibe. Shareware: forma diferente de licenciar software propietario.
En qué se basan las licencias? 5 En qué se basan las licencias? La legislación sobre derechos de autor asegura que por defecto no se puede hacer casi nada con una obra (programa) que se recibe o se compra Las licencias de software libre conceden ciertos permisos expĺıcitos Cuando se recibe un programa libre se puede redistribuir o no, pero si se redistribuye, sólo es posible porque la licencia lo permite (igual para modificaciones) Para ello es preciso cumplir con la licencia...
Licencias, licencias, licencias 6 Licencias, licencias, licencias Tipos de licencias Licencias permisivas (BSD, MIT, Apache): minimalistas, permiten redistribución bajo términos más restrictivos (incluso bajo licencias propietarias) Licencias robustas (GPL, LGPL, IBMPL, MPL): copyleft, al redistribuir han de cumplirse ciertas condiciones que garantizan que quien recibe el programa de cualquier tercera parte lo recibe como software libre
Licencias, licencias, licencias 7 Licencias, licencias, licencias BSD (Berkeley Software Distribution) Versiones de Unix BSD Obliga a dar crédito a los autores (nota de copyright) Permite la redistribución binaria Permite la redistribución fuente (pero no obliga a ella en ningún caso) Permite las modificaciones y la integración casi sin restricciones Licencias similares: X Window, Tcl/Tk, Apache
Licencias, licencias, licencias (cont.) 8 GPL (GNU General Public License) Software de la FSF (y mucho más, como Linux, KDE, GNOME, OpenOffice, Mozilla) Interesante uso de la legislación sobre copyright (copyleft) Permite la redistribución de binarios y de fuentes (obligatoria en caso de redistribución binaria) Permite las modificaciones sin restricciones Permite la redistribución (incluidos trabajos derivados) si se cumplen las condiciones de la GPL al redistribuir ( Qué es un trabajo derivado?) Integración completa sólo con software cubierto por licencias compatibles con la GPL Última versión: GPLv3 (desde 2007)
Licencias, licencias, licencias (cont.) 9 LGPL (Lesser GPL) Bibliotecas de la FSF (y mucho más). Pensada para permitir el uso de bibliotecas libres con software propietario (por ejemplo, en el caso de un compilador). Funciona como la GPL cuando se redistribuye la biblioteca como tal. Permite la integración con cualquier otro software. En este caso, no hay prácticamente limitaciones.
Licencias, licencias, licencias (cont.) 10 Otras licencias Artistic (Perl, similar a la de BSD). NPL (Netscape, incluye ciertos privilegios para el primer autor ). Ha evolucionado hacia la MPL (Mozilla) Apache (ASF, licencia permisiva). Versión 2.0 compatible con GPLv3. EUPL. Licencia robusta, promovida por la Comisión Europea, con traducciones válidas en los idiomas oficiales de la UE. http://en.wikipedia.org/wiki/category: Free_software_licenses
Licencias, licencias, licencias (cont.) 11 Licenciamiento dual Un autor puede distribuir diversas obras con distintas licencias Una nueva liberación (release) es una nueva obra En algunos casos, se distribuyen liberaciones que sólo difieren en la licencia Estrategia empleada por algunas empresas, en mayor o menor medida (ej: StarOffice/OpenOffice, Mozilla/Netscape Communicator, MySQL)
Licencias, licencias, licencias (cont.) 12 Para terminar Robustas: Tratan de maximizar las libertades que tiene el usuario del software, lo reciba directamente de su autor o no Permisivas: Tratan de maximizar las libertades del modificador o redistribuidor Es muy importante decidir pronto en la vida de un proyecto qué licencia va a tener lo que se produzca Tema abierto: qué licencia se aplica a las contribuciones externas?