Protocolos comunes para software de código abierto
La licencia LGPL es la abreviatura de LICENCIA PÚBLICA GENERAL MENOR, también conocida como LICENCIA PÚBLICA GENERAL DE BIBLIOTECA. La traducción al chino es Licencia pública "relativamente flexible" o "Licencia de biblioteca pública". Esta Licencia se aplica a algunos paquetes de software, como bibliotecas, especialmente diseñadas por la Free Software Foundation y otros autores de software que decidan utilizar esta Licencia. La licencia LGPL también es una licencia de software de código abierto GNU de Free Software Alliance. La mayor parte del software GNU, incluidas algunas bibliotecas, está protegido por la licencia GPL original. La licencia LGPL se aplica a bibliotecas de funciones especialmente diseñadas. Es muy diferente de la Licencia pública general original y otorga a los licenciatarios derechos más flexibles, por lo que se denomina "Licencia pública menor". Su uso dentro de bibliotecas específicas permite vincular programas no libres con esas bibliotecas. Cuando un programa está vinculado con una biblioteca de funciones, ya sea estáticamente o utilizando la biblioteca de funciones, se puede decir razonablemente que la combinación de los dos es un trabajo combinado, un derivado de la biblioteca de funciones original. Por lo tanto, la Licencia Pública General original permitía la vinculación sólo si la combinación completa cumplía con sus criterios de libertad. La Licencia Pública General, más permisiva, permite vincular otro código de programa con la biblioteca bajo estándares menos estrictos. Por ejemplo, en algunos casos puede haber una necesidad especial de fomentar el uso más amplio posible de una biblioteca particular, convirtiéndola así en un estándar práctico. Para lograr este objetivo, se debe permitir que los programas no libres utilicen esta biblioteca. Es muy común que una biblioteca gratuita haga el mismo trabajo que una biblioteca no libre ampliamente utilizada. En este caso, no aporta mucho beneficio limitar el uso de esta biblioteca gratuita al software libre, por lo que utilizamos la licencia LGPL. En otros casos, permitir que programas no libres utilicen bibliotecas específicas permite que más personas utilicen la mayor parte del software libre. Por ejemplo, permitir que programas no libres utilicen la biblioteca GNU C puede permitir que más personas utilicen todo el sistema operativo GNU y su variante del sistema operativo GNU/Linux. Aunque la licencia LGPL proporciona menos protección a la libertad del usuario, garantiza que los usuarios de programas vinculados a esta biblioteca tengan la libertad y los medios necesarios para ejecutar programas con versiones modificadas de la biblioteca.
Licencia MPL
MPL es la abreviatura de Mozilla Public License. Es una licencia de software diseñada por el equipo Mozilla de Netscape en 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 con los beneficios que obtienen al utilizar el código fuente. En comparación con las conocidas licencias GPL y BSD, MPL es idéntica a ellas en muchos aspectos de derechos y obligaciones (porque ambas son licencias de software de código abierto reconocidas por OSIA). Pero en comparación con MPL, existen varias diferencias significativas: ◆ MPL requiere que las modificaciones al código fuente publicado bajo la licencia MPL se vuelvan a otorgar en forma de licencia MPL para garantizar que otros puedan disfrutar del código fuente bajo los términos de MPL. . Sin embargo, en la licencia MPL, la definición de "distribución" es "un archivo distribuido desde el código fuente", lo que significa que MPL permite a las empresas agregar una interfaz basada en su código fuente existente. Además de que el código fuente del programa de interfaz se licencia externamente en forma de licencia MPL, el código fuente de la biblioteca de códigos fuente se puede licenciar obligatoriamente externamente sin una licencia MPL. Todo esto deja lagunas para que su propio desarrollo de software comercial aprenda del código fuente de otras personas. ◆El artículo 3(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 tenga emitido una declaración escrita) licenciar estos códigos fuente al público de forma gratuita), ni puede solicitar patentes relacionadas con estos códigos fuente después de otorgarlos bajo una 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: "El código fuente se refiere a la forma preferida de modificar el trabajo. Incluye todos los programas fuente para todos los módulos, además de la definición de las interfaces relevantes. , y luego Más el 'original' (el texto original es 'script') que controla la instalación y compilación de trabajos ejecutables, o que no tiene nada que ver con el original. El Artículo 3 de la Licencia MPL tiene una disposición especial para describir la fuente. modificaciones de código, lo que requiere que todos los Redistribuidores tengan un archivo especial que describa cuándo y cómo se modificó el código fuente del programa.
Licencia BSD
La licencia BSD se utilizó originalmente para cada versión publicada por el. Universidad de California, Berkeley La versión 4.4BSD/4.4BSD-Lite (BSD es la abreviatura de Berkly Software Distribution) se ha utilizado gradualmente desde entonces. En 1979, la Universidad de California, Berkeley lanzó BSD Unix, conocido como el. Pionero de la licencia de código abierto.
La licencia BSD ahora la utilizan software de código abierto como Apache y el sistema operativo BSD. En comparación con el rigor de las licencias GPL y MPL, la licencia BSD es mucho más relajada. Sólo es necesario adjuntar la licencia original. Pero, curiosamente, también requiere que todos los demás desarrolladores incluyan sus propios materiales protegidos por derechos de autor. Obtener software distribuido bajo una licencia BSD puede encontrarse con una pequeña situación en la que la licencia del material protegido por derechos de autor ocupa más espacio que el programa.
Licencia QPL
QPL es la abreviatura de Qt Public License, creada por una organización noruega. Los requisitos básicos de la licencia QPL son obtener el código fuente, modificar el código fuente y separar las modificaciones del código original; las modificaciones se pueden combinar en nuevas versiones según los deseos del autor, el código binario puede tener el mismo nombre; como el código original, que es especialmente importante para las bibliotecas de enlaces dinámicos, cualquier error puede corregirse, lo cual es muy importante para el editor del sistema, el software modificado se puede distribuir bajo cualquier licencia de software de código abierto que cumpla con los requisitos básicos; Licencia QPL.
Licencia QNCL
La licencia QNCL es la abreviatura de Qt Non-Commercial License y es la "versión hermana" de la licencia QPL. Al igual que la relación entre la licencia GPL y la licencia LGPL, la licencia QNCL es más estricta que la licencia QPL. La licencia QNCL es la misma que la licencia QPL en términos de modificación y distribución, pero la diferencia radica en el alcance o conexión del software. La licencia QNCL establece que “Si una aplicación le proporciona una entrada que le da derecho a utilizar la funcionalidad del software bajo la licencia QNCL para desarrollar un programa, reutilizar partes del programa o partes de otro software, entonces el uso de la aplicación El uso del software se considera bajo la licencia QNCL y la aplicación estará sujeta a la licencia QNCL." La licencia QNCL es más restrictiva que la licencia QPL porque la licencia QNCL, al igual que la licencia GPL, prohíbe completamente que el software de código abierto obtenido bajo esta licencia se distribuya con otro software relacionado con funciones de biblioteca que no sean del sistema en otras formas de licencia.
Licencia General
El nombre completo de la Licencia General es Licencia Pública General. Después de cumplir con los estándares de certificación de licencias de software de código abierto de OSIA, hay algunos términos detallados en la licencia general que vale la pena consultar: ◆ Definir la autorización de patente. Generalmente, el software de código abierto tiene titulares de derechos de autor de código fuente claros que otorgan licencias al público sobre sus derechos de modificación, derechos de reproducción y otros derechos de autor, pero conservan el derecho de autoría. Sobre esta base, la co-licencia también aclara que si el código fuente contiene derechos de patente, el titular de la patente del código fuente otorgará la licencia exclusiva para copiar y utilizar al público. ◆ Establece que el código fuente y el código fuente modificado pueden combinarse con otros tipos de código no sujetos a esta Licencia y publicarse en forma de nuevos productos, siempre que el código fuente y el código fuente modificado obtenidos bajo esta Licencia puedan usarse de acuerdo con esta Licencia se emiten los requisitos de Certificación. ◆Detalla las circunstancias de la terminación de la licencia, incluida la ocurrencia de un litigio por infracción de patente. Aclara el principio de responsabilidad independiente, es decir, los usuarios que utilicen el código fuente bajo esta licencia, si utilizan el código fuente obtenido con fines comerciales, serán totalmente responsables de las demandas por infracción que surjan del uso del programa de código fuente en aplicaciones comerciales. . Esta disposición es bastante especial y no la exigen la mayoría de las licencias de software de código abierto.
Licencia Pública de IBM
El nombre completo de la licencia de IBM es Licencia Pública de IBM. Bajo la premisa de cumplir con los estándares de certificación de licencias de software de código abierto de OSIA, la licencia de IBM también tiene las siguientes disposiciones detalladas: ◆ Autorización de patente clara. Generalmente, el software de código abierto establece claramente que el titular de los derechos de autor del código fuente concede al público sus derechos de modificación, reproducción y otros derechos de autor, pero conserva el derecho de autoría. Sobre esta base, la licencia de IBM también estipula claramente que si el código fuente contiene derechos de patente, el titular de la patente del código fuente concede los derechos exclusivos de copia y uso al público. ◆Detalla la terminación de la licencia, incluida la falta de publicación y uso del código fuente como lo exige la licencia, litigios por infracción de patentes, etc. Al igual que la licencia general, la licencia de IBM también aclara el principio de responsabilidad independiente, es decir, si el usuario que utiliza el código fuente bajo la licencia aplica el código fuente obtenido con fines comerciales, será totalmente responsable de las demandas por infracción que surjan de la Uso del programa de código fuente en la aplicación comercial.
Licencia Jabber
El nombre completo de la licencia Jabber es licencia de código abierto Jabber, proporcionada por Jabber, Inc. en los Estados Unidos. La licencia Jabber básicamente no se diferencia de otras licencias en términos de copia y distribución del código fuente, pero hay algunas disposiciones detalladas que vale la pena conocer: ◆ El código fuente y el código fuente modificado obtenidos a través de esta licencia se pueden usar con otras licencias que no sujeto a esta licencia Combinación restringida con otros tipos de código para distribución en forma de nuevos productos, siempre que el código fuente y el código fuente modificado obtenidos bajo esta licencia puedan obtener licencias bajo otras licencias de software de código abierto similares a los requisitos de esta licencia y consistentes. con distribución de certificación OSI. ◆Obviamente, el tiempo necesario para poner el código fuente en un estado disponible públicamente debería ser de al menos 12 meses. ◆Declaración de derechos legales de terceros. Si el usuario descubre que una parte posee derechos de propiedad intelectual sobre el código fuente y la interfaz de la aplicación obtenidos a través de esta licencia, debe hacer una declaración separada titulada "Legal" al publicar el código fuente, describiendo los detalles del reclamo de propiedad intelectual y recordando el código fuente El destinatario sabe qué derechos de propiedad intelectual ha adquirido y le informa al destinatario del código fuente cómo ponerse en contacto con el titular de los derechos de propiedad intelectual.
◆Detalla la terminación de la licencia, incluida la falta de publicación y uso del código fuente según lo exige la licencia y el litigio por infracción de patente.
Comparación de protocolos
Protocolo de código abierto BSD
El protocolo de código abierto BSD es un protocolo que brinda a los usuarios mucha libertad. Básicamente, los usuarios son libres de "hacer lo que quieran" con el código fuente, usarlo y modificarlo libremente y redistribuir el código modificado como software de código abierto o propietario. Sin embargo, la premisa de "hacer lo que quieras" al publicar código usando el protocolo BSD, o al desarrollar tus propios productos basados en el código del protocolo BSD, debe cumplir tres condiciones: ◆ Si el producto redistribuido contiene código fuente, el código fuente debe Contiene el código original del protocolo BSD. ◆Si solo redistribuye bibliotecas/software de clases binarias, debe incluir la licencia 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 para 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 compatible con la integración empresarial porque permite a los usuarios modificar y redistribuir código, y también les permite utilizar o desarrollar software comercial distribuido y vendido en código BSD. Muchas empresas y emprendimientos prefieren el protocolo BSD al elegir productos de código abierto, porque pueden controlar completamente el código de estos terceros y modificarlo o volver a desarrollarlo cuando sea necesario.
Instituto Tecnológico de Massachusetts
MIT es una licencia tan amplia como BSD. El autor sólo quiere conservar los derechos de autor sin ninguna otra restricción. En otras palabras, ya sea que distribuya en formato binario o fuente, debe incluir una declaración del acuerdo de licencia original con su distribución. El acuerdo MIT, también conocido como licencia MIT, fue desarrollado originalmente por el MIT. Derechos del licenciatario: 1. El Licenciatario tendrá derecho a utilizar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y vender el Software y sus copias. 2. El licenciatario puede modificar los términos de la licencia para adaptar el contenido a las necesidades del programa. Obligaciones del Licenciatario: El Software y todas las copias del Software deben contener un aviso de derechos de autor y un aviso de licencia.
GNU GPL
El Linux que conocemos adopta la GPL. El acuerdo GPL es muy diferente de BSD, la licencia Apache y otras licencias que fomentan la reutilización de código. El punto de partida de la GPL es el código abierto/uso libre del código y el código abierto/uso libre del código referenciado/modificado/derivado, pero el código modificado y derivado no puede distribuirse ni venderse como código cerrado comercial. software. Es por eso que podemos utilizar una variedad de Linux gratuito, incluido Linux de empresas comerciales, así como diversos programas gratuitos desarrollados en Linux 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 en un software ("uso" se refiere a la referencia de la biblioteca de clases, el código modificado o el código derivado), el producto de software también debe adoptar el acuerdo GPL. El acuerdo es de código abierto y gratuito. A esto se le llama "infecciosidad". Los productos con licencia GPL se pueden utilizar como un solo producto sin ningún problema y además puedes disfrutar de la ventaja de ser gratuitos. Debido a que GPL requiere estrictamente que los productos de software que utilizan bibliotecas de clases GPL utilicen el protocolo GPL, no es adecuado para su integración/adopción como base para bibliotecas de clases y desarrollo secundario para código fuente abierto, software comercial o departamentos que tienen requisitos de confidencialidad de código que utilizar el protocolo GPL. Otros detalles, como la necesidad de incluir una licencia GPL al redistribuir, similar a BSD/Apache.
Gun LGPL
LGPL es un acuerdo de código abierto GPL diseñado principalmente para el uso de bibliotecas de clases. A diferencia de los requisitos de la GPL, cualquier software que utilice/modifique/deriva la biblioteca de clases GPL debe adoptar el protocolo GPL. LGPL permite que el software comercial utilice bibliotecas de clases LGPL a través de referencias de bibliotecas de clases (enlaces) sin 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 o deriva el código con licencia LGPL, todo el código modificado, el código adicional y el código derivado involucrado en la parte modificada deben adoptar la licencia LGPL. Debido a esto, el código fuente abierto con licencia 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 desea realizar un desarrollo secundario mediante modificaciones y derivaciones basadas en LGPL. código con licencia. Tanto GPL como LGPL protegen los derechos de propiedad intelectual de los autores originales e impiden que otros utilicen código fuente abierto para copiar y desarrollar productos similares.
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. Al igual que BSD, este acuerdo también 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 publicado (como software comercial o de código abierto). Las condiciones que deben cumplirse son similares a BSD: ◆ Debe darle al usuario del código una licencia de Apache ◆ Si modifica el código, debe explicarlo en el archivo de modificación. ◆ El código extendido (código modificado y código derivado del código fuente) debe contener descripciones como protocolos, marcas comerciales y declaraciones de patente requeridas por el autor original en el código original.
◆Si el producto redistribuido contiene un archivo de notificación, debe tener la licencia de Apache en el archivo de notificación. Puede agregar su propia licencia a la notificación, pero no puede aparecer como un cambio en 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 según sea necesario y publicarlo/venderlo como un producto comercial o de código abierto.