← Licencias

Licencia AGPL: la GPL para software que se usa por internet

La AGPL extiende la GPL al software que se ofrece como servicio por la red. Qué exige, por qué muchas empresas la evitan y cuándo tiene sentido usarla.

En este artículo
  1. El problema que resuelve
  2. La sección 13
  3. Proyectos que usan AGPL
  4. Por qué muchas empresas la evitan
  5. Cuándo sí tiene sentido usarla
  6. AGPL frente a GPL
  7. Cómo cumplirla en la práctica
  8. Preguntas frecuentes

La GNU Affero General Public License (AGPL) es una licencia copyleft basada en la GPL v3, con una cláusula adicional: si modificas un programa AGPL y permites que otras personas lo usen a través de una red, tienes que ofrecerles el código fuente de tu versión. Cierra el llamado “vacío del SaaS”, por el que una empresa puede modificar software GPL, ofrecerlo como servicio web y no compartir nunca sus cambios.

El problema que resuelve

La GPL obliga a entregar el código cuando se distribuye el programa. Pero un servicio web no se distribuye: el programa corre en el servidor de la empresa y los usuarios solo ven el resultado en el navegador. Con la GPL, una empresa puede tomar un proyecto libre, mejorarlo durante años y no devolver nada, sin incumplir la licencia.

La versión actual de la AGPL, la v3, se publicó el 19 de noviembre de 2007. La diferencia con la GPL v3 está casi toda en una sección.

La sección 13

Dice, en esencia: si modificas el programa, tu versión debe ofrecer a todos los usuarios que interactúan con ella de forma remota la oportunidad de recibir su código fuente correspondiente, gratis y por medios habituales, como un enlace de descarga.

Tres detalles importan:

  • Aplica si modificas el programa. Si ejecutas una versión sin cambios, basta con que el código original ya esté disponible.
  • Aplica a quienes interactúan con el programa, no a cualquiera. Un servicio interno que solo usan tus empleados también los cuenta como usuarios.
  • El resto funciona como la GPL v3: misma licencia para las obras derivadas, licencia de patentes, conservar avisos.

Proyectos que usan AGPL

Algunos ejemplos conocidos: Nextcloud, Mastodon, Grafana (desde 2021), Loki, Plausible Analytics y la versión comunitaria de varias bases de datos. MongoDB usó AGPL hasta 2018, cuando la cambió por una licencia propia (SSPL) que la Open Source Initiative no reconoce como abierta.

Por qué muchas empresas la evitan

Google, por ejemplo, prohíbe usar código AGPL en sus productos y lo explica en su política pública de código abierto. Las razones habituales:

  • Alcance incierto. No siempre es obvio qué cuenta como “obra derivada” en una arquitectura de microservicios. Si un componente AGPL forma parte de tu servicio, ¿qué otros componentes quedan alcanzados?
  • Obligación continua. Cada cambio que hagas al componente tiene que quedar disponible para los usuarios.
  • Riesgo de error. En una empresa grande basta con que un equipo incorpore una biblioteca AGPL sin avisar para crear una obligación difícil de cumplir.

Por eso la AGPL aparece casi siempre en la categoría “consultar antes de usar” de las políticas internas de licencias.

Cuándo sí tiene sentido usarla

Para el autor de un proyecto, la AGPL protege contra un escenario concreto: que un proveedor de nube tome tu software, lo ofrezca como servicio gestionado y compita contigo sin aportar nada. Es una opción frecuente en software pensado para correr en servidores: plataformas web, bases de datos, herramientas de analítica.

Muchas empresas la combinan con licenciamiento dual: AGPL para la comunidad y una licencia comercial para quien no quiera cumplir la sección 13.

Para quien usa el software, una herramienta AGPL sin modificar no genera obligaciones especiales. Usar Nextcloud o Mastodon tal como vienen, en tu propio servidor, es tan simple como usar cualquier programa libre. Las obligaciones aparecen al modificarlos y exponerlos a otros usuarios.

AGPL frente a GPL

Las dos son compatibles: la GPL v3 y la AGPL v3 permiten combinar código de ambas en un mismo programa, y cada parte conserva su licencia.

GPL v3 AGPL v3
Obliga al distribuir copias Sí Sí
Obliga al ofrecer el programa por la red No Sí, si está modificado
Licencia de patentes Sí Sí
Típica en Aplicaciones de escritorio, herramientas Software de servidor y plataformas web

Cómo cumplirla en la práctica

Si modificas un programa AGPL y lo publicas como servicio:

  1. Mantén tu versión en un repositorio público, o en un lugar desde donde se pueda descargar.
  2. Agrega un enlace visible en la interfaz (“Código fuente”) que apunte a la versión exacta que está en producción.
  3. Actualiza ese código cada vez que despliegues cambios.

Los proyectos AGPL bien hechos suelen traer ese enlace incorporado, justamente para que cumplirla sea fácil.

Preguntas frecuentes

¿Qué significa AGPL? Son las siglas de GNU Affero General Public License, una licencia copyleft de la Free Software Foundation basada en la GPL v3. Su particularidad es que también exige compartir el código cuando el programa modificado se ofrece por la red.

¿Puedo usar software AGPL en mi empresa? Sí. Usar un programa AGPL sin modificarlo, como Nextcloud o Mastodon en tu propio servidor, no genera obligaciones especiales. Las obligaciones aparecen al modificarlo y ofrecerlo a otros usuarios por la red.

¿La AGPL permite el uso comercial? Sí. No prohíbe cobrar ni usar el software con fines comerciales: lo que exige es ofrecer el código fuente de tu versión modificada a quienes la usan por la red.

¿La AGPL es una licencia de código abierto? Sí. La Open Source Initiative la reconoce como licencia de código abierto y la Free Software Foundation la considera software libre. Es una licencia copyleft.

Fuentes