Cuando se trata de licencias de software de código abierto, existen dos categorías amplias. Algunas licencias caen en la categoría de licencia copyleft, mientras que otras son licencias de código abierto permisivas.
En este artículo, explicaré qué es la licencia de software de código abierto y los tipos.
Introducción
Una Licencia de Código Abierto es un tipo de licencia que permite a los usuarios ver libremente, modificar y compartir el material de origen del software. De esta manera, los usuarios pueden actualizar con frecuencia el origen code y construir sobre el producto original.
Según el tipo de Licencia de Código Abierto elegido, los usuarios pueden o no poder realizar ciertas actividades con el code, como venderlo o utilizarlo comercialmente. Además, existen muchos tipos diferentes de Licencias de Código Abierto, cada una ofreciendo términos y condiciones diferentes dependiendo de cómo desean utilizar el material de origen.
Por lo tanto, es importante comprender completamente un tipo de Licencia de Código Abierto antes de aprovechar sus beneficios, así que asegúrese de leer más abajo antes de tomar cualquier decisión.
Tipos de Licencias de Código Abierto
Licencias Permisivas
A una licencia permisiva, a veces se le conoce como una licencia no copyleft, concede a los usuarios permiso para usar, modificar y compartir el código fuente code, pero los usuarios también tienen la opción de cambiar algunos de esos términos y condiciones para la redistribución, incluida la obra derivada. En el contexto del software, una obra derivada es una pieza de software que se basa en un programa existente. Si el original se lanzó bajo una licencia permisiva, un creador puede elegir compartir su obra derivada con términos diferentes a los que el trabajo original podría haber requerido.
Las Licencias Copyleft
Las licencias copyleft en código abierto proporcionan al usuario del software de código abierto la libertad del autor para modificar, usar y redistribuir el software. Sin embargo, requiere a los usuarios que pasen derechos específicos a otros usuarios downstream al concederles los mismos derechos que se les dieron originalmente.
Copyleft licenses define how redistribution and changes to the code are allowed, prohibiting any attempts at making it proprietary or non-open. This ensures that developers modifying the software have access to the source code to update it or even incorporate their own changes. Of course, any modifications must also be made available so others can benefit from its open source availability. This is a non-issue for academic or research use-cases, but is often a deal breaker when building commercial software.
¿Por qué incluir una licencia de software de código abierto?
Es crucial incluir una licencia de software de código abierto cuando publicas o compartes tu software con otros de código abierto. Una licencia cumple varios propósitos importantes:
- Para promover la colaboración e innovación.
Las licencias de código abierto permiten a cualquier persona ver, modificar y distribuir la fuente code de tu software. Esto anima a otros desarrolladores a contribuir a tu proyecto, corregir errores y agregar nuevas características. Esto puede llevar a un software más robusto e innovador.
- Para dar a los usuarios más control y flexibilidad.
Las licencias de código abierto suelen permitir a los usuarios utilizar, modificar y distribuir el software para cualquier propósito, incluido el uso comercial. Esto da a los usuarios más control sobre su experiencia con el software, y reduce su dependencia de los proveedores de software propietarios.
- Para construir una comunidad alrededor de tu software.
Una licencia de código abierto puede ayudarte a construir una comunidad de usuarios y desarrolladores que están apasionados por tu software. Esta comunidad puede proporcionar soporte, retroalimentación y nuevas ideas para tu proyecto.
- Para hacer que tu software sea más accesible e inclusivo.
El software de código abierto suele ser gratuito para descargar y utilizar, y a menudo está disponible en múltiples idiomas. Esto lo hace más accesible para personas de todo el mundo, independientemente de su ingreso o antecedentes.
Además de estos beneficios, las licencias de código abierto también pueden ayudarte a:
- Evitar la infracción de derechos de autor.
Si distribuye su software sin una licencia, está potencialmente poniéndose en riesgo de ser demandado por infracción de derechos de autor. Una licencia de código abierto concede explícitamente a los usuarios permiso para usar, modificar y distribuir su software, lo que puede protegerlo de la responsabilidad legal.
- Atraer y retener talento de alto nivel.
Muchos desarrolladores de software talentosos se sienten atraídos por proyectos de código abierto. Al liberar su software bajo una licencia de código abierto, puede hacer que su empresa sea más atractiva para posibles empleados.
- Mejorar la reputación de su marca.
El software de código abierto es ampliamente respetado por la comunidad de tecnología. Al liberar su software bajo una licencia de código abierto, puede demostrar su compromiso con la colaboración e innovación.
Licencias de software permissive populares
Las licencias de software permissive son algunas de las más populares. En esencia, estas licencias permiten a los usuarios modificar y redistribuir el software como deseen, con restricciones mínimas. Tres de las versiones más populares de licencias de software permissive son:
Licencia MIT
La Licencia MIT es la más popular y permissive de las licencias de software de código abierto. Proporciona a los usuarios libertades notables, incluyendo permitirles compartir libremente, modificar, usar y comercializar el material siempre y cuando cumplan con todas las condiciones establecidas en la licencia.
Apache License 2.0
El Licencia Apache 2.0 es una licencia de software permisiva popular que permite a los usuarios modificar y redistribuir libremente el software mientras tienen la seguridad de que las declaraciones de derechos de autor y las notificaciones se mantienen en su forma original. Esta licencia de código abierto permite modificaciones y redistribuciones propietarias y proporciona términos de licencia claros para que cualquier persona pueda comprender sus derechos al utilizar el software.
BSD (Distribución de Software de Berkeley) Licencia
GitHub le permite elegir entre dos licencias BSD, la BSD 2-Clausula "Simplificada" Licencia, a veces se conoce como la "licencia de FreeBSD"; y la BSD 3-Clausula "Nueva" o "Revisada" Licencia. La principal diferencia entre estas dos licencias es con la 3-clausula. Esta cláusula restringe a los usuarios del software de utilizar el nombre del autor, autores o contribuyentes, para promocionar productos o servicios.
Boost Software License
La Licencia de Software Boost, proviene de las Bibliotecas de C++ de Boost y fue aprobada por la OSI en 2008. Esta licencia es similar a las licencias MIT y BSD, excepto que no requiere atribución cuando se redistribuye en forma binaria.
Software de Código Abierto con Licencias de Derechos Autor
Las licencias de código abierto conceden a los usuarios del software permiso para usar, modificar y compartir el código fuente code, pero también protegen contra la relicitación mediante restricciones y términos específicos y condiciones.
GNU Licencias Cuando se trata de licencias de software de código abierto, el GPL (Licencia Pública General) es una de las más populares y ampliamente utilizadas. Esta licencia de código abierto concede a los usuarios la libertad de distribuir copias y versiones modificadas de un programa siempre y cuando retengan ciertas condiciones, como avisos de derechos de autor, desacreditaciones de garantías o cualquier otra licencia que se haya agregado al programa no modificado.
Al hacer que el software esté disponible con este tipo de licencia, los desarrolladores están asegurando que otros tengan acceso a su código fuente code, lo que les permite hacer mejoras y adaptaciones que benefician a la comunidad. Además, este concepto de “derechos de autor” garantiza que cualquier persona pueda compartir libremente las mismas libertades al trabajar con software libre.
La
Mozilla Public License , o MPL, proviene de laFundación Mozilla GPL (General Public License) es una de las licencias de código abierto más populares y ampliamente utilizadas. Esta licencia de código abierto concede a los usuarios la libertad de distribuir copias y versiones modificadas de un programa siempre y cuando retengan ciertas condiciones, como avisos de derechos de autor, desacreditaciones de garantías o cualquier otra licencia que se haya agregado al programa no modificado. y también se considera una licencia de copyleft débil. La diferencia con esta licencia (en comparación con la Licencia Pública de Eclipse) es que es una copyleft basada en archivos, lo que significa que code puede combinarse con código abierto o propietario code.
Licencia Pública de Eclipse
La Licencia Pública de Eclipse, es de la Fundación Eclipse y se considera una licencia de copyleft débil. Una licencia de copyleft débil requiere que los usuarios de software compartan cualquier cambio que hagan en el code. Esta licencia eligió implementar un copyleft más débil como una forma de reducir los requisitos más estrictos que los usuarios encontraban con las Licencias Públicas Generales de GNU.
¿Cómo Puedes Elegir La Licencia Correcta Para Tu Proyecto?
-
Si estás liberando tu proyecto bajo una licencia de código abierto, elige una licencia compatible con los proyectos que estás utilizando.
-
Si deseas permitir que otros utilicen tu proyecto con fines comerciales, elige una licencia que permita esto.
-
Si deseas permitir que otros modifiquen y distribuyan tu proyecto, elige una licencia que permita esto.
-
Si deseas asegurarte de que tu proyecto permanezca libre y de código abierto, elige una licencia de copyleft.
-
Si estás indeciso sobre qué licencia elegir, la Iniciativa de Código Abierto tiene una lista de licencias populares que puedes comparar.
Elegir la licencia correcta para tu proyecto de código abierto es una decisión importante. Al considerar cuidadosamente tus necesidades y objetivos, puedes elegir una licencia que te ayude a lograr tus resultados deseados.
Capgo nueva licencia
¿Cómo logro todo eso? Al cambiar mi licencia.
Capgo ha cambiado ahora la licencia del MIT a un esquema de licencia más nuevo llamado GNU Affero General Public License V3 (AGPLv3) o cualquier versión posterior. Capgo versión se puede encontrar aquí.
Capacitor-actualizador (el plugin) ha cambiado ahora la licencia del LGPLv3 a un esquema de licencia más nuevo llamado Mozilla Public License Version 2.0 (MPLv2) o cualquier versión posterior. Capacitor-actualizador versión se puede encontrar aquí.
Esta modificación no hace ninguna diferencia para ninguno de ustedes que se suscriban a Capgo Cloud o que hospeden Capgo por sí mismos, pero puede molestar a unos pocos corporaciones que intentaron usar mi software para competir directamente conmigo sin contribuir de vuelta.
El AGPL es una licencia con la que Google tiene un problema, ya que no están preparados para divulgar su código cerrado code. Google se opone al AGPL y declara: “Code licenciado bajo la GNU Affero General Public License (AGPL) NO DEBE USARSE en Google”.
El objetivo del AGPL es maximizar la libertad del usuario y animar a las empresas a contribuir a código abierto. Soy una aplicación de usuario, independiente y de pie. No soy una biblioteca ni una pieza de un proyecto más grande. No busco las donaciones de Google, así que estamos contentos de ser licenciados bajo AGPL. Es la licencia correcta para Capgo.
Conclusión
Existen muchos factores a considerar al elegir una licencia de software de código abierto. Sin embargo, hay ciertas opciones populares entre la comunidad de desarrolladores. Las licencias permissivas comunes incluyen la Licencia MIT, la Licencia Apache y la Licencia BSD. Algunas licencias copyleft comunes incluyen la Licencia Pública General GNU y la Licencia Pública de Mozilla.
Sigue adelante desde Licencias de Software de Código Abierto
Si estás utilizando Licencias de Software de Código Abierto para planificar la entrega de actualizaciones en vivo, conecta con Capgo Actualizaciones en Vivo for the product workflow in Capgo Live Updates, para los detalles de implementación en Resumen Características para los detalles de implementación en Características Comportamiento de Actualización targetLanguage para los detalles de implementación en Update Behavior, y Tipos de Actualización para los detalles de implementación en Tipos de Actualización.