30.01.06

Objetivos de GPLv3 con respecto a DRM

Posted in DRM, FLOSS, Legal, Uncategorized at 1:21 pm by Jens Hardings

Ricardo Galli, en un intento por explicarme los objetivos y la forma en la cual el draft de la GPLv3 ataca el DRM, repite los objetivos de las cláusulas y cómo se espera que funcionen. No tengo dudas con eso, lo que yo planteo es que los objetivos no se cumplen, porque las cláusulas no funcionarán. Me hubiese gustado que se refiriera al ejemplo que planteo en el post que motivó su respuesta, así que replanteo los temas:

  • Me imagino que un sistema que entrega llaves para decriptar contenido (como un e-mail encriptado) a un programa en base a algún criterio, y si no cumple con ese criterio (por ejemplo, confianza en que no reenviará ese e-mail decriptado a toda la dirección en la agenda) no se le entrega la llave, debiera poder licenciarse bajo GPLv3.
  • Un criterio bien puede ser que exista una firma del binario por alguien que certificó el programa, sea el usuario mismo o alguien externo.

Si parece aceptable un esquema así, entonces es aceptable que ese programa esté en un sistema de DRM, y con eso no se logra el objetivo de desincentivar el uso de software libre en sistemas con DRM. Pero supongamos que no se considera aceptable el esquema. En tal caso, tampoco sería aceptable el sistema de manejo de mails encriptados que describí en el artículo anterior. Eso limitaría el campo de acción de cualquier programa derivado de código GPLv3, que es una consecuencia poco afortunada por decir lo menos.

Veamos entonces en qué nos afectaría la redefinición de “código fuente”. El sistema que menciono en el post anterior permite que se instale cualquier programa sin necesidad de una llave. Tampoco se requiere una llave para la ejecución del software. Simplemente, cuando se ejecuta un software no firmado (o el sistema operativo, o cualquier programa en la cadena, no está firmado), no se tiene acceso a ciertas llaves de decripción. Por lo tanto, el objetivo de “evitar el recorte de las libertades por mecanismos de hardware” no se cumple, y tampoco se cumple el “desincentivar sino impedir el uso de software libre en sistemas con DRM”.

Lo que nos resta es entonces que cualquier esquema de DRM no puede contener directamente ningún código que esté licenciado bajo GPLv3. Cualquier fabricante tendría por lo tanto que desarrollar su propio driver y software de manejo de claves para poder utilizar DRM, y sobre eso instala sin problemas software GPL. Vale la pena el costo que se está asumiendo solamente para obligar a algunos fabricantes a desarrollar su propio software? Sobre todo considerando que es muy poco probable que esos fabricantes ocuparan software GPL para eso, me parece que no.

Cuál es el costo del que hablo? Pues que muchos evitarán utilizar esa versión de la GPL por no estar de acuerdo. Y de paso, la GPL se estará “ensuciando” al salirse del marco técnico y definiendo qué cosas no se pueden hacer con el software. Comenzamos con “no se puede utilizar en sistemas DRM”, pero por favor cuál es exactamente la diferencia con “no se puede utilizar en la creación de material pornográfico”, “no se puede utilizar para generar documentos con errores de ortografía” o “no se puede utilizar para publicar ideas que vayan en contra del gobierno chino”?

RSS feed for comments on this post. TrackBack URI

7 Comments »

  1. ricardo galli said,

    January 30, 2006 at 1:44 pm

    Es que no te entiendo que quieres decir.

    “Me imagino que un sistema que entrega llaves para decriptar contenido”ç

    ¿Qué significa eso? ¿qué tiene que ver con la obligación de entregar al usuario las claves que permitan hacer _funcionar_ a cualquier programa? Si las claves no se entregan al usuario y se le entrega un dispositivo con software GPL3 estaría violando la licencia. La palabra clave es hacer “funcionar”, y si esas claves son definidas como parte del código fuente, deben estar disponibles por los medios “razonables” que especifica la licencia GPL para el código fuente.

    Pero repito, no entiendo a dónde quieres llegar.

    > Un criterio bien puede ser que exista una firma del binario por alguien que certificó el programa, sea el usuario mismo o alguien externo.

    Es lo que hace por ejemplo TiVO… pero no sé tampoco qué quieres decir.

    > Tampoco se requiere una llave para la ejecución del software. Simplemente, cuando se ejecuta un software no firmado (o el sistema operativo, o cualquier programa en la cadena, no está firmado), no se tiene acceso a ciertas llaves de decripción.

    Eso está explícitamente prohibido por la licencia en el texto que puse en mi post , en la segunda parte (de la segunda sección) y que además puse en negritas.

    > Pues que muchos evitarán utilizar esa versión de la GPL por no estar de acuerdo.

    Mejor, está claro. Si estás a favor del DRM o te molesta que la GPL3 lo esté, no la uses, ni uses software con licencia GPL3.

    > Y de paso, la GPL se estará “ensuciando” al salirse del marco técnico y definiendo qué cosas no se pueden hacer con el software.

    La GPL (ninguna) nunca ha sido sólo una “referencia técnica”, ni desde el mismo preámbulo. Léelo y verás. La GPL es una implementación legal de la ética del software libre, que no técnica, sino profundamente filosófica.

    > Comenzamos con “no se puede utilizar en sistemas DRM”, pero por favor cuál es exactamente la diferencia con “no se puede utilizar en la creación de material pornográfico”,

    Eso es ya es delirar demasiado y casi un FUD irracional. ¿Has visto en cualquiera de las licencias GPL que regule las actividades privadas? No. Tampoco la GPL3, y lo dice _expresamente_. Por eso es una licencia de “distribución”. Incluso puedes _usar_ en sistemas DRM siempre y cuando sea _privado_, y no de distribución a terceros (deberías cambiar la palabra “utilizar” por distribuir, que la estás usando mal o no has entendido la licencia).

    El DRM es totalmente contrario a la filosofía del SL, restringe las actividades privadas de los usuarios –además de convertirse en tutor moral–. Por eso se intenta que al menos no puedan usar SL para esas actividades.

    Proponer como contra ejemplo uno que es justamente lo contrario –como el de regular actividades privadas– es una falacia (es tan absurdo como argumentar que un sistema democrático no sirve porque los dictadores podrían salir elegidos).

    Repito porque eme parece importante: estás confundiendo los términos “distribuir” (propagación en la GPL3) con “utilizar”. La GPL no regula en ningún caso las actividades privadas que hagas con el software, es más, te autoriza expresamente que hagas lo que quieras si no requieres autorización expresa por las leyes de copyright y lo haces (”utilizas”) de forma privada:

    To “propagate” a work means doing anything with it that requires permission under applicable copyright law, **other than executing it on a computer or making private modifications.**

    This License explicitly affirms your unlimited permission to run the Program.

    This License gives unlimited permission to privately modify and run the Program

  2. Jens Hardings said,

    January 30, 2006 at 2:47 pm

    Con “Me imagino que un sistema que entrega llaves para decriptar contenido” me refiero a un esquema parecido a la encripción de DVDs, pero donde la llave no forma parte del software, sino que sigue un esquema parecido a TCPA. Es decir, el programa para reproducir películas se instala y funciona sin requerir llaves de ningún tipo, por lo tanto no hay ningún problema con la licencia GPLv3. Sin embargo, el sistema operativo decide a quién entregarle la llave para decriptar una película específica, y no se lo entregará a una versión modificada de ese reproductor de películas. Es decir, el reproductor es software libre, se puede usar sin problemas pero finalmente el usuario estará sujeto a las restricciones de un DRM. Ergo, la cláusula no logra proteger al usuario de un esquema de DRM, solamente de algunos puntuales.

    Yo puse: “Tampoco se requiere una llave para la ejecución del software. Simplemente, cuando se ejecuta un software no firmado (o el sistema operativo, o cualquier programa en la cadena, no está firmado), no se tiene acceso a ciertas llaves de decripción.”

    Respuesta de Ricardo: “Eso está explícitamente prohibido por la licencia en el texto que puse en mi post , en la segunda parte (de la segunda sección) y que además puse en negritas.”

    La parte que mencionas (”It also includes any decryption codes necessary to access or unseal the work’s output.”) no logra prohibir lo que describo. El programa reproductor de películas del ejemplo no genera un output encriptado, simplemente decripta un cierto contenido y lo envía a la pantalla (pero no a un archivo a menos que se modifique el programa, de forma que la firma ya no coincidirá). Para decriptarlo, necesita dos entradas: el contenido encriptado y la llave (que está en el programa). Cuando una aplicación externa (definitivamente no GPLv3) no le entrega la llave, entonces el reproductor de películas no es capaz de decriptar el contenido. El programa “funciona”: es perfectamente normal que, al no recibir la llave para decriptar el contenido, me entregue algún mensaje indicando eso, en vez del contenido decriptado. Es lo mismo que si trato de decriptar un e-mail encriptado para el cual no tengo la llave privada: no lo obtengo, y esa es la funcionalidad esperada. Y supongo que no es requisito para distribuir un software bajo GPLv3 asegurar que siempre tendrá acceso a toda llave privada, a pesar que esté fuera del control del usuario y del distribuidor del software. No lo dice la licencia y sería absolutamente ridículo.

    El mismo ejemplo se aplica a la situación donde el usuario confía en un sistema al estilo TCPA para que evite que su llave privada sea entregada a programas poco confiables (spyware y demases). Luego, un programa para leer mails, licenciado bajo GPLv3 no podrá recibir las llaves necesarias para decriptar un e-mail y desplegarlo a menos que esté “certificado” por ese sistema TCPA. Es exactamente la misma situación, pero con un matiz menos “malévolo”.

    Más abajo señalas que la GPLv3 no restringe el uso privado que se le puede dar al software. Justamente a eso voy: el usuario decide delegar en un software (controlado por él mismo o por la MPAA) a qué programas le entregará las llaves de decripción para ver películas. Eso es un uso privado. Luego, el reproductor de películas (licenciado bajo GPLv3) estaría en la práctica limitando los derechos del usuario final, pero sería perfectamente válido bajo GPLv3, así que el incluir las supuestas limitaciones a la licencia no sirve de nada.

    Por otro lado, por qué esa manía de que DRM es lo peor que nos puede pasar, que es necesario evitarlo a toda costa? Hay varias aplicaciones útiles de esquemas de ese estilo. Lo que considero inaceptable es que las llaves sean controladas por instituciones como la MPAA u otras agrupaciones de intereses comerciales, pero si quien controla las llaves es el usuario, o bien la empresa donde el usuario trabaja, puede ser algo útil. Insisto: DRM es una herramienta, que puede ser bien o mal usada. El afán de eliminar esa herramienta de la faz de la tierra le resta seriedad al movimiento de Software Libre. Eliminemos los malos usos!

  3. blogmemes.com said,

    February 1, 2006 at 11:59 am

    Objetivos de GPLv3 con respecto a DRM…

    Jens Hardings discrepa de lo expuesto por Ricardo Galli con respecto a los objetivos y la forma en la cual el draft de la GPLv3 ataca el DRM. Interesante debate que sirve para aclarar conceptos….

  4. Eduardo said,

    February 1, 2006 at 12:24 pm

    Hola Jens, acabo de leer la larguisima discusión con Ricardo Galli, y al respecto tengo un par de preguntas.

    1.- Muy prosaica si se quiere, dado que Windows Vista va a incorporar mecanismos de DRM, ¿el borrador de la GPLv3 implica que no se podrá usar software GPLv3 en ese sistema? O no tiene nada que ver.

    2.- Desde el punto de vista más político, tu posición es que el incorporar la lucha contra el DRM en la licencia GPL le quita seriedad al movimiento de software libre.

    Efectivamente, personalmente creo que esta movida da pie a que algunos interpretemos que el borrador de la GPLv3 es la forma en que se desenmascaran los fines ideológicos de la FSF, tema peludo que podemos discutir después.

    Me gustaría saber cual es tu posición con respecto a este tema, ¿consideras que el movimiento del software libre es una ideología, una forma de proteger la propiedad intelectual, o una ética con respecto al uso y distribución del software?

  5. Jens Hardings said,

    February 1, 2006 at 1:35 pm

    Sobre la pregunta 1: No lo tengo claro, sobre todo porque la licencia puede cambiar bastante aún. Pero veamos los dos posibles casos:
    a) Si ocurre que la licencia protege a los ususarios de software GPLv3 de cualquier DRM, ciertamente tiene que estar prohibido instalar software GPLv3 en Windows Vista.
    b) Si no está prohibido, entonces la GPLv3 no podrá proteger a sus usuarios del DRM, ya que el sistema podrá denegar el acceso a recursos (archivos, red, …) a cualquier programa, incluidos los que están bajo GPLv3, según las reglas DRM incorporadas.

    En ambos casos se generan problemas: Si ocurre a) entonces se está restringiendo la libertad de uso del software, que debiera ser una prioridad por sobre la eliminación del DRM. Y si ocurre b), no tiene sentido incluir esas cláusulas en la GPLv3 ya que no pueden hacerse efectivas. Yo pienso que va a ocurrir b), pero ciertamente Stallman está en contra de que se use software libre sobre windows, porque eso ayuda a los usuarios a permanecer atados a una plataforma no libre, así que me imagino que preferiría que se cumpla a), sólo que es a mi parecer incompatible con la libertad de uso del software.

    Sobre la pregunta 2: creo que incorporar DRM en la licencia le quita fuerza al mensaje. Hasta ahora, la licencia GPL se había restringido al software, específicamente al derecho de usar el software, modificarlo y adaptarlo. Ahora se pretende utilizar la penetración del software bajo GPL para generar libertad en acceso a datos y creaciones de otra índole. Sin entrar en si me parece bien o no el objetivo de evitar el DRM, eso no pertenece al ámbito de una licencia de software de la misma forma que no pertenece la existencia de clínicas de abortos (que ciertamente restringe las libertades de seres humanos aún no nacidos) o la producción de bombas atómicas.

    En otras palabras, si estamos diciendo “no usen nuestro trabajo para restringir el acceso a películas y otras obras”, por qué no decir “no usen nuestro trabajo para matar personas”? Creo que es bastante claro que la libertad de las personas tienden a sufrir más cuando las matan que cuando no les permiten ver una película de la forma que les gustaría o les cobran demás. En algún punto hay que poner el límite y personalmente pienso que debiera ser el ámbito del software. El para qué se usa el software se escapa de ese ámbito, y por cierto que ya comienza a limitar el uso del software, que es la primera libertad (la cero) que plantea Stallman (y por lo tanto la más importante). Suprimirla un poco para dejar espacio a otros objetivos es cambiar radicalmente

    Una mejor forma de enfrentar el tema del DRM es hacer lo mismo que ya ha hecho la FSF: proveer una alternativa libre. Eso es justamente lo que se está viendo a través del fenómeno de Creative Commons.

  6. Eduardo said,

    February 1, 2006 at 5:54 pm

    Me acordé que Apple tenía prohibido usar su software para aplicaciones bélicas, eso iba en la licencia.
    Sin embargo, GPL no lo impide, e.g: Red Hawk Linux.
    Por otro lado, la licencia de java explícitamente impide usar la JVM en procesos que puedan afectar la salud de las personas (se han hecho bromas al respecto: http://www.darksideprogramming.net/2005/12/using_java_could_lead_to_death.html)

    Como ves, el uso del software ha sido limitado en las licencias de software propietario. Sin embargo, la GPL original se caracteriza por lo que llamas libertad 0, es decir, la libertad de usar el software para cualquier cosa.

    Si así están las cosas, entonces por qué no impedimos que el software GPL sea usado en aplicaciones militares?

  7. Jens Hardings said,

    February 2, 2006 at 3:48 pm

    Aquí está más o menos lo mismo, en palabras de Linus: “I would suggest that anybody who wants to fight DRM practices seriously look at the equivalent angle. If you create interesting content, you can forbid that _content_ to ever be encrypted or limited.” La versión larga está en Newsforge

Leave a Comment