Permisos, condiciones y limitaciones de un vistazo
Condiciones
- Aviso de copyright y licenciaAl distribuir hay que incluir una copia de la licencia y el aviso de copyright.
- Indicar cambiosSi modificas el original, debes indicarlo.
- Divulgar el código fuenteAl distribuir hay que proporcionar el código fuente.
- El uso en red cuenta como distribuciónLos usuarios que interactúan por red también tienen derecho a recibir el código fuente.
- Misma licenciaLas versiones modificadas y obras derivadas deben distribuirse con la misma licencia (o una compatible).
Limitaciones
- Limitación de responsabilidadIndica expresamente que no se asume responsabilidad por daños.
- Sin garantíaIndica expresamente que no ofrece ninguna garantía.
Fuente de la clasificación de permisos, condiciones y limitaciones: datos de choosealicense.com (GitHub, licencia MIT).
Qué es esta licencia
La FSF publicó la AGPL-3.0 en noviembre de 2007. Su texto es casi idéntico al de GPL-3.0; la diferencia es la sección 13, 'Interacción remota a través de una red'. En la GPL la obligación de ofrecer el código solo surge al 'distribuir' el programa, así que un servicio web que ejecuta software GPL modificado solo en sus servidores no tiene que publicar el código. Es el llamado 'agujero del SaaS', y la AGPL lo cierra. Mastodon, el servidor de Nextcloud y Grafana (que pasó de Apache-2.0 en 2021) usan AGPL-3.0.
Qué exige la sección 13
Si modificas el programa, debes ofrecer de forma visible a todos los usuarios que interactúan remotamente con esa versión modificada a través de una red la oportunidad de recibir el código fuente correspondiente. Normalmente se cumple poniendo un enlace de 'código fuente' en la interfaz del servicio.
Qué hay que cumplir al distribuir
Se aplican tal cual todas las obligaciones de GPL-3.0 (ofrecer el código fuente, conservar los avisos, indicar los cambios, misma licencia, prohibición de restricciones adicionales) y, además, la sección 13.
Malentendidos frecuentes
- "Con solo usar software AGPL en un servidor, tengo que publicar todo mi servicio" — La sección 13 exige el código del programa modificado cuando se ofrece por red. La interpretación habitual es que usar una base de datos AGPL sin modificar como proceso independiente difícilmente impone obligaciones a toda tu aplicación, aunque la valoración puede cambiar según la forma de combinación.
- "La AGPL prohíbe el uso comercial" — No lo prohíbe. Puede usarse en servicios comerciales cumpliendo las condiciones.
- "La AGPL no es código abierto" — Es una licencia de código abierto aprobada por la OSI y una licencia de software libre reconocida por la FSF. Hay confusión porque MongoDB pasó de AGPL a SSPL en 2018, pero la SSPL es una licencia distinta que no obtuvo la aprobación de la OSI.
- "No se puede mezclar con código GPL" — GPL-3.0 y AGPL-3.0 permiten combinarse mediante sus respectivas secciones 13. En la obra combinada, la cláusula de red de la parte AGPL se mantiene.
Cómo aplicarla
Deja el texto tal cual en LICENSE y añade el aviso oficial de la AGPL a cada archivo. Si es un servicio web, incluir en el código una función que muestre al usuario un enlace al repositorio del código fuente facilita que quien opere una versión modificada cumpla la sección 13. El identificador SPDX es AGPL-3.0-only o AGPL-3.0-or-later.
Cuándo encaja
Se usa sobre todo para publicar software que se ejecuta en servidores (aplicaciones web, herramientas de colaboración, plataformas de análisis) cuando se quiere impedir que otras empresas operen versiones modificadas como servicios cerrados. También se elige a menudo en el modelo de licencia dual junto con una licencia comercial.
¿Puedo incluir código AGPL-3.0 en otro proyecto?
Resultado general al tomar código publicado bajo esta licencia y distribuirlo combinado en un proyecto con cada una de las licencias siguientes. Ver otras combinaciones en el comprobador de compatibilidad →
| Proyecto de destino | Resultado | Nota |
|---|---|---|
| Software privativo (comercial) | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| MIT | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| Apache-2.0 | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| MPL-2.0 | No | Todo el programa distribuido en conjunto debe publicarse con su código fuente bajo la misma licencia GNU, así que no puedes incluirlo manteniendo la licencia de tu proyecto. |
| LGPL-2.1 | Sí, con condiciones | La obra combinada debe distribuirse bajo las condiciones de GPL-3.0. GPL-3.0 y AGPL-3.0 permiten combinarse mutuamente mediante su respectiva sección 13. En la obra combinada, la parte AGPL mantiene la obligación de ofrecer el código fuente por red. |
| LGPL-3.0 | Sí, con condiciones | La obra combinada debe distribuirse bajo las condiciones de GPL-3.0. GPL-3.0 y AGPL-3.0 permiten combinarse mutuamente mediante su respectiva sección 13. En la obra combinada, la parte AGPL mantiene la obligación de ofrecer el código fuente por red. |
| GPL-2.0 | No | El código de la versión 3.0 no es compatible con las condiciones de GPL-2.0 (only), así que no puede incluirse. |
| GPL-3.0 | Sí, con condiciones | GPL-3.0 y AGPL-3.0 permiten combinarse mutuamente mediante su respectiva sección 13. En la obra combinada, la parte AGPL mantiene la obligación de ofrecer el código fuente por red. |
El contenido de este sitio es información general y no constituye asesoramiento jurídico. Para decisiones reales de distribución, contratos o litigios, consulta con un abogado u otro profesional.