Saltar al contenido principal
Código abierto

Entender las licencias de software open source

En cuanto a las licencias de software de código abierto, existen dos categorías principales. Algunas licencias entran en la categoría copyleft, mientras que otras son licencias de código abierto permisivas.

Entender las licencias de software open source

En cuanto a las licencias de software de código abierto, existen dos categorías principales. Algunas licencias entran en la categoría copyleft, mientras que otras son licencias de código abierto permisivas.

En este artículo, explicaré qué es el licenciamiento de software de código abierto y sus tipos.

Introducción

Una licencia de código abierto es un tipo de licencia que permite a los usuarios ver, modificar y compartir libremente el código fuente del software. De este modo, los usuarios pueden actualizar con frecuencia el code y mejorar el producto original.

Según el tipo de licencia Open Source elegida, los usuarios podrían o no realizar ciertas actividades con el code, como venderlo o usarlo comercialmente. Además, existen muchos tipos de licencias Open Source, cada una con términos y condiciones distintos según cómo quieras usar el código fuente.

Por ello, es fundamental entender bien el tipo de licencia Open Source antes de aprovechar sus beneficios; asegúrate de leer más abajo antes de tomar cualquier decisión.

Tipos de licencias open source

tipo-de-licencia-oss

Licencias Permisivas

Una licencia permisiva, a veces llamada licencia non-copyleft, permite a los usuarios usar, modificar y compartir el code, pero también les da la opción de cambiar algunos términos para su redistribución, incluyendo obras derivadas. En software, una obra derivada es un programa basado en uno existente. Si el original tiene una licencia permisiva, el creador puede compartir su obra derivada con términos distintos a los de la licencia original.

Licencias Copyleft

Las licencias copyleft en open source otorgan al usuario la libertad del autor para modificar, usar y redistribuir el software. Sin embargo, exigen que los usuarios transmitan derechos específicos a otros usuarios downstream, otorgándoles los mismos derechos que se les dieron originalmente.

Las licencias copyleft definen cómo se permite la redistribución y los cambios en el code, prohibiendo cualquier intento de hacerlo propietario o cerrado. Esto garantiza que los desarrolladores que modifiquen el software tengan acceso al code para actualizarlo o incluso integrar sus propios cambios. Por supuesto, cualquier modificación también debe estar disponible para que otros se beneficien de su naturaleza open source. Esto no es un problema para casos de uso académicos o de investigación, pero suele ser un factor decisivo al desarrollar software comercial.

¿Por qué incluir una licencia de software open source?

Incluir una licencia de software open source es crucial cuando publicas o compartes tu software con otros de forma abierta. Una licencia cumple varios propósitos importantes:

  • Para fomentar la colaboración y la innovación.

Las licencias open source permiten que cualquiera vea, modifique y distribuya el code de tu software. Esto anima a otros desarrolladores a contribuir a tu proyecto, corregir bugs y añadir nuevas funcionalidades, lo que puede resultar en un producto de software más robusto e innovador.

  • Para dar a los usuarios más control y flexibilidad.

Las licencias open source suelen permitir a los usuarios usar, modificar y distribuir el software para cualquier fin, incluido el uso comercial. Esto otorga a los usuarios más control sobre su experiencia con el software y reduce su dependencia de proveedores de software propietario.

  • Para construir una comunidad en torno a tu software.

Una licencia open source puede ayudarte a crear una comunidad de usuarios y desarrolladores apasionados por tu software. Esta comunidad puede aportar soporte, feedback e ideas nuevas para tu proyecto.

  • Para que tu software sea más accesible e inclusivo.

El software open source suele ser gratuito para descargar y usar, y a menudo está disponible en varios idiomas. Esto lo hace más accesible para personas de todo el mundo, sin importar sus ingresos o procedencia.

Además de estos beneficios, las licencias open source también pueden ayudarte a:

  • Evitar infracciones de copyright.

Si distribuyes tu software sin una licencia, podrías arriesgarte a demandas por infracción de copyright. Una licencia open source otorga explícitamente permiso a los usuarios para usar, modificar y distribuir tu software, protegiéndote de responsabilidades legales.

  • Atraer y retener el mejor talento.

Muchos desarrolladores talentosos se sienten atraídos por los proyectos open source. Al lanzar tu software bajo una licencia open source, puedes hacer que tu empresa sea más atractiva para potenciales empleados.

  • Mejorar la reputación de tu marca.

El software open source es ampliamente respetado por la comunidad tech. Al lanzar tu software con una licencia open source, demuestras tu compromiso con la colaboración y la innovación.

oss_licence(1)

Las licencias de software permisivas están entre las más populares. En esencia, estas licencias permiten a los usuarios modificar y redistribuir el software como quieran, con restricciones mínimas. Tres de las versiones más populares de licencias de software permisivas son:

Licencia MIT

El Licencia MIT es la licencia de código abierto más popular y permisiva. Ofrece libertades notables, ya que permite compartir, modificar, usar y comercializar el material libremente, siempre que se cumplan todas las condiciones establecidas en la licencia.

Licencia Apache 2.0

La licencia Apache 2.0 es una licencia de software permisiva muy popular que permite a los usuarios modificar y redistribuir el software libremente, con la garantía de que las declaraciones y avisos de copyright resultantes se conserven en su forma original. Esta licencia de código abierto permite modificaciones y redistribución propietarias, y ofrece términos de licencia claros para que cualquiera entienda sus derechos al usar el software.

Licencia BSD (Berkeley Software Distribution)

GitHub te permite elegir entre dos licencias BSD: la Licencia BSD de 2 cláusulas “Simplified”, a veces llamada licencia “FreeBSD”; y la Licencia BSD 3-Clause “New” o “Revised”. La principal diferencia entre estas dos licencias es la cláusula de tres puntos. Esta cláusula impide que los usuarios del software utilicen el nombre del autor, autores o colaboradores para promocionar productos o servicios.

Licencia Boost Software

La Boost Software License, proviene de las Boost Libraries de C++ y fue aprobada por la OSI en 2008. Esta licencia es similar a las licencias MIT y BSD, excepto que no requiere atribución al redistribuir en formato binario.

Licencias open source copyleft

Las licencias copyleft permiten a los usuarios usar, modificar y compartir el code de código fuente, pero también protegen contra el relicenciamiento mediante restricciones y términos específicos. Esto representa la característica recíproca de esta licencia, que exige que el trabajo de los usuarios respete los derechos originales establecidos.

Licencias GNU Cuando hablamos de licencias de software copyleft, la GPL (Licencia Pública General) es una de las más populares y utilizadas. Esta licencia open-source otorga a los usuarios la libertad de distribuir copias y versiones modificadas de un programa, siempre que mantengan ciertas condiciones, como avisos de copyright, descargos de responsabilidad o cualquier otra licencia añadida al Programa original.

Al publicar software bajo este tipo de licencia, los desarrolladores aseguran que otros tengan acceso a su code fuente, lo que les permite hacer mejoras y adaptaciones que beneficien a la comunidad. Además, este concepto de “copyleft” garantiza que cualquiera pueda compartir de forma colaborativa las mismas libertades al trabajar con software libre.

Licencia Pública de Mozilla

El Licencia Pública de Mozilla, o MPL, es de la Mozilla Foundation y también se considera una licencia de copyleft débil. La diferencia con esta licencia (en comparación con la Eclipse Public License) es que su copyleft se basa en archivos, lo que significa que code puede combinarse con code de código abierto o propietario.

Licencia Pública Eclipse

El Licencia Pública Eclipse, es de la Eclipse Foundation y se considera una licencia de copyleft débil. Una licencia de copyleft débil exige que los usuarios de software compartan cualquier cambio que hagan en el code. Esta licencia optó por implementar un copyleft más débil para reducir los requisitos más estrictos que los usuarios encontraban con las licencias GNU General Public License.

¿Cómo elegir la licencia correcta para tu proyecto?

  • Si vas a lanzar tu proyecto con una licencia open source, elige una que sea compatible con los proyectos que ya utilizas.

  • Si quieres permitir que otros usen tu proyecto con fines comerciales, elige una licencia que lo permita.

  • Si quieres permitir que otros modifiquen y distribuyan tu proyecto, elige una licencia que lo permita.

  • Si quieres asegurar que tu proyecto siga siendo libre y open source, elige una licencia copyleft.

  • Si no estás seguro de qué licencia elegir, la Open Source Initiative tiene una lista de licencias populares para comparar.

Elegir la licencia correcta para tu proyecto open source es una decisión clave. Analizando tus necesidades y objetivos, podrás elegir la licencia que te ayude a lograr lo que buscas.

Nueva licencia de Capgo

¿Cómo lo consigo? Cambiando mi licencia.

Capgo ha cambiado su licencia de MIT a un esquema más reciente llamado GNU Affero General Public License V3 (AGPLv3) o cualquier versión posterior. La versión Capgo puede encontrarse aquí.

Capacitor-updater (el plugin) ha cambiado su licencia de LGPLv3 a un esquema más reciente llamado Mozilla Public License Version 2.0 (MPLv2) o cualquier versión posterior. La versión Capacitor-updater puede encontrarse aquí.

Este cambio no cambia nada para quienes están suscritos a Capgo Cloud o autoalojan Capgo, pero puede molestar a algunas empresas que intentaron usar mi software para competir directamente conmigo sin contribuir a cambio.

La AGPL es una licencia con la que Google tiene un problema, ya que no está dispuesta a divulgar su code de código cerrado. Google se opone a la AGPL y declara: “No se debe usar Code bajo la licencia GNU Affero General Public License (AGPL) en Google”.

El objetivo de la AGPL es maximizar la libertad del usuario y fomentar que las empresas contribuyan al open source. Soy una aplicación independiente orientada al usuario, no una librería ni parte de un proyecto mayor. No busco donaciones de Google, así que nos parece bien tener licencia AGPL. Es la licencia adecuada para Capgo.

Conclusión

Hay muchos factores a tener en cuenta al elegir una licencia de software open source. Aun así, hay opciones populares en la comunidad de desarrolladores. Las licencias permisivas habituales incluyen la MIT License, la Apache License y la BSD License. Algunas licencias copyleft habituales son la GNU General Public License y la Mozilla Public License.

Continuar desde «Entendiendo las licencias de software open source»

Si estás usando Entender las licencias de software open source para planificar la entrega de live update, conéctalo con Live Updates de Capgo para el flujo de trabajo del producto en Capgo Live Updates, Resumen para el detalle de implementación en Overview, Funcionalidades para el detalle de implementación en Features, Comportamiento de actualización para el detalle de implementación en Update Behavior, y Tipos de actualización para el detalle de implementación en Update Types.

Live updates para apps Capacitor

Cuando un bug de la capa web está en producción, publica el fix a través de Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el flujo de revisión habitual.

Lo último de nuestro blog

Capgo te da la información clave que necesitas para crear una app móvil realmente profesional.