¿Por qué actualizar a la versión 3 de la GPL?
por Richard StallmanSe ha publicado la versión 3 de la Licencia Pública General de GNU (GNU GPL), lo que permite actualizar los paquetes de software libre que se encuentran bajo la versión 2 de la GPL. Este artículo explica por qué es importante actualizar la licencia.
En primer lugar, es importante tener en cuenta que la actualización es optativa. La versión 2 de la GPL seguirá siendo una licencia válida, y no ocurrirá ningún desastre si algunos programas permanecen bajo la versión 2 mientras otros pasan a la versión 3. Aunque estas dos licencias son incompatibles, no se trata de un problema grave.
Decir que las versiones 2 y 3 de la GPL son incompatibles significa que no existe ninguna forma legal de combinar código cubierto por la versión 2 con código cubierto por la versión 3 en un mismo programa. Esto se debe a que tanto la versión 2 como la versión 3 de la GPL son licencias con copyleft. Ambas dicen: «Si se incluye código bajo esta licencia en un programa más grande, el programa más grande también debe estar bajo esta licencia». No hay manera de volverlas compatibles. Podríamos añadir en la versión 3 una cláusula de compatibildad con la versión 2, pero no serviría de nada, ya que en la versión 2 tendría que haber una cláusula similar.
Afortunadamente, la incompatibilidad de licencias solo importa cuando se desea vincular, fusionar o combinar código procedente de dos programas diferentes en un solo programa. No acarrea problema alguno el hecho de que en un sistema operativo haya programas cubiertos por la versión 3 junto a programas cubiertos por la versión 2. Por ejemplo, la licencia TeX y la licencia Apache son incompatibles con la versión 2 de la GPL, pero eso no nos impide ejecutar TeX y Apache en el mismo sistema con Linux, Bash y GCC. Esto se debe a que todos ellos son programas independientes. Del mismo modo, si Bash y GCC se cambian a la versión 3 de la GPL, mientras que Linux permanece bajo la versión 2, no hay problema.
Dejar que un programa permanezca bajo la versión 2 de la GPL no generará problemas. La razón por la que vale la pena actualizarla es que la versión 3 resolverá problemas existentes.
Un peligro importante que la versión 3 de la GPL impedirá es la «tivoización». La «tivoización» significa que ciertos aparatos con ordenadores internos contienen software cubierto por la GPL que en la práctica no se puede cambiar, porque el aparato se apaga si detecta software modificado. El motivo habitual para la «tivoización» es que el software posee funcionalidades que la gente querrá cambiar, el fabricante lo sabe e intenta impedir esos cambios. Los fabricantes de estos ordenadores sacan partido de la libertad que proporciona el software libre pero no permiten que el usuario haga lo mismo.
Algunos sostienen que la competencia entre aparatos en un mercado libre debería bastar para que la proporción de funcionalidades nocivas sea menor. Tal vez esta competencia por sí sola evite funcionalidades arbitrarias y sin sentido como «debe apagarse entre las 13:00 y las 17:00 todos los martes», pero, aun así, poder elegir a un amo no implica libertad. Libertad significa que el usuario controla lo que hace el software, no meramente que puede suplicar o amenazar a quien toma las decisiones por él.
En el área clave de la gestión digital de restricciones (DRM: funcionalidadess nocivas diseñadas para restringir el uso de los datos en el ordenador del usuario) la competencia no sirve de ayuda, pues la competencia que interesa está prohibida. En virtud de la Ley de Copyrignt de la Era Digital (DMCA) y otras leyes similares, en Estados Unidos y en muchos otros países es ilegal distribuir reproductores de DVD a menos que restrinjan al usuario de acuerdo con las reglas oficiales de la «conspiración del DVD» (aunque las reglas no parecen estar publicadas en el sitio web: www.dvdcca.org/). El público no puede rechazar el DRM comprando reproductores que no estén sujetos a DRM porque estos no existen. Poco importa la cantidad de productos entre los cuales se pueda elegir, todos tienen «esposas digitales» similares.
La versión 3 de la GPL nos garantiza que podemos librarnos de esas esposas. No prohíbe el DRM ni ningún tipo de funcionalidad. No pone límites a las funcionalidades relevantes que se pueden agregar o eliminar de un programa. Lo que hace es garantizar al usuario la misma libertad para eliminar funcionalidades nocivas que el distribuidor de su copia tuvo para agregarlas. La «tivoización» es la forma en que se niega esa libertad; la versión 3 de la GPL prohíbe la «tivoización» para proteger la libertad.
La prohibición de la «tivoización» se aplica a cualquier producto cuyo uso por parte de los consumidores sea probable, aun de manera ocasional. La versión 3 de la GPL tolera la «tivoización» solo para productos que están destinados casi exclusivamente a empresas y organizaciones.
Otra amenaza de la que nos defiende la versión 3 de la GPL es la de acuerdos de patentes tales como el pacto Novell-Microsoft. Microsoft quiere utilizar sus miles de patentes para que los usuarios le paguen por el privilegio de ejecutar GNU/Linux, y firmó ese pacto para tratar de conseguirlo.
Microsoft cometió algunos errores en el pacto con Novell, y la versión 3 de la GPL está diseñada para aprovecharlos y volverlos contra Microsoft, extendiendo a toda la comunidad esa limitada protección contra las patentes. Para sacar partido de esta protección, los programas tienen que estar bajo la versión 3.
Los abogados de Microsoft no son estúpidos, y puede que la próxima vez eviten esos errores. Por ende, la versión 3 de la GPL dice que no habrá una «próxima vez». La publicación de un programa bajo la versión 3 de la GPL protege de futuros intentos de Microsoft para que los redistribuidores les cobren sus regalías a los usuarios del programa.
La versión 3 de la GPL también brinda a los usuarios protección explícita contra las patentes de los desarrolladores y distribuidores del programa. Con la versión 2, los usuarios dependen de una implícita licencia para patentes a fin de asegurarse de que la empresa que les proporciona la copia no los demandará por violación de patentes, ni a ellos mismos ni a quienesquiera que estos transfieran copias.
La licencia explícita para patentes de la versión 3 de la GPL no tiene tanto alcance como nos hubiera gustado. Lo ideal sería que todos los que redistribuyen código bajo la GPL abandonaran completamente las patentes de software, y que todos aquellos que no redistribuyen código bajo la GPL hicieran lo mismo, porque las patentes de software no deben existir. Las patentes de software conforman un sistema vicioso y absurdo que pone a todos los desarrolladores de software en peligro de sufrir demandas por parte de empresas de las que nunca oyeron hablar, así como por parte de todas las megacorporaciones del sector. Los programas grandes suelen combinar miles de ideas, de modo que no es de extrañar si implementan ideas que aparecen en cientos de patentes. Las megacorporaciones acumulan miles de patentes y las usan para intimidar a desarrolladores más pequeños. En la actualidad las patentes ya están poniendo trabas al desarrollo del software libre.
La única manera de dar seguridad al desarrollo de software es abolir las patentes de software, y nuestro objetivo es lograrlo algún día. Pero no podemos lograrlo por medio de una licencia de software. Cualquier programa, libre o no, puede ser aniquilado por una patente de software en manos de un tercero sin vínculo alguno, y la licencia del programa no puede evitarlo. Solo decisiones judiciales o cambios en la ley de patentes pueden conseguir que el desarrollo de software tenga seguridad frente a las patentes. Si hubiésemos tratado de llevar esto a cabo con la versión 3 de la GPL, habríamos fracasado.
Por lo tanto, la versión 3 de la GPL busca limitar y encauzar el peligro. Hemos tratado especialmente de salvar el software libre de un destino aún peor que la muerte: convertirlo en la práctica, a través de las patentes, en software privativo. La licencia explícita para patentes de la versión 3 garantiza que las empresas que usan la GPL para otorgar a los usuarios las cuatro libertades no puedan dar un giro y servirse de sus patentes para espetar a algunos usuarios: «eso no lo incluye a usted». También les impide confabularse con otros poseedores de patentes para lograrlo.
Otras ventajas de la versión 3 de la GPL incluyen una mejor internacionalización, condiciones para la anulación más permisivas, soporte para BitTorrent y compatibilidad con la licencia Apache. En suma, pues, hay muchas razones para actualizarse.
Es poco probable que no haya más cambios una vez que se publique la versión 3. Si surgen nuevas amenazas a la libertad de los usuarios, tendremos que desarrollar la versión 4 de la GPL. Es importante asegurarse de que los programas no tengan problemas para actualizarse a la versión 4 si alguna vez publicamos esa versión.
Una forma de conseguirlo es publicar los programas con el rótulo «GPL versión 3 o cualquier versión posterior». Otra forma de hacerlo es que el conjunto de colaboradores de un programa faculte a otra persona para que pueda decidir sobre la actualización del programa a futuras versiones de la GPL. Y una tercera forma es que todos los colaboradores cedan el copyright a un titular de copyright designado que estará habilitado para actualizar la versión de la licencia. De un modo u otro, los programas deben brindar esta flexibilidad para futuras versiones de la GPL.