Cada práctica de desarrollo requiere que usemos algún tipo de licencia para nuestro código fuente en algún momento. Hay una gran cantidad de opciones de licencia para elegir. Trataré de dar mi análisis exhaustivo de las licencias más comunes que usamos en Shakuro en diferentes proyectos de desarrollo web / móvil / software.
Licencia de dominio público
La licencia equivalente de dominio público pertenece a las licencias que otorgan derechos de dominio público o que actúan como exenciones. Se utilizan para que cualquier persona sin condiciones pueda utilizar obras protegidas por derechos de autor, evitando las complejidades de atribución o compatibilidad de licencias que se producen con otras licencias. Sin embargo, en diferentes países, el concepto de dominio público puede no estar definido o definido de una manera diferente, por lo que usar esta licencia puede traer ciertos riesgos.
- ¿Existe una 'selección de material' específica o software de diseño que pueda usarse para diseñar drones?
- ¿Qué software debo usar si estoy aprendiendo a codificar por primera vez?
- ¿Cuáles son las aplicaciones útiles en su lista de aplicaciones que no sean Quora?
- ¿Qué hace que la capacidad de la horquilla sea una estipulación tan crítica del software de código abierto?
- ¿Cuál es un buen software para hacer diagramas?
Cero / dominio público (CC0)
CC0 fue creado para aumentar la compatibilidad con dominios legales que no tienen el concepto de dedicarse al dominio público. Esto se logra mediante una declaración de exención de dominio público y un respaldo a la licencia totalmente permisiva.
Licencia de software permisiva
La licencia de software permisiva, a veces también llamada licencia de tipo BSD o de estilo BSD, es una licencia de software libre con requisitos mínimos sobre cómo se puede redistribuir el software. Dichas licencias requieren más que simplemente atribuir las partes originales del código con licencia a los desarrolladores originales en su propio código y / o documentación.
Los ejemplos de licencias permisivas son la licencia MIT, las licencias BSD, la licencia de fuente pública de Apple y la licencia de Apache.
Licencia de software Copyleft
Copyleft es un enfoque general para construir un programa de manera ilimitada que requiere que todas las versiones modificadas y extendidas del programa también sean gratuitas. Las licencias de Copyleft para software requieren la información necesaria para reproducir y modificar el trabajo, que se pondrá a disposición de los destinatarios de los archivos binarios. Pero, ¿qué significa en la práctica?
Si distribuye su aplicación y usa alguna biblioteca Copyleft como parte de su aplicación, (incluso si es solo el enlace de tiempo de ejecución a una biblioteca) incluso si no cobra nada, e incluso si no cambia esa biblioteca en de cualquier manera, debe hacer que el código fuente de su aplicación esté disponible para los usuarios finales.
Hacer que la fuente esté disponible no significa que los usuarios puedan descargarla automáticamente. Es posible que deba recibir una solicitud por escrito y luego enviar las fuentes. No puede eludir la obligación de poner su propio código fuente a disposición de los usuarios finales.
Los ejemplos de licencias Copyleft: Licencias GPL, Licencia pública de IBM.
Los Híbridos (Combinaciones de licencias permisivas y Copyleft)
MPL v2.0 (Mozilla Public License Version 2.0) es una licencia copyleft que es fácil de cumplir. Puede combinar el software MPL versión 2.0 con un código propietario.
- Si no lo modifica, deberá proporcionar solo un enlace a las fuentes de la biblioteca. Se parece mucho a la licencia permisiva.
- Si lo modifica, deberá proporcionar fuentes para los archivos modificados (no todo el proyecto). Se parece un poco a una licencia débil de Copyleft.
Compatibilidad de licencia
Las flechas vectoriales indican una compatibilidad unidireccional, por lo tanto, una mejor compatibilidad en el lado izquierdo (“licencias permisivas”) que en el lado derecho (“licencias copyleft”).
La comparación de licencias de software gratuitas y de código abierto
Consulte Comparación de licencias de software gratuitas y de código abierto para averiguar si la licencia es compatible con su proyecto.
Licencias de software en pocas palabras
En general, todas las licencias de software tienen una cosa en común y es “Mantener el aviso de copyright”. Lo menos que puede hacer es incluir un aviso de copyright en su documentación o un acuerdo de licencia de usuario final (EULA). Por ejemplo, “Este software usa el nombre de la biblioteca. Ver library-license.txt “.
La licencia MIT
La licencia MIT es una licencia de software libre creada por el MIT (Instituto de Tecnología de Massachusetts). Al ser una licencia permisiva, impone restricciones muy limitadas a la reutilización, lo que significa que tiene una gran compatibilidad de licencia.
Puntos clave:
- Guarde el aviso de copyright.
- Usted es libre de modificar, redistribuir e incluso sublicenciar el código bajo otra licencia.
- El autor original no es responsable de ningún daño resultante de su código.
La licencia BSD
La licencia BSD es parte de una familia de licencias permisivas de software libre, que impone restricciones mínimas sobre el uso y la redistribución del software cubierto. A diferencia de las licencias copyleft, con requisitos de reciprocidad para compartir, la licencia BSD es una licencia simple que simplemente requiere que todo el código con licencia bajo la licencia BSD tenga licencia bajo la licencia BSD si se redistribuye en formato de código fuente.
Puntos clave:
- Guarde el aviso de copyright.
- Usted es libre de usar, redistribuir y licenciar el código bajo otra licencia.
La licencia Apache 2.0
La licencia Apache 2.0 es una licencia de software libre permisiva de Apache Software Foundation. La versión 2.0 requiere la preservación del aviso de copyright y la exención de responsabilidad. También permite al usuario del software la libertad de usar el software para cualquier propósito, modificarlo y distribuir las versiones modificadas del software, bajo los términos de la licencia, sin preocuparse por las regalías.
Puntos clave:
- Guarde el aviso de copyright.
- Su software debe contener una copia de la licencia Apache 2.0.
- Usted es libre de usar, modificar, distribuir y redistribuir el software.
- Si modifica el código, debe mencionar sus modificaciones en particular.
- Si hay un archivo de texto llamado AVISO, tómese el tiempo y léalo. Contiene más información sobre las partes específicas de la licencia y el propósito del software.
- El archivo AVISO también debe incluirse en su versión de software.
La licencia GPL
La licencia GPL es la primera licencia copyleft para uso general. Una licencia copyleft significa que el trabajo derivado solo puede distribuirse bajo los mismos términos de licencia. Esto se distingue de las licencias de software libre permisivas como las licencias BSD y la licencia MIT.
Puntos clave:
- Mantenga el encabezado de la licencia.
- Su versión de software también debe tener licencia GPL.
- Si alguien lo solicita, debe hacer que las fuentes estén disponibles.
La licencia MPL 2.0
La Licencia pública de Mozilla (MPL) es una licencia de software gratuita y de código abierto desarrollada y mantenida por la Fundación Mozilla. Es una licencia de copyleft débil, caracterizada como un punto medio entre las licencias de software libre permisivas y la Licencia Pública General de GNU (GPL), que busca equilibrar las preocupaciones de los desarrolladores propietarios y de código abierto. La versión 2.0 muestra actualizaciones importantes con el objetivo de una mayor simplicidad y una mejor compatibilidad con otras licencias.
Puntos clave:
- Guarde el aviso de copyright.
- Proporcione el enlace a la fuente del código MPLed.
- Si modifica el código, debe hacer que las partes del código fuente con licencia MPL estén disponibles e informar a los destinatarios cómo pueden obtenerlas.