Por qué es necesaria la GPL Affero
La Licencia Pública General Affero de GNU es una versión modificada de la GPL de GNU ordinaria versión 3. Tiene un requisito añadido: si usted ejecuta en un servidor un programa modificado y permite que otros usuarios se comuniquen con él, el servidor también debe permitirles descargar el código fuente de la versión modificada que está ejecutando en el servidor.
El propósito de la GPL Affero de GNU es evitar un problema que afecta a los desarrolladores de programas libres que se usan con frecuencia en servidores.
Supongamos que usted desarrolla y publica un programa libre bajo la GPL de GNU ordinaria. Si un desarrollador D modifica el programa y lo publica, la GPL requiere que él también distribuya su versión bajo la GPL. Así, si usted obtiene una copia de la versión de D, es libre de tomar todos o algunos de los cambios e incorporarlos a su propia versión.
Pero supongamos que el programa sirve más que nada para usarse en servidores. Cuando D modifica el programa, es muy probable que lo ejecute en su propio servidor y que nunca publique copias. En tal caso, usted nunca podrá obtener una copia del código fuente y no tendrá la oportunidad de incluir en su versión los cambios que hizo D. Puede que este no sea el resultado que usted espera.
Utilizando la GPL Affero de GNU se evita este desenlace. Si D ejecuta su versión en un servidor que cualquiera puede usar, usted también puede usarlo. Suponiendo que D haya cumplido con el requisito de la licencia y permite que los usuarios del servidor descarguen el código fuente de su versión, usted puede hacer eso y luego incorporar los cambios a su propia versión. (Si D no cumple, presente una queja con un abogado).
Tanto la GPL de GNU, versión 3, como la GPL Affero de GNU, incluyen en su texto la posibilidad de vincular en un único programa módulos que estén bajo estas dos licencias.
La GPL Affero de GNU no aborda el problema del Servicio Sustitutivo del Software (SaaSS).
Hablamos de SaaSS cuando los usuarios utilizan el servidor web de otra persona para realizar sus propias tareas informáticas. Esto los obliga a enviar sus datos al servidor para que éste los procese y les devuelva los resultados. El SaaSS es una injusticia porque los usuarios no pueden controlar sus tareas informáticas cuando se llevan a cabo de esta manera.
Si algún programa de dicho servidor se publica bajo la GPL Affero de GNU, el servidor está obligado a ofrecer a los usuarios el código fuente correspondiente. Eso es bueno, pero tener este código fuente no les da a los usuarios el control sobre los cómputos que se realizan en el servidor. Tampoco les dice qué otro software puede estar ejecutándose en el servidor, examinando o cambiando sus datos de otras maneras.
No vemos que haya ninguna forma sensata de abordar el problema del SaaSS mediante cláusulas de licencia en programas particulares. Diseñar una cláusula legal para distinguir lo que es SaaSS de lo que no lo es sería ya un reto. Incluso si la tuviéramos, no vemos qué requisito podríamos incluir en la licencia de un programa que, en el caso de usar SaaSS, corrigiera la injusticia intrínseca del SaaSS. Por esa razón, la solución que proponemos al problema del SaaSS es sencilla: niéguese a utilizar servicios que sean SaaSS.
Si un programa está pensado específica y únicamente para ser utilizado como SaaSS, usted no debe escribirlo. Pero muchos programas resultan útiles para varios tipos de servicios, incluidos algunos que son SaaSS y algunos que no lo son. Es útil escribir y publicar estos programas de manera que la gente pueda crear con ellos servicios que no sean SaaSS, y es bueno publicarlos bajo la AGPL.