Cuando se trata de licencias de software de código abierto, existen dos categorías amplias. Algunas licencias caen bajo 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 sus 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 código fuente.
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
Una licencia permisiva, a veces se refiere como una licencia no copyleft, concede a los usuarios permiso para usar, modificar y compartir el código code, pero los usuarios también tienen la opción de cambiar algunos de esos términos y condiciones para la redistribución, incluyendo el trabajo derivado. En el contexto del software, un trabajo derivado 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 trabajo derivado con términos diferentes a los que la licencia original podría haber requerido.
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 otorgarles los mismos derechos que se les dieron originalmente.
Las licencias de copyleft definen cómo se permite la redistribución y las modificaciones del code, prohibiendo cualquier intento de hacerlo propietario o no abierto. Esto garantiza que los desarrolladores que modifican el software tengan acceso al código fuente code para actualizarlo o incluso incorporar sus propias modificaciones. Por supuesto, cualquier modificación también debe estar disponible para que otros puedan beneficiarse de su disponibilidad de código abierto. Esto no es un problema para los casos de uso académicos o de investigación, pero a menudo es un obstáculo cuando se construye software comercial.
¿Por qué incluir una licencia de software de código abierto?
Incluir una licencia de software de código abierto es crucial cuando publicas o compartes tu software con otros como 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 el código 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 producto de 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 apasionados por tu software. Esta comunidad puede proporcionar apoyo, 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 usar, y a menudo está disponible en múltiples idiomas. Esto lo hace más accesible para personas de todo el mundo, sin importar 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 distribuyes tu software sin una licencia, estás potencialmente poniéndote 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 tu software, lo que puede protegerte de la responsabilidad legal.
- Atraer y retener talentos destacados.
Muchos desarrolladores de software talentosos se sienten atraídos por proyectos de código abierto. Al liberar tu software bajo una licencia de código abierto, puedes hacer que tu empresa sea más atractiva para posibles empleados.
- Mejorar tu reputación de marca.
El software de código abierto es ampliamente respetado por la comunidad de tecnología. Al liberar tu software bajo una licencia de código abierto, puedes demostrar tu compromiso con la colaboración e innovación.
Licencias de software permissivas populares
Las licencias de software permissivas son las más populares. En esencia, estas licencias permiten a los usuarios modificar y redistribuir el software según su gusto, con restricciones mínimas. Tres de las versiones más populares de licencias de software permissivas son:
La Licencia MIT
La La Licencia MIT es la licencia de software de código abierto más popular y permissiva. Proporciona a los usuarios notables libertades, incluyendo permitirles compartir libremente, modificar, utilizar y comercializar el material siempre y cuando cumplan con todas las condiciones establecidas en la licencia.
La Licencia Apache 2.0
La Licencia Apache 2.0 es una licencia de software permissiva popular que permite a los usuarios modificar y redistribuir el software libremente, 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 propietarias y redistribución y proporciona términos de licencia claros para que cualquier persona pueda comprender sus derechos al utilizar el software.
La Licencia BSD (Distribución de Software de Berkeley)
GitHub te permite elegir entre dos licencias BSD, la La Licencia BSD 2-Clause "Simplificada", a veces se conoce como la "licencia de FreeBSD"; y la BSD 3-Clause “Nueva” o “Revisada” Licencia. La principal diferencia entre estas dos licencias es con la 3-cláusula. Esta cláusula restringe a los usuarios del software de usar el nombre del autor, autores o contribuyentes, para promocionar productos o servicios.
Boost Software License
La licencia de software BoostLa licencia de software Boost, proviene de las bibliotecas de C++ de Boost y fue aprobada por 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 licencia copyleft
Las licencias de código abierto con copyleft 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 a través de restricciones y términos específicos. Esto representa el carácter recíproco de esta licencia que requiere que el trabajo de los usuarios se ajuste a los derechos originales establecidos en la licencia.
Las licencias GNU Cuando se trata de licencias de software copyleft, la licencia pública general (GPL) 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 las notificaciones de derechos de autor, las 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 garantizan que otros tengan acceso a su código fuente code, lo que les permite hacer mejoras y adaptaciones que beneficien a la comunidad. Además, este concepto de “copyleft” garantiza que cualquier persona pueda compartir libremente las mismas libertades al trabajar con software libre.
Mozilla Public License
La Mozilla Public License, o MPL, proviene de la Mozilla Foundation and is also considered a weak copyleft license. The difference with this license (in comparison with the Eclipse Public License) is that it is file-based copyleft, which means code can be combined with open-source or proprietary code.
Eclipse Public License
La Eclipse Public License, proviene de la Eclipse Foundation 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á liberando su proyecto bajo una licencia de código abierto, elija una licencia compatible con los proyectos que está utilizando.
-
Si desea permitir que otros utilicen su proyecto con fines comerciales, elija una licencia que permita esto.
-
Si desea permitir que otros modifiquen y distribuyan su proyecto, elija una licencia que permita esto.
-
Si desea asegurarse de que su proyecto permanezca libre y de código abierto, elija una licencia de copyleft.
-
Si no está seguro de qué licencia elegir, la Iniciativa de Código Abierto tiene una lista de licencias populares que puede comparar.
La elección de la licencia correcta para su proyecto de código abierto es una decisión importante. Al considerar cuidadosamente sus necesidades y objetivos, puede elegir una licencia que le ayude a lograr los resultados deseados.
Capgo nueva licencia
¿Cómo logro todo eso? Cambiando mi licencia.
Capgo ha cambiado ahora la licencia desde el 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 complemento) ha cambiado ahora la licencia desde el 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 afecta a ninguno de ustedes que se subscriban a Capgo Cloud o que hospeden Capgo ellos 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 dispuestos a divulgar su código cerrado code. Google se opone al AGPL y estado: “Code está licenciado bajo la Licencia Pública General Affero de GNU (AGPL) y NO debe usarse en Google”.
El objetivo del AGPL es maximizar la libertad del usuario y animar a las empresas a contribuir con software de código abierto. Soy una aplicación de usuario, independiente y de pie. No soy una biblioteca ni una parte de un proyecto más grande. No busco donaciones de Google, así que estamos contentos de estar licenciados bajo el AGPL. Es la licencia adecuada para Capgo.
Conclusión
Hay muchos factores que 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 de GNU y la Licencia Pública de Mozilla.
Sigue leyendo desde Entendiendo las Licencias de Software de Código Abierto
Si estás utilizando Entendiendo las Licencias de Software de Código Abierto para planificar la entrega de actualizaciones en vivo, conecta con Actualizaciones en vivo de Capgo para el flujo de trabajo del producto en Capgo Actualizaciones en vivo, Resumen para los detalles de implementación en Resumen, Características para los detalles de implementación en Características, Comportamiento de Actualización para los detalles de implementación en Comportamiento de Actualización, y Tipos de Actualización para los detalles de implementación en Tipos de Actualización.