Las diferencias entre las licencias de código abierto GPL, BSD, MIT, Mozilla, Apache y LGPL
A medida que crece el número de usuarios y la influencia de CooCox, el equipo de CooCox ha aumentado gradualmente su énfasis en el software y los protocolos de código. En el proceso de recopilación y organización, me gustaría compartir con ustedes información resumida.
En primer lugar, utilicemos un diagrama muy intuitivo y claro de un interesado para dividir varios protocolos: las diferencias entre las licencias de código abierto GPL, BSD, MIT, Mozilla, Apache y LGPL
license.jpeg
La siguiente es una breve introducción a los protocolos mencionados anteriormente:
Protocolo de código abierto BSD
El protocolo de código abierto BSD es un protocolo eso da a los usuarios una gran libertad. Básicamente, los usuarios pueden "hacer lo que quieran" y usarlo libremente, modificar el código fuente o volver a publicar el código modificado como software de código abierto o propietario.
Pero la premisa de "hacer lo que quieras" es que cuando publicas código que utiliza el protocolo BSD o desarrollas tus propios productos basados en el código del protocolo BSD, debes cumplir tres condiciones: p>
Si el producto redistribuido contiene código fuente, la licencia BSD del código original debe incluirse en el código fuente.
Si redistribuye solo bibliotecas/software de clases binarias, debe incluir el protocolo BSD en el código original en la documentación y la declaración de derechos de autor de la biblioteca/software de clases.
No utilice el nombre del autor/organización del código fuente abierto ni el nombre del producto original con fines de marketing.
El código BSD fomenta el intercambio de código, pero se deben respetar los derechos de autor del autor del código. BSD es un protocolo que es amigable para la integración comercial porque permite a los usuarios modificar y redistribuir código, y también permite lanzar y vender software comercial utilizando o desarrollado en código BSD. Muchas empresas prefieren el protocolo BSD al elegir productos de código abierto, porque pueden controlar completamente estos códigos de terceros y modificarlos o volver a desarrollarlos cuando sea 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. Este acuerdo es similar a BSD. También anima a los propietarios de códigos a compartir y respetar los derechos de autor del autor original, y también permite la modificación y redistribución del código (como software comercial o de código abierto). Las condiciones que deben cumplirse son similares a BSD:
El usuario del código debe recibir una licencia de Apache
Si modifica el código, debe indicarlo en el archivo modificado.
En el código extendido (modificación y código derivado del código fuente), el acuerdo, la marca registrada, la declaración de patente y otras instrucciones especificadas por el autor original deben incluirse en el código original.
Si el producto relanzado contiene un archivo de aviso, la licencia de Apache debe incluirse en el archivo de aviso. Puede agregar su propia licencia al Aviso, pero no puede parecer un cambio en la Licencia Apache.
La Licencia Apache también es una licencia amigable para aplicaciones comerciales. Los usuarios también pueden modificar el código para satisfacer sus necesidades cuando sea necesario y publicarlo/venderlo como un producto comercial o de código abierto.
GPL
El Linux con el que estamos muy familiarizados adopta GPL. El acuerdo GPL es muy diferente de licencias como BSD y Apache que fomentan la reutilización de código. El punto de partida de la GPL es el código abierto/uso gratuito del código y el código abierto/uso gratuito del código de referencia/modificación/derivado, pero el código modificado y derivado no puede publicarse ni venderse como código cerrado comercial. software. Es por eso que podemos utilizar todo tipo de Linux gratuito, incluido Linux de empresas comerciales y diversos programas gratuitos sobre Linux desarrollados por individuos, organizaciones y empresas de software comercial.
El contenido principal del acuerdo GPL es que siempre que un producto bajo el acuerdo GPL se utilice ("uso" se refiere a referencia de biblioteca de clases, código modificado o código derivado) en un software, el producto de software También debe adoptar el acuerdo GPL, que debe ser de código abierto y gratuito. A esto se le llama "infecciosidad". No hay ningún problema en utilizar productos con licencia GPL como un producto independiente y también puedes disfrutar de la ventaja de ser gratuitos.
Dado que la GPL requiere estrictamente que los productos de software que utilizan la biblioteca de clases GPL deben utilizar el protocolo GPL, no es adecuado integrar/adoptar código fuente abierto que utilice el protocolo GPL, software comercial o departamentos que Tiene requisitos de confidencialidad para el código como biblioteca de clases. La base para las bibliotecas y el desarrollo secundario.
Otros detalles, como la necesidad de acompañar el acuerdo GPL al redistribuir, son similares a BSD/Apache.
LGPL
LGPL es un protocolo de código abierto de GPL diseñado principalmente para su uso con bibliotecas de clases. A diferencia de la GPL, que requiere que cualquier software que utilice/modifique/deriva una biblioteca de clases GPL debe adoptar una licencia GPL. LGPL permite que el software comercial utilice bibliotecas de clases LGPL a través de referencias de bibliotecas de clases (enlaces) sin necesidad de código de software comercial de código abierto. Esto permite que el software comercial haga referencia al código fuente abierto que utiliza la licencia LGPL como una biblioteca de clases y lo publique y venda.
Sin embargo, si modifica el código o los derivados del acuerdo LGPL, todo el código modificado, el código adicional que involucra la parte modificada y el código derivado deben adoptar el acuerdo LGPL. Por lo tanto, el código fuente abierto del protocolo LGPL es muy adecuado para que el software comercial haga referencia a él como una biblioteca de terceros, pero no es adecuado para el software comercial que espera utilizar el código del protocolo LGPL como base para el desarrollo secundario a través de modificación y derivados.
GPL/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 tan amplio como BSD Según el acuerdo de licencia estándar, el autor solo quiere conservar los derechos de autor sin ninguna otra restricción. En otras palabras, debe incluir una declaración del acuerdo de licencia original en su distribución, ya sea que lo publique en binario o en código fuente. code .
MPL
MPL es la abreviatura de The 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 el surgimiento de la licencia MPL es que Netscape cree que la licencia GPL no equilibra bien las necesidades de código fuente de los desarrolladores y los beneficios que obtienen al utilizar el código fuente. En comparación con las famosas licencias GPL y BSD, MPL es igual a ellas en muchos derechos y obligaciones (porque ambas son licencias de software de código abierto reconocidas por OSIA). Sin embargo, en comparación, MPL tiene las siguientes diferencias significativas:
◆ Aunque MPL requiere que las modificaciones al código fuente publicado bajo la licencia MPL se deben sublicenciar bajo la licencia MPL para garantizar que otros puedan disfrutar del código fuente. código bajo los términos de la MPL. Sin embargo, la definición de "lanzamiento" en la licencia MPL es "un archivo publicado en forma de código fuente", lo que significa que MPL permite a una empresa agregar una interfaz a su biblioteca de código fuente existente, excepto el código fuente del programa de interfaz. Si bien el código tiene una licencia MPL, el código fuente en el repositorio de código fuente se puede licenciar obligatoriamente sin una licencia MPL. Estos dejan un vacío para el comportamiento de aprender del código fuente de otras personas y usarlo para su propio desarrollo de software comercial.
◆ El Artículo 3, Sección 7 de la Licencia MPL permite al licenciatario mezclar el código fuente obtenido a través de la licencia MPL con otros tipos de su propio código para obtener su propio programa 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 claramente que el proveedor del código fuente no proporcione código fuente que ya esté protegido por una patente ( a menos que sea el titular de la patente y otorgue licencia sobre estos códigos fuente al público de forma gratuita y por escrito), ni puedo solicitar patentes relacionadas con estos códigos fuente después de otorgar la licencia de estos códigos fuente en forma de licencia de código abierto.
◆ Definición de código fuente
En la licencia MPL (versión 1.1), la definición de código fuente es: "Código fuente se refiere a la máxima prioridad para modificaciones de la obra En opcional formulario, incluye: todos los programas fuente para todos los módulos, además de definiciones de interfaz relevantes, más un 'script' (texto original de 'Script') que controla la instalación y compilación del trabajo ejecutable, o no está relacionado con la fuente original El código con código significativamente diferente es el código del programa disponible en el dominio público seleccionado por el colaborador del código fuente”
◆ El artículo 3 de la licencia MPL tiene una sección especial sobre el requisito de describir el código. Las modificaciones requieren que todos los redistribuidores tengan un archivo especial que describa el momento y el método de modificación del programa de código fuente.