Por qué no deberías usar la FDL de GNU

Publicada en Publicada en Antiguo Blog, Licencias

¿Cuál es el problema?

Si estás pensando en utilizar la FDL de GNU, es probable que quieras escribir documentación libre, adecuada para tu software de código abierto. La Free Software Foundation aconseja la versión 2 de su Licencia Pública General de GNU (GPL) para el software, y la llamada Licencia de Documentación Libre de GNU (GFDL) para la documentación.

Pero la GFDL no es una licencia libre al estilo de la GPL.

De hecho la FSF lo admite. Desde su punto de vista se necesitan distintas libertades para la documentación que para un programa. Yo, así como muchas otras personas que aprecian la importancia de la documentación, discrepo.

La cláusula DRM es demasiado amplia

En una versión anterior de este documento, escribí:

“Si utilizas la GFDL pero no incluyes secciones invariables, textos de portada, o una sección de “Reconocimientos” o “Dedicatoria”, entonces el resultado es libre.”

Sin embargo, desde entonces me han comentado otro problema. La GFDL dice lo siguiente:

“Usted no puede utilizar ningún tipo de medio técnico para obstruir o controlar la lectura o la copia adicional de las copias que realice o distribuya.”

Esta clausula se incluyó para atacar a los sistemas DRM1, pero es demasiado amplia. Se aplica también a copias realizadas de forma privada, sin propósito de distribución. “Medio técnico” no está definido. Además prohibiría realizar actividades como cifrar la copia, guardarla en un sistema de archivos cifrado, o incluso compartirla mediante un sistema de compartición de archivos sin utilizar permisos de lectura globales. Evidentemente esto no es libre.

Con un poco de suerte la FSF intentará arreglarlo en un futuro — en mi opinión, reemplazar “realice o distribuya” por “realice y distribuya” sería un buen principio.

Secciones invariables y problemas relacionados

El otro problema relacionado con las libertades viene dado por las reglas referentes a “secciones invariables”, “textos de portada”, “agradecimientos”, y “dedicatorias”. Éstas secciones no pueden modificarse, y tampoco pueden ser borradas. Las secciones invariables como su nombre indica no pueden modificarse libremente, por lo que no son libres en el sentido de “software libre” de la GPL. Debido a que son “secciones secundarias”, que están fuera de tema por definición, puede que a algunas personas no les importe demasiado.

Pero las secciones invariables y los textos de portada constituyen una restricción a la posibilidad de modificación del material técnico — la documentación — en cualquier documento cubierto por la GFDL, porque no podrán ser borrados, nunca. La documentación se mantiene como esclava de las secciones invariables para siempre. Esto hace que la documentación licenciada bajo la GFDL no sea realmente libre si incluye secciones invariables (en el sentido de “software libre” tal como se usa en la GPL).

Evidentemente no todas las restricciones sobre la modificación hacen que un trabajo no pueda considerarse libre; algunas son triviales. (El requisito de acompañar cualquier versión del trabajo con avisos de derecho de autor precisos y copias de la licencia, por ejemplo, es una restricción trivial). Pero ésta no es una restricción trivial; es una bastante problemática por varias razones:

  • Estas forzado conservar secciones invariables imprecisas (o textos de portada, o dedicatorias).
  • Estas forzado a conservar secciones invariables obsoletas (o textos de portada, o dedicatorias).
  • Estas forzado a conservar secciones invariables técnicamente inapropiadas o textos de portada, etcétera. (Me habían informado de que esto había ocurrido con la Wikipedia, pero parece ser que mi información no era del todo correcta.)
  • Estas forzado a conservar secciones invariables incluso en medios en los que nos encontramos restringidos en espacio (como una tarjeta de referencia). (El presidente de la FSF comenta que este problema podría ser resuelto facilmente acompañando la tarjeta de referencia con un “Segundo volumen” que contuviera las secciones invariables. Ésta es, sin embargo, una interpretación muy cuestionable del texto de la licencia.)
  • Estas forzado a conservar secciones invariables sin traducir en una traducción.
  • No puedes utilizar material del documento en cuestión para un nuevo texto cuyo tema principal sea el de una sección invariable (dado que se requiere conservar la sección invariable, y que esta tenga carácter secundario, pero en este caso ya no sería secundaria).
  • La sección invariable se “hincha”. La respuesta natural a varios de los problemas anteriores es añadir nuevas secciones invariables, diciendo “Pienso que la sección invariable es inexacta / está obsoleta / es ofensiva” o “Ésta es una traducción de la sección invariable”. Éstos textos se acumulan y a su vez también serán inamovibles.

Debido a que la GFDL con secciones invariables o textos de portada no es libre, el proyecto Debian está retirando de Debian todos los manuales bajo esta licencia. Así que si quieres que tu manual llegue a Debian, no deberías usar la GFDL.

Más allá del hecho de no ser libre, la GFDL tiene otros problemas prácticos adicionales bastante serios:

  • Es incompatible con la GPL en ambas direcciones. Esto implica que legalmente no puedes extraer el texto de un manual bajo licencia GFDL y ponerlo en la ayuda integrada de un programa GPL. Y no puedes extraer código o comentarios de un programa GPL y ponerlo en un manual GFDL. (Sin conseguir permiso explícito para volver a licenciar la obra de cada colaborador que cuente con derechos de autor sobre esta.)

Entonces, ¿qué debería hacer?

Hemos llegamos a la conclusión de que la GFDL no es una licencia muy adecuada para manuales de programas libres. Yo recomendaría que utilizaras la misma licencia que tiene el programa; lo cual puede evitarte algún que otro problema desagradable en un futuro.

  • Para programas GPL, licencia el manual usando la GPL. Con una licencia como la GPL que hace referencia explicitamente a “Código fuente” y a “Código objeto”, puede que quieras añadir una nota junto al copyright para aclarar qué consideras que es el “Código objeto” en ese contexto. (La definición de “Código fuente” de la GPL es suficientemente amplia para cubrir cualquier propósito, aunque puede que también quieras añadir una aclaración.) Por ejemplo, si tuvieras un manual en formato texinfo, podrías escribir algo así: Para el propósito de la aplicación de la GPL a este documento, considero que el término "Código fuente" se refiere al código texinfo y "Código objeto" a los archivos info, tex, dvi, y Postscript generados.
  • Si no te importa que la gente cree versiones propietarias de tu manual, puedes utilizar una licencia más permisiva, no copyleft, como la licencia de X11. (La licencia de X11 menciona el tema de la documentación explícitamente.)
  • Si tienes que usar la GFDL por alguna razón en concreto, aplica ambas licencias al documento, también la del programa.

¿La GFDL no es igual que la GPL?

Algunas personas se preguntan, “¿Por qué la GPL no causa los mismos problemas? También establece restricciones sobre la clase de modificaciones que se pueden distribuir.” En este caso sólo hay dos cláusulas de la GPL que nos interesen:

  • La cláusula 2(a) de la GPL parece requerir que cada archivo contenga un registro de cambios. Esto indudablemente supondría un problema, pero generalmente se interpreta que esta cláusula se refiere a que el conjunto de los archivos debe estar acompañado de un registro de cambios. (De hecho, solamente se requiere que la última persona que modifique el programa incluya los cambios más importantes, ya que se permite que la última persona elimine todas las anotaciones anteriores del registro.) Además, se interpreta que la cláusula 2(a) tan sólo se aplica para el código fuente, no para archivos de código objeto (que sería muy engorroso y podría causar múltiples pesadillas técnicas). Esta restricción pasa por ser entonces una restricción trivial.
  • La cláusula 2(c) de la GPL impone una restricción sobre la forma en la que podemos modificar un programa. De hecho esta cláusula es bastante polémica. Sin embargo, solamente es aplicable si el “programa modificado lee comandos de forma interactiva durante su ejecución”, y este programa se basa en uno anterior licenciado bajo GPL, y este programa anterior exhibía un anuncio de copyright. La mayor parte de los programas disponibles actualmente bajo GPL no “leen comandos de forma interactiva durante su ejecución”, y la mayor parte de los que lo hacen, no muestran un anuncio de copyright. Incluso cuando esta cláusula es aplicable, no es una restricción demasiado rígida, y solamente requiere mostrar unos mínimos avisos legales. (Sin embargo, siempre recomiendo no mostrar esta clase de avisos en una aplicación GPL, para no forzar a las personas que modifiquen el código a tener que hacerlo.) Estos textos contrastan con las secciones invariables de la GFDL, las cuales son potencialmente ilimitadas.
  • El prólogo de la GPL es un texto no modificable, parecido a una “sección invariable”. Sin embargo, se trata de un texto de licencia, que existe principalmente por motivos legales, por lo que merece un trato especial. Incluso el prólogo tiene efectos legales ya que indica la interpretación apropiada de los términos y las condiciones. Además se trata de un único texto, en contra de una colección potencialmente ilimitada de secciones de texto invariable. Además, el texto de la GPL sigue siendo válido sin necesidad de incluir esta sección (como así lo indica la FSF en algún lugar de su página web), mientras que los documentos GFDL con “secciones invariables” nunca pueden perderlos.

¡Esto no tiene nada que ver con la distorsión!

Algunas personas creen que las secciones invariables son necesarias aunque sólo sea para impedir que otras personas distorsionen sus opiniones. Nada más lejos de la realidad.

  • Distorsionar la opinión de alguien para beneficio propio se conoce como fraude, es ilegal, y no tiene nada que ver con los derechos de autor.
  • Distorsionar la opinión de alguien para dañar su reputación es difamación. Es ilegal, y no tiene nada que ver con los derechos de autor.
  • Hacer pasar el trabajo de otra persona como propio es algo deshonesto; y si existe el propósito de lograr beneficios a partir de este trabajo, se trata de fraude.

Si aún así te preocupa no recibir el reconocimiento que mereces, existen muchas licencias libres que incluyen cláusulas de reconocimiento, incluyendo la GPL, y son perfectamente aceptables.

Si quieres añadir unas líneas en tu licencia que indiquen que “Esta licencia prohibe explicitamente distorsionar mi opinión, cometer fraude, o engañar a alguien deliberadamente”, hazlo. El resultado sigue siendo perfectamente libre. De hecho ni si quiera es una condición adicional, así que podrías utilizar perfectamente la GPL.

Si aún así te preocupa que distorsionen tu opinión, puedes añadir una cláusula más: Todas las versiones modificadas deben indicar que no representan necesariamente las opiniones de [el autor original]. El resultado es perfectamente aceptable y libre.

Pero la GFDL va mucho más allá. Por ejemplo lo siguiente no estaría permitido, al tratarse el manifiesto GNU de una sección invariable del manual de Emacs:

El Manifiesto Foo, por el Sr. Foo

Este documento está basado en el manifiesto GNU, de Richard Stallman, pero no representa necesariamente sus opiniones.

Las secciones invariables de la GFDL prohiben las modificaciones. Probablemente sólo quieras impedir que las versiones modificadas finjan ser tu versión, y obtener el crédito correspondiente como escritor del original. Pero lo puedes lograr más facilmente con otras licencias mejores y más libres.


  1. Digital Rights Management o Gestión de derechos digitales
Esta obra se encuentra bajo el Dominio Público

Por Nathanael Nerode

Traducción al español por Raúl González Duque el día 13 de Febrero de 2006

  • Una duda:

    ¿En qué te basas para decir semejante afirmación?:

    “Es incompatible con la GPL en ambas direcciones”

    Gracias

  • Yo no he hecho esa afirmación. El artículo que se encuentra en Dominio Público fue escrito por Nathanael Nerode y traducido por Raúl González Duque tal y como cito al pie de este.

    Yo simplemente buscaba en la red si podía mezclar un documento FDL con otro GPL y esto fue lo que me encontré. Si tu me dices que son compatibles, para mí mejor que mejor.