GPLv3: A un dÃa de ver la luz

La Free Software Foundation acaba de anunciar que el dÃa de mañana, 29 de Junio del 2007, se lanzará la versión final de la licencia GPLv3. El proceso culminará luego de 18 meses de intenso trabajo. Gracias al trabajo de los máximos responsables de la iniciativa Richard Stallman y Eben Moglen, junto a miles de personas de la comunidad, han hecho posible esta nueva versión.
Mas alla de la creacion de una licencia mejorada, el proceso de creacion de la version 3 a ayudado a resaltar asuntos vitales para la comunidad de usuarios de Software Libre.
El evento de lanzamiento sera transmitido para todo el mundo mediante videoconferencia.
Aprovecho además para publicar por este medio uno de mis trabajos sobre GPLv3, ya publicado en varias publicaciones internacionales y del paìs. El mismo explica los puntos más importantes de la nueva versión y el rol estratégico-polÃtico de la aplicación de licencias libres a nuestras obras creativas.
Bases constitutivas
Cuando en 1984 Richard Stallman dió inicio a GNU, el proyecto más importante del Software Libre, puso en práctica las ideas y metodologÃas que hoy en dÃa comparten millones de personas entorno a las comunidades de la Cultura Libre. Sin embargo, su convicción en el compartir software y practicar activamente la libertad no surgió en su mente como producto de algún tipo de inspiración divina. No. Richard no invento las ideas con las que concibio al “Software Libre” sino que definió este concepto de una forma especÃfica: tomó los principios básicos que conformaban la lógica de la cultura hacker del que era parte y al verse extinta esta forma natural de concebir “las cosas” (estamos hablando mucho más que de software, debemos comprender que el verdadero valor esta centrado en el conocimiento mismo, en la expresión cultural. En este caso preciso, efectivamente el software) dio origen a la definición.
Es entonces que se esgrimieron las famosas y siempre bien ponderadas “libertades del Software Libre”, condiciones y pilares básicos para determinar concretamente que pieza de software respeta las libertades del usuario y cual no. Entonces, porque nunca está de más repetirlas, vuelvo sobre las, ya conocidas por el lector, libertades:
- [Libertad 0] Ejecutar el software de la forma y para el fin que uno prefiera
- [Libertad 1] Estudiar y modificar el código fuente
- [Libertad 2] Copiar y distribuir el software libremente
- [Libertad 3] Distribuir los cambios y mejoras realizados al software
Ahora, ¿cómo se especifican e implementan concretamente? A través de textos legales: licencias. Debemos especificar mediante el uso de una licencia que reglas gobernarán nuestro software, que usos permitiremos y cuales no.
Es en este punto que aparece la GNU GPL (General Public License), la licencia original del proyecto GNU y en la que se sustentan legalmente más del 70% de las aplicaciones que conforman el universo libre del software.
GPL y la ecologÃa de las licencias libres
Básicamente podemos decir que, más allá de su amplia difusión, la GPL tiene el mérito de haber introducido el concepto de Copyleft; la esencia fundamental de la transmisión de la libertad. Una licencia del tipo Copyleft se caracteriza por respetar las 4 libertades ya mencionadas y determinar 2 clausulas mÃnimas cuando se va a distribuir el software: exigir la atribución al autor original y determinar que el software mismo o un derivado de este, debe ser distribuido bajo las mismas condiciones de licencia. Es por esta última condición que me refiero a una “trasmisión de la libertad”.
La definición del Software Libre queda entonces instaurada, las condiciones establecidas permiten a cualquiera crear un licencia compatible con la GPL, por eso decimos que se trata de una “licencia de Software Libre”. Por esta razón existen múltiples textos legales pensados para respetar las libertades en el software. Nótese que me refiero a “respeto” a la libertad y no “otorgamiento”: se suele confundir conceptualmente la forma en que actuan las licencias libres de software atribuyéndoles la capacidad de darnos [otorgarnos] la libertad, mientras que esas libertades y “facilidades” son intrÃnsecas al uso del software.
Dentro del gran repertorio de licencias libres existentes, desde GNU pensamos y clasificamos las mismas segun su grado [fuerte-débil-nulo] de proximidad a las ideas del Copyleft. De allà surgen las diferencias con licencias del tipo BSD o X11 que, si bien son libres, tienen una finalidad diferente [difusión-popularidad] a la GPL [libertad].
Una vez comprendidos los fundamentos de la GPL podemos adentrarnos en su actualidad, entender con mayor claridad cuales son los desafÃos presentes y las motivaciones para llevar adelante un proceso de actualización luego de 15 años sin cambios en la licencia.
Hacia la tercera versión
Los tiempos cambiaron, el software libre creció y evolucionó al estado presente, pero no solo los libertarios se movieron en estos años, sus enemigos cambiaron también: leyes, patentes y nuevas herramientas para combatir esta libertad que hoy más que nunca debemos defender.
Con esta motivación, impulsada por la necesidad de adecuarse a nuevas problemáticas se ha lanzado el proceso de actualización de la GPL. Los cambios a implementar en la nueva versión tienen que ver con lo técnico y lo jurÃdico, con nuevos problemas sumados por la “puesta a prueba” que desafÃan a la licencia. En lo que sigue me dedicaré a analizar cada uno de los puntos fundamentales contenidos en la actual discusión. Antes es importante aclarar la condición cambiante de los sucesivos borradores y la transparencia que se la ha dado a todo el proceso desde la FSF. Se estima que tendremos una versión final del texto en los comienzos del año 2007 en un evento oficial que llevará a Richard Stallman, Eben Moglen (los mayores responsables del proceso) y otras autoridades involucradas, a la reunión culminante en EE.UU (luego de haber pasado por Brasil, España, India y Japón). Este hecho tendrá lugar el dÃa de mañana.
Cambios introducidos
Los cambios introducidos en la tercera versión son producto de los lineamientos básicos del proceso (las motivaciones/necesidades originales) y los aportes de los colaboradores.
Veamos uno a uno los diferentes aspectos que conforman la actualización.
Internacionalización
La amplia difusión e implementación a nivel global de la licencia presenta el desafÃo de maximizar los grados de compatibilidad con los diversos marcos regulativos nacionales. Los paÃses firmantes del Convenio de Berna (1979), el tratado internacional que reconoce los derechos del autor, gozan de particularidades en sus jurisprudencias con lo cual es necesario repensar ciertos aspectos del texto de la GPL para conseguir la mayor compatibilidad posible.
Contrariamente a la metodologÃa de adopción local usada por otras licencias libres (como Creative Commons), la GNU GPL busca ser lo más global e internacional posible.
Para conseguir esto ha sido necesario considerar las diferencias entre las implementaciones en diferentes paÃses. La terminologÃa usada para referirse al accionar sobre el software ha sido reformulada por constituir un eje central en el camino hacia la constitución de una licencia más eficiente e inteligente. Veamos esto con más detalle.
El concepto de ‘Distribución’ se ha bifurcado en ‘to propagate’ y en ‘to convey’ (este segundo termino algo dificÃl de llevar a nuestro idioma con claridad).
El primero refiere a la “propagación” de la obra lo cual enmarca todo aquello que normalmente podemos hacer con el permiso del autor o derechohabiente, excepto ejecutarla en una computadora o efectuar copias privadas.
El segundo término introducido determina que la propagación termina en la entrega del programa a terceros, la expresión de ‘conveying’ refiere a las condiciones fijadas para la redistribución del software.
Ambos términos quedan definidos en la GPLv3 por lo que no importa como se refieran los marcos jurÃdicos de cada paÃs a estas cuestiones, la licencia impone sus propias definiciones.
Defensa contra patentes de software
Muchos lectores conocerán ya el peligro que representan las patentes de software (más allá de que sea libre o no), aunque podemos decir que no solo son nocivas sino que resultan ilógicas y que atentan contra la forma de producir/crear software. De todas formas no profundizaré sobre el tema en este momento, posiblemente en proximas ediciones de esta misma sección sobre Cultura Libre abordaremos el tema como es debido. Por el momento nos limitaremos a analizar la forma en que la GPLv3 busca enfrentar la problemática. Debemos comprender que al ser solo una licencia, la GPL no puede intentar erradicar las patentes de software en los sistemas legales donde son vigentes, sino que pretende hallar la forma más inteligente para alejarlas del software libre.
En primer lugar la aceptación de los términos de esta nueva versión determina que quien distribuye el software ‘promete’ no hacerle juicio por patentes a un tercero (quien recibe una copia del software). En el mismo punto, el ArtÃculo 11, establece la ‘promesa’ de velar por los “downstream usersâ€?. La idea es que el tenedor de patentes que distribuye software bajo GPL al aplicar la licencia concede además una licencia de patentes al receptor (mas alla del marco legal en el que se encuentre). Ademas, al referirse a los “downstream usersâ€?, pretende imponer una protección sobre los usuarios que reciban copias directamente o indirectamente del software y exige que el distribuidor/poseedor de la patente proteja a los usuarios/destinatarios/receptores de posibles demandas por violación de patentes.
De forma complementaria la licencia concibe otras particularidades sobre el tema patentes:
En el ArtÃculo 7 en su punto 5 determina la posibilidad de imponer represalias contra patentes por parte del distribuidor.
En el ArtÃculo 2 sobre “Permisos Básicosâ€? el texto aclara que el uso ilimitado del software, los permisos para modificar y ejecutar en forma privada son válidas a menos que se inicie “pleito por violación de patentes contra alguien por hacer, usar o distribuir sus propias obras basadas en el Programa.â€?
La condición “Libertad o muerteâ€? del Articulo 12[7] determina que si al distribuidor del software se le imponen condiciones (de cualquier tipo) que van en contra de las establecidas en la GPL (por ejemplo una licencia de patentes impide la distribución libre de regalÃas), se deberá abstener completamente de la distribución.
DRM / Tivoisación
Los sistemas DRM (Digital Rights management) representan una amenaza directa contra el Software Libre y la necesidad de accionar por parte de la comunidad (y de todos los actores de la cultura) para detenerlos ya que constituyen una amenaza para la forma en que tradicionalmente hemos creado, compartido y recreado en tiempos de la “Era Digital�.
El tema se hace presente no solo en lo técnico sino también en lo legal: la GPLv3 contempla el problema de los DRM ya que ha sido violada indirectamente por el uso de los mismos. Me refiero al caso particular que dió origen al término “Tivoisación� (acuñado por Richard Stallman) para definir el emblemático caso de TiVo:
el mismo era un producto de hardware para la captura de video con una versión de Linux embebida. Como lo establece la licencia GPLv2, el código fuente era distribuido y era posible efectuar modificaciones sobre el mismo. El problema surgia al intentar ejecutar el software con nuestras modificaciones en la arquitectura del TiVo: simplemente al hacerlo no funcionaba. El TiVo estaba diseñado para ejecutar solo el software suministrado por los fabricantes, el cual estaba firmado con una clave que solo ellos poseÃan. Esta clave no era distribuida con el producto ya que las condiciones de licencia no lo determinaban asÃ, resultaba entonces una forma inteligente de violar indirectamente las condiciones de la GPLv2: se respetaban todas sus condiciones, pero la Libertad 0 no era realmente aplicable. Un auténtico problema, una trampa a la GPL. Conociendo la experiencia de TiVo, la nueva versión de la licencia exige, además del código fuente, las claves de cifrado para aplicar sobre los ejecutables para que los mismos funcionen a pesar de ser obras modificadas.
Además existe una segunda referencia a los DRM (denominadas Medidas Técnicas de Protección Efectiva en el plano legal) que está pensada para evadir las penalidades que imponen leyes como DMCA (EE.UU.) o DAVDSI (Francia) a quienes modifican o intentan evadir estas medidas de protección. La solución para que los usuarios/desarrolladores de software libre no sean criminalizados por hacer uso de su libertad es realmente elegante: se incluye la declaración que dictamina que el software bajo GPLv3 “no constituye parte de una medida efectiva de protección tecnológica�.
Otras caracterÃsticas
Otra de las motivaciones para la nueva versión es el hacer a la GPL más compatible con otras licencias de sofware libre ampliando su grado de flexibilidad para con sus usuarios. Concretamente las secciones de “Permisos adicionales� y “Requisitos adicionales� han sido variados para ampliar la compatibilidad y permitir que las particularidades agregadas por un desarrollador se mantengan en la distribución.
La GPLv3 pone especial atención sobre las redes de distribución de pares (P2P) ya que constituyen un recurso fundamenal para la propagación del software libre. Con respecto a las redes P2P la licencia menciona_
Es posible distribuir el código objeto/binario sin las fuentes incluidas, pero especificando donde se encuentra disponible el código fuente.
La propagación de una obra en el medio P2P no requiere la aceptación de la licencia.
La licencia de todos
Para finalizar el artÃculo considero esencial recapitular sobre el valor de la GPL para el Software Libre y la importancia de la intervención de todos los actores de la comunidad [usuarios-desarrolladores] en el proceso de actualización: más allá de la complejidad y particularidad del mismo es vital que quienes usan y construyen se interioricen en el tema. Comprender, estudiar y aportar a GPLv3 constituye una forma concreta de desarrollar la conciencia futura que sera necesaria para defender nuestra libertad en todas sus formas. El camino hacia la tercera versión de la GPL ha sido abierto y democrático desde un comienzo, valorar esta posibilidad y no dejar las grandes decisiones en pocas manos es la manera de no repetir viejos errores.

