Imagina que hay un proyecto en el que solo trabaja una persona. Todos los desarrollos y desafíos los va a realizar y superar esa persona. Nadie puede decir que el proyecto no vaya a tener éxito.
Ahora en comparación con el proyecto anterior, piense un segundo. Este tiene un montón de gente trabajando en ello. Las soluciones no provienen de un solo cerebro, sino de muchos cerebros expertos.
Entonces, si tuviéramos que juzgar las tasas de éxito de estos dos proyectos, ¿en cuál apostaría? Para muchos, la respuesta sería el segundo proyecto con un equipo masivo de expertos, que serían capaces de encontrar más soluciones y desarrollos que una sola persona.
Un software de código abierto es una plataforma en la que una persona crea un software y otros desarrolladores tienen la oportunidad de leer su código fuente, usarlo, modificarlo y redistribuir con las modificaciones. El software de código abierto hace posible que las personas se unan y hagan magia con su intelecto y habilidades.
Sin embargo, con ese tipo de libertad en el desarrollo, a menudo hay momentos en que las personas, después de modificar un código abierto, lo convierten en un software con propiedad. A veces, a un desarrollador de código abierto no le importaría, pero también existe la posibilidad de que se sienta mal utilizado. Para superar estos escenarios se pensó en una solución y eso es lo que vamos a discutir hoy. Empecemos.
¿Cómo surgieron las licencias de código abierto?
Le sorprendería saber que los orígenes de las licencias de código abierto se remontan a un decreto de consentimiento emitido por el gobierno de los Estados Unidos. Sí, lo leíste bien. Esto fue a finales de los 60 y principios de los 70, cuando el sistema operativo Unix estaba emergiendo, siendo el primer sistema operativo de propósito general.
El gobierno de los Estados Unidos prohibió a AT&T, los fundadores de Unix, participar en cualquier actividad comercial fuera de su campo principal de operaciones, que eran los servicios telefónicos. Entonces, ¿qué hizo AT&T? Hizo lo mejor que podía hacer, dado el decreto.
Hacer de Unix un software comercial estaba fuera de discusión. Entonces, AT&T regaló su código fuente para ser modificado y compartido. Por supuesto, esto se hizo bajo una serie de términos y pautas, pero a los informáticos de ese período no les importaba eso, ni a los informáticos de hoy en día. Este código fuente abierto hizo que Unix fuera extremadamente popular.
Si miramos este escenario detenidamente, es esencialmente una licencia de código abierto por definición. Veamos cómo.
Entonces, ¿qué es una licencia de código abierto?
Las licencias de código abierto son un sistema que dicta los términos y condiciones de uso, modificación y distribución del código del software por parte de personas distintas al creador del software. Básicamente, incluye los permisos y derechos que serían necesarios para usar o reutilizar el código para crear aplicaciones más nuevas con él o agregarlo a proyectos existentes.
Ahora, ¿puedes decirme que lo que hizo Unix fue diferente? No lo creo.
De hecho, las licencias de software de código abierto se remontan a finales de los 60, sin embargo, su uso más formal se atestiguó en los 90 con la introducción del proyecto GNU gracias a Richard Stallman . Más tarde creó la licencia GNU GPL. Los términos de esta licencia eran que cualquiera podía redistribuir el software, siempre que el código fuente fuera abierto y no secreto.
Luego, con el advenimiento y la popularidad del sistema operativo Linux y su adopción de la licencia GNU GPL, las licencias de código abierto se convirtieron en la norma.
Según la Open Source Initiative , hoy en día existen alrededor de 80 licencias de código abierto aprobadas. Y usted mismo puede crear uno para su software, la Iniciativa de Código Abierto lo haría pasar por su proceso de revisión de licencia . Puede hacerlo muy bien, sin embargo, no muchos lo recomendarían.
Entonces, en esencia, las licencias de código abierto son contratos para proyectos de código abierto, que son tan legales como vinculantes, entre los autores del software y las personas que usarían sus componentes.
Para resaltar la importancia de una licencia de código abierto, diría que son estos los que realmente hacen que el desarrollo de software se alinee con el código abierto. Sin una licencia de código abierto, el software no puede ser utilizado ni redistribuido por nadie, a pesar de que su código fuente está disponible públicamente. Y tienen un costo similar en comparación con los OSS, por lo que, al preguntar si las licencias de código abierto son gratuitas, la respuesta es sí, al igual que el software en sí.
¿Cómo se distinguen las licencias de código abierto?
Ahora que se explica el significado de las licencias de código abierto, avancemos más. Lo que comenzó como una licencia única de Stallman se ha convertido en una práctica estándar en la comunidad de código abierto. Como se mencionó anteriormente hay alrededor de 80 licencias de código abierto disponibles en la actualidad, sin embargo, si se clasifican, sólo podría obtener dos. Y estos dos marcan la distinción en la forma y aplicación de dichas licencias.
Y aquí están las licencias de código abierto por categoría:
Licencias permisivas
Al mirar la definición del término permisivo, encontrará palabras como liberal, libertad excesiva, no restrictiva y mi favorita, de mente abierta. Y estas palabras casi definen el alcance de estas licencias.
Como su nombre lo indica, las licencias permisivas de código abierto brindan más libertad para usar, modificar y redistribuir el software. Puede hacer lo que quiera, incluso el uso del software con fines propietarios no está descartado.
El único aspecto en el que estas licencias tienen una restricción es el reconocimiento del autor. Lo que esto significa es que debe cumplir con el aviso de derechos de autor y mantenerlo en su lugar cuando distribuya su propio software. Mientras hagas eso, todo vale aquí. Incluso si no desea compartir el código fuente de las modificaciones, está totalmente bien.
Licencias copyleft
En lo que respecta a las licencias de software gratuitas, la licencia copyleft se encuentra en un ángulo de 180 grados con respecto a la permisiva. Si uno es el Polo Norte, el otro es el Polo Sur.
¿Por qué?
Es porque, mientras que las licencias permisivas presumen de libertad y libertad, las licencias copyleft son el epítome de las restricciones. Cuando se emite una licencia copyleft en un programa, otros desarrolladores pueden usarlo, modificarlo y redistribuirlo, sin embargo, la redistribución debe estar alineada con los términos de la licencia copyleft. Esto significa que el programa modificado tiene que hacer que el código fuente esté disponible públicamente, al igual que el programa original. Y no hay forma de hacerlo.
La licencia GNU GPL, ahora en su tercera versión, es el paradigma aquí. Stallman no apreciaba que las empresas usaran su software y luego lo cerraran como propietario. Y eso es lo que impide esta licencia.
Entonces, ¿qué sucede cuando un software propietario usa un programa con una licencia copyleft en su código fuente?
Tendría que hacerlo público y posiblemente liberar todo el software libre de regalías, ya que estaría bajo los estrictos términos de la licencia copyleft. El riesgo de exponer su propiedad intelectual es inherente a estas licencias.
Además, no puede imponer más restricciones a la forma en que el titular de la licencia ejerce su licencia. Se podría decir que la frase, todo vale, no se acerca a la definición de una licencia copyleft.
Licencias permisivas
Apache 2.0
Al ser una licencia liberal, la licencia Apache 2.0 permite la libertad de usar, modificar y distribuir cualquiera de sus productos. El requisito aquí es incluir las notificaciones de licencia y los derechos de autor en el código distribuido o como un aviso en el software mismo o en ambos.
Según los términos de servicio de esta licencia, no es obligatorio publicar su código fuente en el momento de la distribución, ya sea un trabajo derivado, un proyecto más grande o modificaciones básicas. Todos estos pueden tener diferentes términos de licencia.
MIT
El tipo de licencia más simple de todos, que lleva el nombre de la famosa universidad, solo me tomará una frase para explicar. La licencia MIT es la licencia que le permite hacer cualquier cosa con el código original, sin restricciones en las distribuciones, siempre que mantenga el aviso de licencia y copyright original en el código fuente o software distribuido.
Distribución de software de Berkeley
La licencia BSD, al igual que las otras dos licencias permisivas, le permite modificar y distribuir libremente el software dependiendo de que mantenga el aviso de derechos de autor, siguiendo la lista de condiciones junto con el descargo de responsabilidad.
Tiene tres categorías;
- El BSD de 4 cláusulas fue la primera y original licencia BSD y tenía una cláusula de publicidad y una cláusula de no aprobación;
- El BSD de 3 cláusulas fue la versión modificada sin la cláusula publicitaria;
- Y el BSD de 2 cláusulas, también conocido como FreeBSD, eliminó aún más la cláusula de no aprobación, haciéndolo casi similar al MIT en simplicidad y uso.
Licencias copyleft
La Licencia Pública General GNU es, con mucho, una de las licencias de código abierto más populares, ya que está asociada con la base del software libre y es pionera en las licencias copyleft, siendo la primera en ser aprobada por OSI. Se estableció para evitar que su software se convierta en propietario.
La licencia GNU GPL establece que cualquier software que utilice un componente GPL, a pesar de su proporción de uso, debe poner su código fuente a disposición del público al distribuirse. Pasará los mismos derechos que recibió a través de la licencia a la persona que adopte su software, lo que significa que si su código fuente es de dominio público, cualquiera que use su componente tiene que hacer lo mismo. Esto hace que la licencia GPL sea la versión copyleft más sólida.
En la actualidad, GPLv3 es la versión que se está adoptando ampliamente.
Affero GPL
Pensaría que la licencia GPL debe ser completa y sin lagunas, pero hay una. La licencia GNU GPL solo funciona cuando el software desarrollado con un componente GPL se distribuye. Sin embargo, cuando lo mismo esté disponible a través de una red, no habrá señales de alerta.
Para contrarrestar esta situación, llega la licencia Affero GPL, que básicamente monitorea la distribución a través de redes, incluso las remotas, y envía las alertas correctas a la licencia GPL. Esto hace que la AGPL sea bastante importante para muchos.
Menor GPL
La licencia LGPL es otra variante de la licencia GNU GPL. No hay más lagunas que cubriría. Ofrece prácticamente las mismas notificaciones de licencia y protección de derechos de autor. La única diferencia aquí es que el tamaño de un proyecto puede cambiar los términos de la licencia.
Como explicación, un proyecto más pequeño bajo un proyecto más grande no tendría que cumplir con los términos de licencia del proyecto más grande. Y a un proyecto más pequeño al que se accede como parte de un proyecto más grande, no se le pedirá que comparta el código fuente del proyecto más grande. Yo diría que LGPL hace que las licencias GPL parezcan un poco liberales.
Licencia pública de Mozilla.
La MPL, mantenida por la Fundación Mozilla, es una licencia copyleft tan liberal como existe. La razón radica en su protocolo de distribución. Como licencia copyleft, la MPL exige que el código modificado de su componente se haga público; sin embargo, este intercambio público solo se aplica a las modificaciones que tienen los componentes con licencia y no a todo el software. La estipulación es almacenar el código MPL en archivos separados y hacer que esté disponible abiertamente.
La licencia es compatible con GNU GPL, dados sus avisos de derechos de autor obligatorios y concesiones de patentes. No obstante, a menudo se considera un equilibrio entre licencias permisivas y copyleft.
Licencia de desarrollo y distribución común
A menudo conocida como la versión limpia de MPL, CDDL tiene los mismos atributos que la primera. Dado el hecho de que se inspiró en MPL, eso no es ninguna sorpresa.
Al distribuir el software en forma ejecutable, es obligatorio que ponga a disposición el código fuente. Sin embargo, si sus contribuciones no forman parte del software original y son archivos separados, no es necesario que lo haga público lanzándolo bajo CDDL. Muy similar a MPL, ¿verdad?
Con esta licencia, tendrá la libertad de modificar y distribuir los trabajos originales o derivados de cualquier software CDDL. Las únicas estipulaciones son los cambios en los avisos de derechos de autor, patentes o marcas comerciales del software, junto con el mantenimiento de los reconocimientos de los contribuyentes y los avisos de licencia.
Licencia pública de Eclipse
Fundada por la Fundación Eclipse, la EPL tiene ciertos requisitos sobre la distribución de un componente de EPL. Sin embargo, estos varían dada la circunstancia de los patrones de distribución del código modificado.
- Modificar y distribuir un componente de EPL en el código fuente de su proyecto le obliga a revelar el código modificado bajo el EPL;
- Si bien modificar y distribuir el mismo en forma de código objeto le obligaría a hacer que el código esté disponible a pedido. Además, también se le pedirá que revele la forma en que se puede solicitar el código fuente.
Además, los componentes individuales del programa, incluido el código EPL, no EPL y propietario, se pueden agrupar y sublicenciar. Todo lo que tendría que hacer para eso es asegurarse de que los elementos que no son de EPL sean objetos separados.
Un vistazo rápido al ejemplo de licencia de código abierto a través de Drupal
¿Drupal es de uso gratuito? Sí lo es.
¿Drupal es gratuito para uso comercial? Sí lo es.
¿Por qué?
Drupal es un CMS de código abierto, por eso. Y para llamarse a sí mismo código abierto, tenía que estar registrado bajo una licencia. Y por supuesto que es. Drupal tiene licencia GNU GPL Versión 2 o posterior. Todos los archivos contribuidos que están alojados en Drupal.org tienen la misma licencia.
Puede descargar, reutilizar, modificar y redistribuir libremente cualquier componente de un proyecto de Drupal.org bajo los términos de la licencia GPL, de la que hablamos anteriormente. El software principal de Drupal también se puede ejecutar y licenciar en combinación con una licencia compatible con la versión 2 o 3. Decir que los proyectos de Drupal pueden depender o estar vinculados a activos sin código incompatibles con GPL, sin embargo, esto depende de que el mantenedor posea los derechos para distribuir los activos sin código.
Veamos ahora los aspectos específicos de Drupal y cómo se licencian.
- Los archivos, ya sean PHP, JavaScript o imágenes, que forman parte de un proyecto de Drupal tienen la licencia de Drupal.
- Los módulos y temas se consideran trabajos derivados y, por lo tanto, se distribuirán bajo la GPL versión 2 o 3.
- Sin embargo, el contenido está autorizado bajo Creative Commons Attribution-ShareAlike 2.0.
- El código de muestra sigue los mismos términos de licencia GPL.
Teniendo en cuenta todo esto, ¿quién crees que tiene los derechos de autor del código en Drupal?
La respuesta son sus cientos y miles de colaboradores, que aceptan publicar su código bajo la misma licencia. Sin embargo, sí un colaborador ha creado un parche, pero no está dispuesto a licenciarlo bajo la GPL, probablemente no debería enviarlo y el punto de retener los derechos de autor sobre el mismo sería discutible.
Conclusión
Drupal ha ayudado a una comunidad de cerca de un millón a unirse, construir y distribuir su trabajo y eso no hubiera sido posible o incluso beneficioso si el código fuente no hubiera estado disponible públicamente.
Entonces, las licencias de código abierto según su significado pueden ser liberales y rígidas, pero personalmente siento que la rigidez sirve para más propósitos que la libertad.
Tomado y traducido de: https://opensenselabs.com/blog/articles/understanding-open-source-licenses-and-what-drupals-licensed-under