Anatom?a de la Licencia Gubernamental de Software
Esta semana reci?n pasada se anunci? un esfuerzo emanado de la Secretar?a de Desarrollo Digital para generar un mecanismo m?s eficiente de licenciamiento de software por parte del gobierno. La cara visible de esta iniciativa es un borrador de la Licencia Gubernamental de Software (LGS), cuya motivaci?n y estructura fueron explicadas en una serie de talleres a la que se invit? a distintos actores relacionados con el tema digital en Chile. Aunque no estuve presente en los talleres, la licencia est? disponible en la red [PDF], lo que permite hacer una anatom?a preliminar de la LGS. Y este ejercicio revela que, como era de esperarse, crear una nueva licencia de software como esta no es cosa f?cil, y en este caso, huele a desastre.
Antes de partir, tenemos que entender que una licencia de software existe como un instrumento legal que permite usar y distribuir software. Aunque es posible usarla sin entender los objetivos que la inspiran, es ?til (sobre todo en este caso) tenerlos en mente. Varios de los que estuvieron presentes en los talleres me contaron que en el caso de la LGS estos objetivos incluyen ayudar a paliar problemas tales como la falta de consenso en la forma de licenciar software en el Estado, la imposibilidad de exportar soluciones producidas dentro del mismo, falta de protecci?n de derechos de autor, y la frecuente imposici?n de restricciones por parte de entidades que producen software para el estado.
La LGS se llamaba originalmente GPL-CL, y aunque el cambio de nombre es bienvenido (espero que esto est? claro despu?s de leer este art?culo), el nombre original revela inmediatamente la licencia de software libre en la cu?l la LGS esta basada. Pero la LGS es una derivada de la GPL que ha sido transformada significativamente al agregar, quitar o modificar secciones completas del original. Y estas transformaciones tienen consecuencias inesperadas, quiz?s incluso para sus autores.
La GPLv3 tiene un pre?mbulo, una secci?n de definiciones (o secci?n 0) y 17 secciones que fijan las reglas para distintos aspectos del uso y distribuci?n de software. Tomadas como un todo, la licencia tiene como objetivo defender las cuatro libertades definidas por Richard Stallman. La LGS, como ya dije, comparte mucho del texto de una traducci?n al espa?ol de la GPLv3, pero tiene diferencias importantes:
GPLv3 | Objetivo | ?Est? en la LGS? |
---|---|---|
Pre?mbulo | Principios de la GPL | No |
0 | Definiciones | Si, modificada |
1 | Definici?n de C?digo Fuente, c?digo objeto, fuente correspondiente, bibliotecas de sistema. | No (!!!) |
2 | Permisos B?sicos | Solo primer p?rrafo. |
3 | Protecci?n para evadir sistemas DRM. | No |
4 | Regula transmisi?n de copias exactas | Si, pero agrega requisito de enviar sugerencias a www.softwarepublico.cl si se encuentran problemas. |
5 | Transmisi?n de versiones modificadas del c?digo fuente. | Si, con modificaciones, siendo la principal enviar copias de modificaciones a www.softwarepublico.cl. |
6 | Transmisi?n de c?digos que no son c?digos fuente. | No |
7 | T?rminos adicionales. Restringe la habilidad de agregar condiciones onerosas a la GPL. | Si, pero limitada y no lista que condiciones son aceptables de agregar. |
8 | Cancelaci?n: establece condiciones en que se viola la licencia. | Si, pero limitada y modificada. |
9 | Aceptaci?n innecesaria para la posesi?n de copias. | Si, textual. |
10 | Traspaso autom?tico de licencia a destinatarios subsiguientes | Si, textual. |
11 | Patentes | No |
12 | Protecci?n de la libertad de terceros. Contratos u otras obligaciones no eximen cumplir con la licencia. | Si, textual. |
13 | Uso conjunto con la Licencia P?blica General Affero de GNU. | No |
14 | Revisiones de esta Licencia. | No |
15 | Ausencia de garant?as. | Si, textual. |
16 | Limitaci?n de la responsabilidad. | Si, textual |
17 | Interpretaci?n de las secciones 15 y 16. | Si, textual (pero no como secci?n independiente) |
Sin duda, tantas diferencias dan para mucha discusi?n, pero quiero por ahora enfocarme en tres puntos que me parecen esenciales y que ilustran que esta licencia tiene m?s probabilidad de generar m?s problemas que soluciones para el Estado chileno:
- La LGS crea un ecosistema semi-cerrado de desarrollo de software: aunque est? basada en una licencia de software libre, me parece indudable que la LGS es una licencia totalmente incompatible con la GPLv3 y otras licencias (no las m?s permisivas) similares. Mientras los autores de la GPLv3 hicieron un esfuerzo por aumentar la compatibilidad con otras licencias, la LGS va en direcci?n contraria. Entre otras cosas, esto implica que autores de software no podr?n tomar c?digo GPL de programas existentes y mezclarlos con c?digo LGS. Es por esto que el cambio de nombre no solo es bienvenido, sino inevitable.
- La LGS no permite la distribuci?n de c?digo objeto (es decir, ejecutables): La equivalente de la secci?n 8 impide la propagaci?n (es decir, distribuci?n) de software LGS en cualquier forma que no est? expl?citamente autorizada por la licencia. Ahora bien, la LGS solo regula y autoriza la transmisi?n de c?digo fuente, y no tiene una secci?n 6 (de la GPLv3) que regula la propagaci?n de c?digo objeto (es decir, programas compilados o binarios). Es decir, la LGS esta entonces prohibiendo la transmisi?n de este. En la pr?ctica, esto significa que no ser? posible para usuarios de la LGS publicar programas ejecutables, si no que cada recipiente deber? bajar el c?digo fuente y compilar sus propios binarios en su computador para poder usarlo. ?Un buen sistema para “exportar soluciones producidas en el Estado”?.
- El requerimiento de uso de un repositorio es oneroso y poco pr?ctico: Este punto es m?s de opini?n que otra cosa, pero me parece que la obligaci?n de enviar a un repositorio central reportes de problemas y versiones modificadas de c?digo fuente es tremendamente oneroso para cualquier usuario del software (pero ver punto 2), y probablemente crear? una pesadilla de mantenci?n del repositorio central. Es participaci?n forzada en el desarrollo del software.
Aunque no descarto que sea posible cambiar la licencia de modo de solucionar los problemas enumerados ac? (aunque no son los ?nicos),? me parece que la creaci?n de una licencia exclusiva para la producci?n de software en Chile es una p?sima idea, que sin solucionar los que el Estado ya tiene crear? una serie de problemas nuevos. Es de esperar que los autores del borrador de la LGS consideren ?stas y otras cr?ticas y decidan simplificar significativamente el proceso de licenciamiento mediante la adopci?n de una licencia existente (la GPLv3 es una excelente candidata) que conserve el esp?ritu de colaboraci?n y libre intercambio de informaci?n que sin duda los inspir? a escribir la LGS.