domingo, 30 de agosto de 2009

El Salón de la Vergüenza

Mucha gente conoce la licencia GPL (General Public License, Licencia pública general), la licencia de código abierto y software libre más famosa, distribuida, y que más programas protege y libera. Lo que no mucha gente sabe es que cualquier cosa que enlaces con la GPL tiene que ser GPL también, y eso es lo que muchos critican.

Pero también existe otra licencia, hermana de la licencia GPL, llamada LGPL (Lesser General Public License, Licencia pública general menor) que funciona igual que la GPL para la cuestión libertades, pero que permite enlazar código protegido con código LGPL. Esta distinción, en apariencia tan simple, es vital para el desarrollo de ciertas categorías de código abierto, como por ejemplo las bibliotecas (mal llamadas librerías, por venir del ingles Library).

¿Que es una biblioteca? Es una colección de llamadas a funciones (pequeñas porciones de código) que suelen estar relacionadas por el tipo de operaciones que realizan. Por ejemplo, las bibliotecas QT contienen funciones para la manipulación de ventanas, entonces en lugar de programar todo un sistema de ventanas, un programador puede usar esa biblioteca, llamando a las funciones que crearán las ventanas, y puede así centrarse en escribir el resto de la lógica del programa sin tener que además inventar un sistema de ventanas. Este sistema de bibliotecas es también muy común en lenguajes como Java, Python o todo el conjunto de lenguajes de la plataforma .net.

¿Cual es entonces la importancia de la LGPL? Sencillamente, mientras yo declare en la página y en archivos adjuntos del programa que uso bibliotecas LGPL y de enlaces para su descarga (aunque más no sea, a la página principal del proyecto), y mientras libere las modificaciones hechas al código de la biblioteca (no al mío), soy libre de usarlas en cualquier tipo de proyecto. De esta forma tanto los desarrolladores de la biblioteca como yo nos beneficiamos.

Es tan trivial realizar este tipo de cuestiones que no puedo entender las razones por las que compañía tras compañía se niegan a dar el crédito correspondiente y continúan utilizando código LGPL sin dar el crédito y los enlaces correspondientes. En unos pocos casos, puede deberse a ignorancia, o a algún programador que no informó lo que usaba, pero en otros es un uso descarado de algo gratuito en forma ilegal.

Una de esas situaciones está sucediendo con las bibliotecas FFmpeg, un set de funciones y programas dedicadas a mostrar y transformar video. Incluso puede manipular streams de video de entrada y de salida. Esta biblioteca es usada en montones de programas y dispositivos de reproducción de video, ya que provee las funciones base, dejando que los programadores se preocupen por implementar la interfase. Por ejemplo, es la biblioteca usada, entre otras, por el genial reproductor VLC (VideoLan). En este enlace pueden ver como la página del VLC da enlaces para las bibliotecas que usa, es tan simple como eso, con eso alcanza para cumplir con los requisitos de la LGPL.

Pero además de los programas o dispositivos que informan y dan los enlaces, hay un grupo bastante grande de empresas a las que se les ha detectado el uso de la biblioteca FFmpeg y no cumplen los requisitos. En lugar de hacer una demanda, como haría una empresa, la gente del software libre suele realizar pedidos a las empresas para que cumplan los requisitos, así todos obtienen lo que desean y nadie tiene que entrar en el sistema legal. Ante la profusión de estos casos y la negativa de algunas empresas, se ha comenzado una campaña llamada Hall of Shame (Salón de la Vergüenza).

Esta campaña consiste en publicar los nombres y enlaces a las compañías que se encuentran en falta, sacándolos cuando ya cumplen los requisitos. Es por eso que se solicita la publicación de enlaces a esta lista en la mayor cantidad de sitios posibles, para hacer una campaña de concientización. Agradezco a el sitio Pillate Un Linux por informarme acerca de esta campaña.

No hay comentarios:

Publicar un comentario