de vez en cuando, el alboroto de la comunidad sobre las licencias de código abierto polémicas en un producto popular acaparará los titulares, causando que todos nosotros debatamos de qué se trata realmente las licencias de código abierto. El año pasado fue la prohibición de componentes de la Fundación Apache con la cláusula de patente controvertida de Facebook React lo que causó un revuelo que envió a los desarrolladores a correr para las placas de Reddit., En los últimos meses, Redis Labs y MongoDB han hecho cambios en las licencias de código abierto de algunas de sus bases de datos de código abierto más populares, dejando a muchos que se rasquen la cabeza, destacando la necesidad de tener licencias de código abierto explicadas en lenguaje humano.
lo básico: ¿qué es una licencia de código abierto?
cada licencia de código abierto establece lo que los usuarios pueden hacer con los componentes de software, sus obligaciones y lo que no pueden hacer según los términos y condiciones. Esto puede sonar bastante sencillo, pero hay más de 200 licencias de código abierto por ahí, así que buena suerte manteniéndolas organizadas., Dependiendo de la complejidad y los requisitos, depende de las organizaciones elegir qué licencias son más compatibles con sus políticas para garantizar que sigan siendo compatibles.
Copyleft y permisivo: se explican dos tipos de licencias de código abierto
las dos categorías principales de licencias de código abierto a menudo requieren una explicación en profundidad. Las licencias de código abierto se pueden dividir en dos categorías principales: copyleft y permissive. Esta división se basa en los requisitos y restricciones que la licencia impone a los usuarios.,
el derecho de autor es una ley que restringe el derecho a usar, modificar y compartir obras creativas sin el permiso del titular del derecho de autor. Piense en la música, las películas, etc. que son propiedad intelectual de su creador. Cuando un autor libera un programa bajo una licencia copyleft, hace un reclamo sobre los derechos de autor de la obra y emite una declaración de que otras personas tienen el derecho de usar, modificar y compartir la obra siempre y cuando se mantenga la reciprocidad de la obligación., En resumen, si están utilizando un componente con este tipo de licencia de código abierto, entonces ellos también deben hacer su código abierto para su uso por otros también.
una licencia de código abierto permisiva es una licencia de código abierto sin copyleft que garantiza la libertad de usar, modificar y redistribuir, mientras que también permite trabajos derivados propietarios. Las licencias de código abierto permisivas, cariñosamente referidas como» todo vale», ponen restricciones mínimas sobre cómo otros pueden usar componentes de código abierto., Esto significa que este tipo de licencia permite diversos grados de libertad para usar, modificar y redistribuir el código fuente abierto, permitiendo su uso en obras derivadas propietarias, y no requiriendo casi nada a cambio en lo que respecta a las obligaciones futuras.
Hoja de trucos: se explican las principales licencias de código abierto
es importante tener en cuenta que no hay licencias buenas o malas, y que ninguna licencia es mejor que otra. Cualquiera puede crear una licencia de código abierto que se adapte a su fantasía, que es la razón por la que hay tantos por ahí., Esto podría hacer que elegir una licencia de código abierto sea un negocio complicado, especialmente para aquellos de nosotros que no estamos bien versados en la ley y nunca hemos tenido licencias de código abierto explicadas a fondo. Con el fin de ayudar a reducir la decisión y darle sentido a todo, la OSI elaboró una lista de licencias aprobadas, que consta de un poco más de 80 licencias de código abierto que se usan más comúnmente.
de las decenas de licencias de código abierto en la lista aprobada por OSI, algunas prevalecen y son utilizadas por algunos de los proyectos de código abierto más populares que existen.,
hemos creado una lista rápida que explica las licencias de código abierto más utilizadas:
- GNU General Public License (GPL)
- La licencia Apache
- Microsoft Public Licenses (Ms-PL)
- Berkeley Software Distribution (BSD)
- Common Development and Distribution License (CDDL)
- Eclipse Public License (EPL)
- MIT License
GNU General Public License (GPL)
la Licencia Pública General de GNU es la licencia de código abierto más popular., Richard Stallman creó la GPL para proteger el software GNU de convertirse en propietario, y es una implementación específica de su concepto de «copyleft».
GPL es una licencia con copyleft. Esto significa que cualquier software escrito en base a cualquier componente GPL debe ser liberado como código abierto. El resultado es que cualquier software que use cualquier componente de código abierto GPL (independientemente de su porcentaje en el código completo) debe liberar su código fuente completo y todos los derechos para modificar y distribuir el código completo.,
siempre ha habido cierta confusión con respecto a lo que constituye un ‘trabajo basado en’ otro trabajo, lo que a su vez desencadena la obligación de reciprocidad GPL. El FSF trató de añadir más claridad a la GPLv3 en cuanto a cuándo se activa la obligación de reciprocidad. La FSF incluso escribió una nueva licencia GPL, la licencia Affero, para abordar una confusión específica conocida como la»laguna ASP».
Además, la FSF intentó aumentar la compatibilidad de la GPLv3 con otras licencias. Para combinar dos códigos en un trabajo más grande, ambos programas deben permitirlo., Si tales derechos son otorgados por las licencias de ambos programas, son compatibles. Al hacer más compatible la GPLv3, la FSF amplió las opciones de desarrollo.
la tercera diferencia entre las dos versiones es que la GPLv3 fue escrita en un intento de aumentar el uso en todo el mundo. El lenguaje utilizado en la GPLv3 para describir los derechos de licencia se modificó para garantizar que las leyes internacionales lo interpreten como lo pretendía la FSF, a diferencia del lenguaje utilizado en la GPLv2, que se considera muy centrado en los Estados Unidos., La GPLv3 también permite a los desarrolladores agregar exenciones de responsabilidad locales, lo que también ayuda a aumentar su uso fuera de los EE.
Las 10 principales preguntas sobre la licencia GPL respondidas
la licencia Apache
la licencia Apache es una licencia de software de código abierto publicada por la Apache Software Foundation (ASF). Es una licencia popular y ampliamente implementada respaldada por una comunidad fuerte. La licencia Apache le permite usar, modificar y distribuir libremente cualquier producto Con Licencia Apache. Sin embargo, al hacerlo, debe seguir los Términos de la licencia Apache.,
El Grupo Apache (más tarde llamado Apache Software Foundation) lanzó la primera versión de su licencia en 1995, pero es raro que te encuentres con componentes que todavía lleven esta Licencia.
en 2000, cuando Berkeley aceptó el argumento presentado por la Free Software Foundation y retiró su cláusula de publicidad de la licencia BSD y formó la licencia BSD modificada, Apache hizo lo mismo y creó la licencia Apache Versión 1.1.,
la eliminación de la cláusula de publicidad significaba que los materiales publicitarios de los trabajos derivados de cualquier producto Con Licencia Apache ya no eran necesarios para incluir la atribución de la licencia Apache. Se hizo bien incluir la atribución solo en la documentación.
en 2004, la ASF decidió apartarse del modelo BSD un poco más radicalmente y produjo la licencia Apache Versión 2.0 mediante la concesión de derechos de patentes y la definición de definiciones sólidas de los conceptos que utiliza para hacerlo más coherente.,
Las 10 principales preguntas sobre la licencia Apache respondidas
Microsoft Public Licenses (Ms-PL)
la Licencia Pública de Microsoft es una licencia de software libre y de código abierto lanzada por Microsoft, que la escribió para sus proyectos que fueron lanzados como código abierto.
usted es libre de reproducir y distribuir trabajos originales o derivados de cualquier software licenciado bajo la licencia Ms-PL. Sin embargo, no puede usar el nombre, el logotipo o las marcas comerciales de ningún colaborador cuando lo haga., El Ms-PL protege a los autores al no ofrecer explícitamente ninguna garantía expresa o garantías para el uso de su código, por lo que el autor no es responsable si el código no funciona bien en algunos casos.
cuando distribuye software (o su parte) bajo el Ms-PL, no está obligado a distribuir su código fuente. Puedes hacerlo si quieres, pero no estás obligado. Sin embargo, debe conservar todos los Avisos de derechos de autor, patentes, marcas comerciales y atribución que estén presentes originalmente en el software.,
Además, si distribuye cualquier parte del software en su forma de código fuente, puede hacerlo solo bajo el Ms-PL incluyendo una copia completa de esta Licencia con su distribución. Si distribuye cualquier parte del software en su forma compilada o código objeto, solo puede hacerlo bajo cualquier otra licencia que cumpla con el Ms-PL.
es importante tener en cuenta que el documento de términos y Condiciones de Ms-PL es muy corto, conciso y está escrito en un lenguaje muy coherente., Microsoft quería ser muy claro y directo con la comunidad de código abierto, lo que también ayuda a la tasa de adopción (como sabemos por la licencia BSD).
Berkeley Software Distribution (BSD)
Las licencias BSD o la licencia BSD original y sus dos variantes – la licencia BSD modificada (3-cláusula), y la licencia BSD simplificada / licencia FreeBSD (2-cláusula) son una familia de licencias de software libre permisivas.,
la licencia BSD le permite modificar y distribuir libremente el código de su software en el formato fuente o binario, siempre y cuando conserve una copia del Aviso de derechos de autor, la lista de condiciones y el descargo de responsabilidad.la licencia BSD original o la licencia BSD de 4 cláusulas también contiene una cláusula de publicidad y una cláusula de no aprobación (se ofrece una explicación detallada sobre estas cláusulas en las siguientes preguntas). La licencia BSD modificada o la licencia BSD de 3 cláusulas se formó mediante la eliminación de la cláusula de publicidad de la licencia BSD original., Además, la versión de FreeBSD o la licencia BSD de 2 cláusulas se formó eliminando la cláusula de no aprobación de la licencia BSD modificada o la licencia BSD de 3 cláusulas.
Common Development and Distribution License (CDDL)
CDDL es una licencia de código abierto publicada por Sun Microsystems para reemplazar la Sun Public License (SPL). La licencia CDDL es considerada por Sun (ahora Oracle) como SPL versión 2. Está inspirado en la Licencia Pública de Mozilla (MPL)., Sun solía lanzar sus proyectos de software libre / código abierto bajo su Sun Public License (SPL) antes de confiar en la CDDL en 2004. CDDL a menudo se dobla como una versión limpia de la MPL y se hace para facilitar la reutilización.
usted es libre de reproducir y distribuir cualquier trabajo original o derivado de cualquier software licenciado bajo la CDDL. Sin embargo, no debe eliminar ni realizar ningún cambio en los Avisos de derechos de autor, patentes o marcas comerciales contenidos en el software., También debe conservar cualquier aviso de licencia o cualquier texto descriptivo que atribuya a cualquier colaborador o desarrollador inicial.
cuando distribuya su software en una forma ejecutable (cualquier otra forma que no sea el código fuente), deberá hacer que el código fuente esté disponible también bajo la CDDL. La forma ejecutable puede publicarse bajo la CDDL o cualquier licencia compatible con CDDL.,
el código fuente que tiene que poner a disposición incluye sus contribuciones siempre y cuando sean una adición, eliminación o modificación del contenido de un archivo que contiene el software original, o archivos nuevos que contienen partes del programa original. Eso significa que si sus adiciones se hacen en archivos separados e independientes que no contienen el código original, no tiene que publicarlo bajo la CDDL. Puede hacerlo si lo desea, pero no está obligado.
Además, debe incluir una copia de la CDDL con cualquier código fuente que distribuya., Para cada modificación que realice, debe identificarse como el modificador mediante la inclusión de un aviso en sus archivos modificados.
Eclipse Public License (EPL)
La Eclipse Public License (EPL) es una licencia de código abierto desarrollado por la Fundación Eclipse. Se deriva de la Licencia Pública común (CPL). La base de código Eclipse ahora disponible bajo la EPL estaba anteriormente licenciada bajo la CPL.
la licencia EPL es una licencia copyleft., Si modifica un componente EPL’Ed y lo distribuye en el formulario de código fuente como parte de su programa, debe divulgar el código modificado bajo la EPL. Si distribuye un programa de este tipo en su forma de código objeto, debe indicar que el código fuente se puede poner a disposición del destinatario a petición. También es necesario compartir el método para solicitar el código fuente.
La Fundación Eclipse deja en claro que, en su opinión, ‘simplemente interactuar o interoperar’ con un complemento Eclipse no hace que su código sea un trabajo derivado del complemento.,si redistribuye un programa con un componente EPL, está obligado a incluir el texto completo de la licencia y los derechos de autor.
la EPL protege al autor de posibles demandas o daños causados si una empresa utiliza su componente en un producto comercial. También ofrece una concesión de patente.
MIT License
MIT es una de las licencias de software libre más permisivas. Básicamente, puede hacer lo que quiera con el software licenciado bajo la licencia MIT, solo si agrega una copia de la licencia MIT original y un aviso de derechos de autor., Su simplicidad es la razón detrás de su alta tasa de adopción entre los desarrolladores.
conozca sus licencias de código abierto, o Explíqueselo al juez
si ha llegado hasta aquí, entonces sabe que las licencias de código abierto no son para los débiles de corazón.