Cuando hablamos de software libre u open source, muchas veces damos por hecho que código abierto significa gratuito. Pero no es así. El hecho de que el código esté disponible no implica que podamos hacer con él lo que queramos: cada proyecto define, a través de su licencia, las condiciones de uso, modificación y redistribución. Y esas condiciones son precisamente las que marcan la diferencia.
¿Qué significa Open Source?
Por si, OpenSource significa que el codigo fuente es abierto, disponible para que cualquiera pueda leerlo.
En cambio, las licencias open source son contratos sociales. Definen cómo colaboramos y qué devolvemos a la comunidad a cambio de beneficiarnos del trabajo colectivo.
Un proyecto puede ser libre, pero no necesariamente permisivo. Y ahí está la clave: algunas licencias priorizan la libertad individual (puedes hacer casi cualquier cosa con el código), mientras que otras priorizan la reciprocidad (si mejoras el código, debes compartir esas mejoras con los demás).
Tipo de licencias
De forma general, las licencias open source se agrupan en dos grandes familias:
- Permisivas (MIT, BSD, Apache): te permiten usar, modificar y redistribuir el código, incluso dentro de software cerrado. Son ideales para fomentar adopción, pero también permiten que empresas se beneficien del trabajo comunitario sin devolver nada a cambio.
- Copyleft (GPL, AGPL): imponen una condición de reciprocidad. Si distribuyes una versión modificada, debes hacerlo bajo la misma licencia. Garantizan que el software siga siendo libre, incluso cuando evoluciona.
La diferencia en la práctica es enorme. Un módulo bajo MIT puede integrarse en una solución comercial sin que el resultado se publique. Uno bajo AGPL obliga a mantener la cadena abierta: quien modifica, comparte.
Además, existe la licencia LGPL que es un punto intermedio entre ambos tipos. Generalmente se pensó para librerías y no permite la modificación del código fuente sin mantener la licencia, pero es permisivo en todo el trabajo derivado.
El caso particular de Odoo
Odoo SA adoptó originalmente (con TinyERP y OpenERP) la licencia AGPL, pero en un momento dado la cambio por LGPL. De esta forma buscaba un equilibrio entre apertura y modelo de negocio. Además, esto les permitió la aparición del concepto Odoo Enterprise, código privativo encima de su core Open Source. Este cambio les permitió poder vender licencias de parte de su código y crearon su modelo de negocio actual.
En cambio. la Odoo Community Association (OCA) se rige por un principio distinto: proteger el trabajo colaborativo y garantizar que las mejoras sigan disponibles para todos. Por ello, desde su concepción intentó que la mayor parte de su código fuera AGPL, aunque abrió la puerta a cierto código LGPL cuando correspondía a módulos web o muy troncales (como el sistema de gestión de colas).
¿Por qué la OCA mantiene la AGPL?
La Affero GPL (AGPL) fue creada precisamente para entornos web y SaaS. A diferencia de la GPL clásica, que solo obliga a liberar el código si se redistribuye, la AGPL también cubre el uso a través de servicios en red. En el contexto de Odoo, esto es esencial: la mayoría de implementaciones son accesibles vía web, y sin esta cláusula, sería fácil aprovechar el trabajo comunitario sin publicar los cambios.
En otras palabras: la AGPL evita el free-riding. Asegura que cualquier mejora hecha sobre el software también se deba compartir con la comunidad. Es una forma de garantizar la reciprocidad, de mantener vivo el principio básico del open source: si todos contribuimos, todos ganamos.
De forma recurrente aparecen voces en la OCA sugiriendo un cambio de licencia AGPL a LGPL con el objetivo de conseguir una base de desarrolladores más extensa. En nuestra opinión, lo único que conseguiremos es que más gente use los módulos, pero que menos gente colabore, ya que todo el trabajo derivado no será necesario. Estaremos abriendo la puerta a que lo usen sin restricciones y, sin un retorno claro de desarrollos hacia la OCA. Además, es importante recordar que cuando esto pasó con Odoo, se creó un cisma y provocó la aparición de la OCA para proteger este legado OpenSource.
Nuestra visión
En nuestros proyectos, seguimos la AGPL porque entendemos su valor más allá de lo legal: es un compromiso ético. Significa respetar el esfuerzo colectivo y evitar que el trabajo abierto acabe siendo privatizado. A veces explica por qué ciertos desarrollos no pueden integrarse en repositorios privados, o por qué pedimos a los clientes publicar ciertas modificaciones. Pero también es lo que hace posible que miles de empresas y desarrolladores trabajen sobre una base común sin miedo a perder su libertad.
La AGPL no es una limitación. Es una garantía de sostenibilidad. Un recordatorio de que el software libre no se trata solo de abrir código, sino de mantener abiertas las puertas de la colaboración.