La diferencia entre las licencias de código abierto GPL, BSD, MIT, Mozilla, Apache y LGPL
En primer lugar, tomé prestada una imagen de un amigo que tiene una división relativamente intuitiva y clara de varios protocolos: las diferencias entre GPL, BSD, MIT, Mozilla, Apache, LGPL y otras licencias de código abierto
p>license.jpeg
La siguiente es una breve introducción a los protocolos mencionados anteriormente:
Acuerdo de código abierto BSD
El El acuerdo de código abierto BSD ofrece a los usuarios un acuerdo de grado de gran libertad. Básicamente, los usuarios pueden "hacer lo que quieran", son libres de usar y modificar el código fuente y pueden redistribuir el código modificado como software de código abierto o propietario.
Sin embargo, la premisa de "hacer lo que quieras" es que cuando publicas código utilizando el protocolo BSD, o cuando realizas un desarrollo secundario de tus propios productos basado en el código del protocolo BSD, debes cumplir tres requisitos: Condiciones:
Si el producto redistribuido contiene código fuente, el código fuente original debe contener la licencia BSD. El código original contiene licencia BSD.
Si solo se redistribuyen bibliotecas/software binarios, la licencia BSD en el código original debe incluirse en la documentación y el aviso de derechos de autor de la biblioteca/software.
El nombre del autor/organización de código abierto y el nombre del producto original no pueden utilizarse con fines de marketing.
El código BSD fomenta el disfrute del código, pero se deben respetar los derechos de autor del autor del código. BSD es un protocolo amigable para la integración comercial porque permite a los usuarios modificar y redistribuir código, y también les permite usar o desarrollar software comercial en código BSD para distribución y venta. Muchas empresas y organizaciones prefieren el protocolo BSD al elegir productos de código abierto porque tienen control total sobre estos códigos de terceros y pueden volver a modificarlos o desarrollarlos si es necesario.
Licencia Apache 2.0
La Licencia Apache es un protocolo adoptado por Apache, una conocida organización de código abierto sin fines de lucro. Es similar a BSD en que fomenta que el código *** disfrute y respete los derechos de autor del autor original, y también permite que el código sea modificado y redistribuido (como software de código abierto o software comercial). Las condiciones que deben cumplirse son similares a BSD:
Los usuarios del código deben obtener una copia de la licencia de Apache
Si modifica el código, debe indicarlo en el archivo que fue modificado.
El código de extensión (código modificado y código fuente) debe ir acompañado de la licencia del código original, la marca registrada, el aviso de patente y cualquier otro aviso especificado por el autor original para ser incluido.
Si el producto redistribuido incluye un archivo de aviso, el archivo de aviso debe incluir la licencia de Apache y usted puede agregar su propia licencia al aviso sin que sea una modificación de la licencia de Apache.
La licencia Apache también es una licencia favorable a las empresas. Los usuarios también pueden modificar el código para adaptarlo a sus necesidades y publicarlo/venderlo como código abierto o como producto comercial.
GPL
Estamos familiarizados con la GPL de Linux, que es muy diferente de la BSD, la licencia Apache y otras licencias que fomentan la reutilización de código. La GPL se basa en la idea de que el código es de código abierto/de uso gratuito, y el código referenciado/modificado/derivado también es de código abierto/de uso gratuito, pero no permite que el código modificado y derivado se utilice como cerrado. Distribuir y vender software comercial. Es por eso que podemos usar todo tipo de Linux de forma gratuita, incluido Linux de empresas comerciales, así como diversos programas gratuitos desarrollados en Linux por individuos, organizaciones y empresas de software comercial.
El punto clave de la GPL es que mientras un producto de software utilice ("usos" significa hacer referencia a bibliotecas, código modificado o código derivado) la GPL, el producto de software también debe usar la GPL y debe ser de código abierto y gratuito.
Esto se llama "contagio" y no hay nada de malo en utilizar un producto GPL como producto independiente, con la ventaja adicional de ser gratuito.
Dado que la GPL exige estrictamente que los productos de software que utilizan bibliotecas GPL utilicen GPL, no es adecuado integrar/adoptar GPL como base para bibliotecas y desarrollo secundario en software comercial o industrias que requieren confidencialidad de código abierto. código fuente.
Otros detalles, como el acuerdo GPL que debe incluirse al redistribuir, es similar a BSD/Apache, etc.
LGPL
LGPL es una licencia de código abierto diseñada principalmente para uso de bibliotecas. A diferencia de la GPL, que requiere que cualquier software que use/modifique/deriva una biblioteca GPL adopte la GPL, la LGPL permite que el software comercial utilice la biblioteca LGPL vinculándola con la biblioteca LGPL sin hacer que el código del software comercial sea de código abierto. Esto permite que el software comercial haga referencia, distribuya y venda código fuente abierto LGPL como una biblioteca de clases.
Sin embargo, si el código LGPL se modifica o deriva, todo el código modificado, el código adicional que involucra la parte modificada y el código derivado deben cumplir con los estándares LGPL. Por lo tanto, el código fuente abierto LGPL es adecuado para que el software comercial se utilice como biblioteca de terceros, pero no es adecuado para el software comercial que espera utilizar el código LGPL como base para el desarrollo secundario mediante modificación y derivación.
Tanto GPL como LGPL protegen los derechos de propiedad intelectual de los autores originales e impiden que las personas utilicen código fuente abierto para copiar y desarrollar productos similares
MIT
MIT es a Una licencia tan amplia como la licencia BSD, donde el autor desea conservar los derechos de autor y ninguna otra restricción. Es decir, ya sea que distribuya en formato binario o fuente, debe incluir una declaración de la licencia original con su distribución.
MPL
MPL, abreviatura de Mozilla Public License, es una licencia de software diseñada por el equipo Mozilla de Netscape a principios de 1998 para sus proyectos de software de código abierto. La razón más importante para la licencia MPL fue que Netscape consideró que la licencia GPL no lograba el equilibrio adecuado entre las necesidades de código fuente de los desarrolladores y la necesidad de utilizar el código fuente. En comparación con las conocidas licencias GPL y BSD, la MPL tiene muchos de los mismos derechos y obligaciones (porque es una licencia de software de código abierto que cumple con OSIA). Sin embargo, la MPL difiere en varios aspectos importantes:
◆ La MPL exige que las modificaciones del código fuente publicadas bajo la licencia MPL se concedan en sublicencia bajo la licencia MPL para garantizar que otros puedan disfrutar del código fuente según los términos. del MPL. Sin embargo, la definición de "lanzamiento" en la licencia MPL es "un archivo publicado como código fuente", lo que significa que MPL permite a las empresas agregar interfaces a su base de código fuente existente, además del código fuente del programa de interfaz bajo el Licencia MPL Ningún código fuente distinto de este tiene licencia bajo la licencia MPL. Esto significa que MPL permite a las empresas agregar interfaces a bases de código fuente existentes. Esto deja espacio para tomar prestado el código fuente de otras personas para su propio desarrollo de software comercial.
◆ La Sección 3.7 de la Licencia MPL permite a los licenciatarios mezclar el código fuente obtenido bajo la Licencia MPL con otros tipos de código para obtener sus propios programas de software.
◆ En cuanto a la actitud hacia las patentes de software, la licencia MPL no se opone explícitamente a las patentes de software como la licencia GPL, pero exige explícitamente que el proveedor del código fuente no proporcione código fuente que esté protegido por una patente (a menos que es titular de la patente y pone la licencia a disposición del público de forma gratuita y por escrito) y no puede solicitar patentes relacionadas con el código fuente después de haber obtenido la licencia de código abierto. Patentes relacionadas con dicho código fuente.
◆ Definición de código fuente
En la licencia MPL (versión 1.1), el código fuente se define como: "Código fuente significa la forma más ideal para modificaciones de la obra, donde incluye : todos los programas fuente para todos los módulos, además de definiciones de interfaces relevantes y el 'original' (o 'código fuente') que controla la instalación y compilación del trabajo ejecutable.
'Original' (originalmente 'script'), ya sea código fuente que difiere significativamente del código fuente original o código de programa que el colaborador del código fuente ha decidido poner a disposición desde un dominio público. "
◆ La Sección 3 de la licencia MPL tiene una sección especial que describe las modificaciones del código fuente, lo que requiere que todos los redistribuidores tengan un documento especial que describa cuándo y cómo se modificó el programa del código fuente.