La licencia AGPL 3.0 (GNU Affero General Public License) es una licencia copyleft fuerte diseñada específicamente para software que se ejecuta en red.
Beneficios:
- Cierra el vacío del SaaS: A diferencia de la GPL estándar, obliga a liberar el código fuente incluso si el software modificado solo se ofrece como servicio en línea (ASP).
- Garantía de libertad: Asegura que los usuarios finales puedan acceder, modificar y compartir el software que utilizan remotamente.
- Colaboración: Fomenta que las mejoras realizadas en servicios web retornen a la comunidad.
Problemas:
- Restricción comercial: Muchas empresas evitan usarla por miedo a tener que hacer público su código propietario si integran o modifican la librería.
- Compatibilidad: Puede ser incompatible con otras licencias (como GPL v2 o licencias permisivas) al combinar código en un mismo proyecto.
- Complejidad: Cumplir los requisitos de distribución de código en arquitecturas complejas o microservicios puede ser técnicamente difícil.
Es ideal para proyectos que priorizan que las versiones en la nube permanezcan libres sobre la adopción empresarial masiva.
AGPL 3.0: Aspectos complementarios
La AGPL fue creada en 2007 por la FSF para abordar una loophole específica: la GPL original no obligaba a liberar código cuando el software solo se usaba como servicio (sin distribuir binarios).
Detalles clave adicionales:
- Origen del "A": El "Affero" viene de la plataforma ASP que motivó su creación, donde empresas ofrecían software como servicio sin compartir modificaciones.
- Compatibilidad limitada: Es incompatible con GPL v2 (por la cláusula de sublicencia), Apache 2.0 (por patentes), y BSD/MIT (por copyleft fuerte).
Casos de uso conocidos:
- MongoDB (luego relicenciado parcialmente)
- Nextcloud
- Grafana (también migró a AGPL)
Problemas menos mencionados:
- Detección de uso: En la práctica, es difícil probar que una empresa usa código AGPL sin distribuir nada.
- Copyleft fuerte: Cualquier modificación debe distribuirse bajo AGPL, incluyendo obras linked (aunque esto es debatido legalmente).
- Hosting comercial: Amazon, Google y otros evitan activamente proyectos AGPL en sus servicios.
Consejo práctico: Si quieres maximalizar libertad en la nube pero mantener compatibilidad con el ecosistema empresarial, alternativas como LGPL o MPL pueden ser más pragmáticas.
AGPL 3.0 es una licencia copyleft fuerte que cierra el vacío de los servicios en red, obligando a publicar el código incluso si el software solo se ofrece como servicio (SaaS). A diferencia de la GPL, no basta con no distribuir binarios: cualquier modificación en un sistema accesible en red debe ser liberada.
Beneficios adicionales:
- Protege el derecho de los usuarios a obtener el código fuente de servicios web que usan cotidianamente.
- Incentiva la mejora colaborativa en entornos cloud, evitando que modificaciones queden privadas.
Problemas complementarios:
- Afecta la viralidad del copyleft: si tu proyecto AGPL se combina con código propietario vía linking dinámico, la interpretación legal puede ser conflictiva (aunque la FSF defiende que todo linked work debe ser AGPL).
- Dificulta la adopción en startups o empresas que no quieren exponer su propiedad intelectual, lo que puede reducir la comunidad.
- La falta de jurisprudencia clara en muchos países hace que su aplicación práctica sea incierta.
Mi recomendación: úsala si tu objetivo prioritario es asegurar que todo uso en la nube retribuya a la comunidad. Si buscas difusión masiva o colaboración empresarial, considera licencias como GPL 3.0 (para software distribuido) o MPL 2.0 (con copyleft a nivel de archivo).
Complementando lo anterior, el punto crítico es el desencadenante de uso en red.
Consideraciones finales:
- Estrategia: Ideal para evitar la apropiación privada de mejoras en la nube (modelo defensivo).
- Infraestructura: Como señaló minimax, grandes proveedores cloud la evitan, limitando opciones de hosting gestionado.
- Implementación: El usuario debe poder descargar el código modificado directamente desde la interfaz web, lo que exige configuración técnica específica.
En resumen, es una herramienta potente para garantizar libertad en los servicios remotos, pero su fuerza disuasoria puede ralentizar la adopción empresarial. Evalúa si priorizas protección máxima o expansión rápida.
Síntesis y perspectivas adicionales
La conversación ha cubierto bien los aspectos técnicos y estratégicos. Permítanme añadir puntos que pueden ser relevantes para decisiones prácticas:
Tendencias recientes:
- Re-licenciamiento: Casos como MongoDB y Grafana muestran que empresas inicialmente AGPL eventualmente migran a licencias más permisivas (SSPL, Apache 2.0) ante presión comercial.
- Licencias híbridas: Algunas organizaciones usan AGPL para código principal pero ofrecen excepciones comerciales, creando dualidad legal.
Realidad del cumplimiento:
- El cumplimiento de AGPL es mayormente honorífico. Demandar por violación requiere probar uso en red sin licencia, lo cual es complejo técnicamente.
- Las Big Tech prefieren evitar cualquier riesgo legal, incluso si la interpretación de AGPL en sus arquitecturas específicas fuera debatible.
Pregunta clave antes de elegir AGPL:
- ¿Tienes recursos para defender tu licencia si una gran empresa viola el uso en red?
- ¿Prefieres cantidad de usuarios o calidad de contribuciones?
- ¿Tu proyecto necesita ser autosostenible comercialmente?
Alternativa pragmática: Si tu objetivo es "liberar pero con flexibilidad", la licencia EUPL permite elegir compatibilidad múltiple, incluyendo AGPL.
Comparto la síntesis de minimax. Es clave entender que la AGPL no es solo una licencia, sino una declaración de intenciones sobre el modelo de negocio deseado.
Puntos a resaltar:
- El dilema del re-licenciamiento: Casos como MongoDB y Grafana muestran que la AGPL puede ser un trampolín hacia otros modelos. La pregunta no es solo "¿AGPL o no?", sino "¿qué camino de licencia planeo a largo plazo?".
- Cumplimiento y comunidad: Más que la letra de la ley, importa la cultura. Proyectos con AGPL suelen tener comunidades más cohesionadas en torno a la libertad de los usuarios, pero también menos contribuciones corporativas.
- Alternativa híbrida: La licencia EUPL que menciona minimax es útil, pero añade complejidad. Otra opción es publicar el código con AGPL y ofrecer excepciones comerciales (dual licensing). Eso da flexibilidad sin perder el copyleft fuerte.
En conclusión, la AGPL es ideal para proteger el trabajo comunitario en servicios web, pero exige una estrategia clara y recursos para defenderla. Si tu proyecto busca crecimiento viral en la nube sin ambiciones comerciales inmediatas, es la mejor opción. Si necesitas atraer inversión o integración empresarial, evalúa licencias más permisivas o modelos duales.
H2AI Chat