Revocar una contribución en el mundo del software libre

software libre, licencia GPL, aportación
Oct16Hoy intentamos explicar si es legalmente posible exigir que tus aportaciones al software libre dejen de ser utilizadas.

Por José Manuel Sendín (Kuartillo)
// Son 1070 palabras. Esto se lee en, nah, 5 minutos, 21 segundos.

A veces pasan cosas en la vida que te la cambian: una secta, una enfermedad chunga, un golpe fuerte en la cabeza, y es posible que como programador te plantees si las aportaciones que hiciste a una comunidad o a una tecnología en concreto se pueden de alguna forma quitar de la circulación. Para aquellos que sentís curiosidad, os dejamos este post sobre la revocabilidad de un código.

Si reniego del software libre, ¿puedo pedir que no usen mi código?
La base del software libre es compartir, aportar, colaborar con los distintos proyectos...sin el apoyo de la comunidad, el software libre sería una quimera, una ilusión, y jamás habría alcanzado su dimensión actual.

Aunque no se nos ocurren muchos motivos por los cuales alguien quisiera hacerlo, imaginemos un caso de laboratorio: un día decido intentar mejorar el Kernel de Linux y recibo una contestación un poco borde del responsable, diciéndome que mi código es una m*** y que no lo va a utilizar ni en sus pesadillas. Lo más probable es que me enfade, y si en un ataque de ira decido que me paso al lado oscuro y me niego a que mis contribuciones sigan siendo utilizadas. ¿Qué probabilidades hay de que esto ocurra? Pocas. ¿Cuáles serían las consecuencias de algo así?

Lo primero, como os decimos siempre, será ver bajo qué licencia he distribuido mi código, supongamos que he utilizado la GPL, da igual la versión. (No la cogemos porque llevemos semanas publicando artículos sobre ella aquí, y aquí, y aquí, sino porque es la más utilizada)

El texto de la licencia no vamos a encontrar una sección específica titulada "renuncia a la licencia", pero si construyes un espacio imaginario donde metas los puntos 4, 5 y 6 de la licencia si estamos usando la versión 2 o de las cláusulas 2, 8 y 10 si estamos usando la versión 3 conseguirás algunas ideas aproximadas:

  • La concesión de un derecho ilimitado a usar el Programa

Para garantizar las libertades propias del software libre la licencia concede en su cláusula 2 ( versión 3) a todo usuario, como base de la licencia, un unlimited permission to run the unmodified Program. Por tanto, si yo no modifico ni distribuyo el programa puedo ejecutarlo sin ningún tipo de límite...en ningún caso el titular de los derechos de autor o explotación podría decirme que estoy vulnerando sus derechos e intentar demandarme por ello. Mucho menos esperar a que deje de usarlo.

Un uso ilimitado implica que no puede venir el desarrollador a quitarte el código, por ningún motivo, incluyendo su transformación personal al lado oscuro. Nunca.Es ilimitado. En eso consiste ;)

  • Las consecuencias del incumplimiento de la licencia

Aquí encontramos cosas distintas dependiendo de la versión que manejes. En la versión 2 la consecuencia directa es la pérdida del derecho a utilizar el programa y a distribuirlo, lo que se dice "cortar por lo sano".. Sin embargo en la versión 3 se ha suavizado el castigo dando al infractor la posibilidad de corregir su conducta después de que sea advertido del incumplimiento por los titulares de los derechos.

En todo caso, y centrándonos en el tema de este post, el incumplimiento de la licencia tiene un efecto personalísimo, sólo afecta al infractor, las personas que han recibido del infractor el programa podrán utilizarlo mientras no infringan ellos la licencia. De hecho hemos encontrado un caso de laboratorio en la web de la fsf, os dejamos el enlace por si os interesa: If someone steals a CD containing a version of a GPL-covered program, does the GPL give the thief the right to redistribute that version?...si ya sabemos que no es exactamente la misma situación pero casi... :)

En resumen, pierde el derecho a usar el programa el infractor pero no las personas que hayan recibido el programa de él y cumplan las condiciones de la licencia. Asi que el titular del software tampoco podría exigir que se dejara de usar de manera global, aunque se haga una lista y vaya uno por uno pidiéndolo.

  • Cada nuevo receptor del programa recibe la licencia de uso del licenciante originario en toda su amplitud.

En la versión 3 se han añadido términos adicionales, como el punto 7. .Esto es lo que algunos denominan "efecto virus": su contenido se propaga sin limites a cada nuevo usuario del programa, quien a su vez tiene ese unlimited permission to run the unmodifed Program. De nuevo imposible reclamar que se deje de utilizar por parte de quien lo licenció al inicio de los tiempos.

  • Derecho continental versus Derecho Anglosajón

Por ahora las contribuciones son irrevocables, pero vamos un poco más allá. ¿Existe alguna diferencia entre la normativa anglosajona y el derecho continental? En USA existe la distinción legal entre una licencia de uso (EULA) y un contrato, lo que en práctica lleva a considerar una licencia como una declaración unilateral de voluntad: yo titular de un derecho te digo a ti, licenciatario, que puedes usar este programa que es mío siempre que cumplas mis condiciones. No es necesaria una declaración expresa de aceptación del contenido de la licencia, de hecho, la propia licencia te dice que no es necesaria y si usas el programa se entiende que la aceptas.

Sin embargo, en el derecho continental (derivado del derecho romano), las licencias son contratos. Quizá se encajarían mejor como contratos de adhesión, porque no existe una negociación de sus cláusulas, y algunos juristas llegar a entenderlas como una oferta pública válida mientras el oferente (titular de los derechos) no la retire.

En esta construcción de licencia como contrato, tenemos un problema: el derecho al uso ilimitado del programa por quien ya lo tiene, cuando el titular revoca esa disponibilidad, pero no para nadie más. Lo complicado aquí sería acreditar cuando obtuvo esa persona su licencia...pero como no queremos mataros de aburrimiento no nos vamos a meter en esta divagación conceptual...simplemente quedaos con la idea que existen ciertas diferencias entre el derecho de USA-UK y el europeo, y que Santa Rita, Rita lo que se da no se quita.

Conclusión
Stallman tiene razón. Las licencias son a priori irrevocables. Vete tu a pelearte con una comunidad entera que la está usando. Vive y deja vivir.

PS-1: Este post ha surgido de varios comentarios tuiteros a raíz de este post de itwire. Gracias por seguir ahí una semana más.

PS-2: Photo by Kai Pilger on Unsplash


Publicado el 16 de octubre de 2018