In this article
¿Es la licencia AGPL la opción adecuada para tus proyectos de código abierto?
Es común que los desarrolladores piensen que los requisitos de licencias de software son responsabilidad exclusiva del departamento legal. Dada la gran cantidad de componentes de código abierto disponibles y las implicaciones de los requisitos de licencia, todos los desarrolladores deberían tener al menos conocimientos generales sobre estas licencias y cómo pueden afectar su software.
Teniendo en cuenta las implicaciones que puede tener un proyecto en sus etapas posteriores, todos los equipos deben revisar los requisitos de licencia de su software. Antes de publicar cualquier software actualizado o modificado, las organizaciones deben realizar una auditoría completa del cumplimiento de licencias. Hacerlo en cada etapa del proyecto puede evitar problemas en el futuro. Una licencia que los equipos deberían analizar es la Licencia Pública General Affero de GNU (AGPL).
¿Qué es la AGPL?
Antes de hablar de la licencia AGPL, es importante entender su origen. En 1988, Richard Stallman redactó la Licencia Pública General (GPL) para consagrar el derecho de los creadores a mantener su software como código abierto en todo momento. Actualmente, la GPL está en su tercera versión (GPLv3), debido a problemas con el texto anterior que generaba algunas lagunas.
Como parte de la GPLv3, la Free Software Foundation (FSF) presentó dos tipos adicionales de licencias: la Licencia Pública General Reducida (LGPLv3) y la Licencia Pública General Affero (AGPLv3). La versión AGPL de la Licencia Pública General busca garantizar plenamente los derechos de copyleft para todo el software que la utiliza.
¿Cuáles son las ventajas y desventajas de la licencia AGPL?
En la licencia GPL estándar, la cláusula de reciprocidad entra en vigor cuando un desarrollador publica software. El principio de copyleft busca que todo el código fuente esté disponible para la comunidad de código abierto. Con la AGPL, los equipos de software pueden garantizar que todos los cambios en el código base estén disponibles para el público, incluso en aplicaciones del lado del servidor.
Determinar si la AGPL 3.0, la LGPL 3.0 o la GPL 3.0 estándar es la más adecuada para el equipo depende del objetivo final del software. Las licencias copyleft son ideales para los desarrolladores que quieren garantizar que todos los cambios posteriores estén disponibles para la comunidad, mientras que las licencias permisivas, como la licencia MIT, ofrecen más libertad para convertir las modificaciones en software propietario en el futuro.
Algunas ventajas de la AGPL son:
Obliga a los equipos a definir su filosofía de licencias al inicio del proyecto y a mantener esa decisión.
Garantiza que cualquier fragmento de código desarrollado por la comunidad de código abierto siga disponible e impide que otros reempaqueten y vendan software de código abierto.
Las desventajas de la AGPL son:
Puede disuadir a algunos equipos de usar paquetes de código abierto, ya que obliga a que todo el código restante se convierta en software con licencia GPL.
Algunos consideran que es excesiva, ya que cualquier módulo de un paquete dependiente que use AGPL somete a todo el resto del software a restricciones similares.
Elimina la posibilidad de que los equipos conviertan el software en propietario en el futuro.
¿Las empresas pueden usar software con licencia AGPL?
Aunque cualquiera puede usar la licencia AGPL V3, no es popular entre las organizaciones. Las restricciones que se aplican a las versiones posteriores del software con licencia AGPL dificultan su adopción cuando existen intereses comerciales contrapuestos.
La mayoría de las empresas prefiere usar licencias permisivas, que les permiten utilizar componentes de código abierto y, aun así, convertir su versión del software en un producto comercial en el futuro. Esto contrasta con el uso de una licencia copyleft como la AGPL.
¿Qué es una licencia copyleft?
Las licencias copyleft aplican un principio que Stallman defendió por primera vez en su manifiesto de GNU. En la década de 1960, era común que los desarrolladores compartieran abiertamente todo el código fuente para ayudar a otros, lo que fomentaba la comunidad y la colaboración. En la década de 1980, esta tendencia perdió popularidad cuando las organizaciones empezaron a aplicar derechos de autor a su código fuente. El copyleft es lo opuesto al copyright: garantiza el derecho a usar, modificar y redistribuir cualquier código fuente con una licencia copyleft, como la GPL.
¿Se puede usar AGPL con aplicaciones de código cerrado?
La licencia AGPL V3 es una licencia copyleft estricta que exige que todos los componentes derivados de cualquier trabajo anterior sean de código abierto. Cierra la laguna del lado del servidor, que permite no publicar el código fuente si el software no se distribuye. La AGPL considera usuario a toda persona que accede a una aplicación del lado del servidor si esta está disponible públicamente. En el caso de aplicaciones que se encuentran dentro de la red de una organización, la AGPL no obliga a publicar el código fuente.
¿La licencia AGPLv3 es compatible con la GPLv3?
Quienes combinen una obra con licencia GPLv3 con software AGPL pueden conservar los derechos de la GPLv3 sobre la obra sin modificar. Cualquier versión modificada de la obra con licencia GPLv3 deberá usar la licencia AGPLv3.
Debido a su enfoque radical de licencias de código abierto, la AGPL actualmente se usa en menos del 1 % de los proyectos de código abierto.
Gestiona eficazmente el cumplimiento de licencias con Snyk
Snyk puede ayudar a los equipos que necesitan mantener un control eficaz del cumplimiento de licencias. Nuestra herramienta de gestión de licencias, diseñada para desarrolladores, ofrece una visión clara de los paquetes y las dependencias en tu código base. Al ayudar a los desarrolladores a comprender y gestionar el cumplimiento de licencias, la herramienta contribuye a evitar imprevistos en el proyecto. Con la solución de Snyk para gestionar el cumplimiento de licencias, puedes garantizar que todos los componentes derivados de trabajos de código abierto sean compatibles con los requisitos de licencia de tu empresa.
Descubre cómo Snyk puede ayudar a tus equipos a gestionar las licencias AGPL versión 3:agenda una demostración o inicia tu prueba gratuita hoy.
Empieza con los desafíos de Capture the Flag
Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.