11 de Octubre, 2004

Licencias: GPL

Seguimos con la serie sobre licencias de Software. Ya hice una introducción, y hablé de dos licencias: MIT y BSD. Aunque en un principio esta iba a ser la última anotación sobre el tema, aun haré otra más donde comentaré muy por encima otras licencias que resultan interesantes pero que quedan fuera de mi planteamiento inicial.

Esta anotación se ha retrasado respecto a la periodicidad que estaba manteniendo con la serie. Ha sido debido a que hablar de la GNU General Public License (GPL de ahora en adelante) es algo complicado, y no he contado con mucho tiempo libre últimamente.

En primer lugar resaltar que la licencia GPL es una licencia de Software de tantas, aunque cuenta con copyright -lo que impide su modificación-. Aunque es cierto que la inmensa mayoría del Software GNU ("GNU's Not UNIX", un proyecto que nace en el '84 para desarrollar un sistema operativo estilo UNIX que sea completamente libre) es GPL, eso no quiere decir que todos los programas que usen la licencia GPL pertenezcan a dicho proyecto. Decir que un proyecto 'es GNU y por lo tanto gratuito' puede ser una doble incorrección: si solo nos referimos a la licencia será GPL, y en cualquier caso será Libre (en 'Software Libre y percepciones' describo algunas de estas inexactitudes).

En este caso no voy a reproducir la licencia aquí, alargaría demasiado este texto :P. En su lugar está este enlace a la licencia.

La licencia consta de tres partes diferenciadas: un preámbulo, la licencia propiamente dicha como vimos en las dos licencias anteriores, y un apéndice.

Vamos a comenzar por el final, ya que el preámbulo aporta la información necesaria para comprender la licencia. Recordemos que los artículos que estoy ofreciendo van más orientados a aclarar conceptos que a ser referencia :).

El apéndice explica como aplicar la licencia a nuevos programas. Se expresa de una forma clara y concisa los pasos que hay que seguir para que nuestro Software quede cubierto por esta licencia. Es una medida inteligente por parte de sus creadores, la FSF (o Free Software Foundation), ya que el bloque que describe la licencia es algo complicado de leer y entender. En mi opinión se consigue acercar bastante la licencia a los desarrolladores que no saben como distribuir sus trabajos de forma que sean Software Libre.

Por el mismo motivo el preámbulo es muy importante, ya que permite comprender los trece puntos de los que constan los términos y condiciones de la licencia, aunque en mi opinión resume demasiado.

En primer lugar nos introduce brevemente a las licencias y a lo que podríamos intuir como una primera definición de Software Libre, y se nos advierte que para proteger esa libertad hay que introducir ciertas restricciones que se traducen en una serie de obligaciones.

Estas obligaciones solo entran en juego si distribuimos o modificamos el Software licenciado GPL. La licencia no cubre el uso, solo la copia, distribución o modificación.

El preámbulo intenta resumirnos el efecto final de la licencia: si alguien que recibe un programa con esta cobertura, en caso de redistribuirlo, con o sin modificación, gratuitamente o a cambio de una cantidad, debe otorgar a los receptores todos los derechos que tiene. Debe, por lo tanto, permitir que se obtenga el código fuente de forma razonable, así como mostrar la licencia para que los receptores conozcan sus derechos y obligaciones.

También se tiene una previsión de ausencia de garantía ya que, como comentamos en su momento, el autor original no puede ser responsable de las modificaciones que hagan terceros.

Por último hay una disposición que impide que hayan patentes sobre programas licenciados GPL, para evitar que se use esa herramienta legal para cerrar el programa.

Con esto ya podríamos darnos por satisfechos, aunque la licencia da mucho más de si.

Por ejemplo, y es algo que como desarrollador me gusta mucho, en el punto 3 se obliga a que ante una modificación los ficheros alterados lleven anuncios claros indicándolo, así como la fecha del cambio. Esto permite hacer un seguimiento de los cambios en paquetes modificados.

El punto 5, muy importante, indica que no se puede copiar, modificar, sublicenciar o distribuir el Software excepto como indica expresamente la licencia, lo cual es una diferencia importante respecto a las licencias MIT y BSD. El Software GPL siempre será GPL, incluso trabajos derivados.

Esto hace que no sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.

Y para terminar, y no alargarme mucho más, apuntar que la FSF puede publicar revisiones de la licencia y que si el programa indica la versión de la licencia y la fórmula "cualquier versión posterior", el receptor de la licencia puede elegir usar esa versión o cualquiera de las versiones posteriores. Se supone que el fondo de la licencia se mantendrá en versiones posteriores, aunque puede haber cambios en la forma para solucionar nuevos problemas.

Citar programas bajo esta licencia es comprometido, de tantos y de importantes. Pero si elegimos un paquete, me quedo con el kernel Linux. Bueno, dos: la suite de compiladores GCC.

Anotación por Juan J. Martínez, clasificada en: licencias.

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: