Licencia de software libre
# Licencia de software libre

Una licencia de software libre es un documento que otorga al software derechos extensivos para modificar y redistribuir ese software. Estas acciones normalmente se prohíben por las leyes de derechos de autor, pero el que posee los derechos, normalmente es el creador del software, puede eliminar esas restricciones acompañando al software con una licencia de software que otorgue al receptor de estos derechos. El software que usa tales licencias se denomina software libre y esas libertades las concede el propietario del copyright. Las licencias de software libre se aplican tanto al software en forma de código fuente o en código objeto binario, ya que las leyes de derechos de autor reconocen ambas formas.

Algunas licencias de software libre incluyen copyleft y esto requiere que todas las versiones futuras sean también distribuidas con estas libertades. Otras licencias de software "permisivas" son normalmente unas pocas líneas conteniendo la cesión de derechos y una garantía de renuncia. Esto permite a los distribuidores añadir restricciones para receptores futuros.

Mientras que históricamente la licencia FOSS más ampliamente usada ha sido la GPL versión 2, en 2015 y de acuerdo con Black Duck Software y las estadísticas de GitHub, la licencia permisiva Licencia MIT destronó a la GPLv2 al segundo lugar mientras que la licencia permisiva Apache sigue todavía en tercer lugar.

## Historia

Las licencias de software libre antes de 1980 fueron generalmente estatutos informales escritos por los propios desarrolladores. En esa época compartir el software era común en las comunidades de desarrolladores y había incluso preguntas sobre si las leyes de derechos de autor se aplicaban al software, así que las licencias no se escribían desde un punto de vista que uno tuviese que defender en un juzgado. El concepto de copyleft todavía no había sido inventado, siendo estas primeras licencias de tipo permisivo.

A mediados de los años 80 el proyecto GNU redactó licencias de software libre individuales para cada uno de sus paquetes de software. Una de las primeras de estas licencias, la GNU Emacs Copying Permission Notice, se usó para GNU Emacs en 1985, con revisiones siguientes en los años 1986, 1987 y 1988, tomando el nombre de GNU Emacs GPL. De manera similar, la GPL de GCC se aplicaba a la colección de compiladores de GNU, que se publicó por primera vez en 1987. Finalmente, en 1989, se publicó la primera versión de la GPL, aunque fue rápidamente superada por la segunda versión en 1991. De esta forma, llegó a ser la licencia de software libre más ampliamente usada.

Otra de las primeras licencias de software libre en aparecer, fue la licencia BSD. Esta fue creada para la distribución del sistema operativo BSD, desarrollado en la Universidad de Berkeley.

Posteriormente, en la década de los noventa, se popularizó la creación o adaptación de licencias por parte de compañías y proyectos para sus propios productos. Esta rápida proliferación de licencias derivó en una complicada situación, donde el exceso de opciones dificultaba la elección de una licencia por parte de los desarrolladores de software y, al mismo tiempo, generaba problemas de compatibilidad a la hora de distribuir programas con licencias distintas que podían tener términos contradictorios. Esto llegó a desembocar en procesos judiciales, como los que afectaron a la segunda versión de la licencia GPL en Alemania y más tarde en Estados Unidos. En el caso alemán, relacionado con el programa iptables, la defensa —la empresa que había incumplido los términos de la GPL— argumentó que no había aceptado la licencia, por lo que sus cláusulas no debían aplicarse. Sin embargo, sin discutir públicamente la validez de las cláusulas de la GPL, el juez concluyó que en dicho caso se debían respetar los derechos garantizados por defecto en la ley de derechos de autor alemana, que no permite la distribución y copia del software sin permiso del autor, ya que estos se habían dado únicamente como parte de la licencia y esta misma exige el cumplimiento de todos sus puntos para acceder a tales derechos. De esta forma, el veredicto fue favorable al demandante —el desarrollador que había publicado su código bajo la licencia GPL—. El caso de EE. UU. —MySQL contra Progress—, fue cerrado antes de que se llegara a un veredicto, pero, en un principio, el tribunal no vio ninguna razón por lo que la GPL no fuese legal ni de obligado cumplimiento.

## Tipos de licencia

### Licencias GPL

Una de las más utilizadas es la Licencia Pública General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL. En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contemplan ni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con código gobernado por la licencia GNU GPL. En el sitio web oficial de GNU hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.

Aproximadamente el 60 % del software licenciado como software libre emplea una licencia GPL o de manejo.

### Licencias LGPL

La Licencia Pública General Reducida de GNU, o más conocida por su nombre en inglés GNU Lesser General Public License, es una licencia creada por la (FSF) que garantiza la libertad de compartir y modificar el software cubierto por ella, asegurando que el software es libre para todos sus usuarios. Esta licencia se aplica a cualquier programa o trabajo que contenga una nota puesta por el propietario de los derechos del trabajo estableciendo que su trabajo puede ser distribuido bajo los términos de esta. El "Programa", utilizado en lo subsecuente, se refiere a cualquier programa o trabajo original, y el "trabajo basado en el Programa" significa que el programa o cualquier trabajo derivado del mismo bajo la ley de derechos de autor.

LGPL es usado habitualmente para licencias de componentes compartidos como por ejemplo librerías (.dll, .so, .jar, etc.).

### Licencias AGPL

La Licencia Pública General de Affero (en inglés Affero General Public License, también Affero GPL o AGPL) es una licencia copyleft derivada de la Licencia Pública General de GNU diseñada específicamente para asegurar la cooperación con la comunidad en el caso de software que corra en servidores de red. Se engloba dentro de las licencias destinadas a modificar el derecho de autor derivadas de GNU. La Affero GPL es íntegramente una GNU GPL con una cláusula nueva que añade la obligación de distribuir el software si este se ejecuta para ofrecer servicios a través de una red de ordenadores. La Free Software Foundation recomienda que el uso de la GNU AGPLv3 sea considerado para cualquier software que usualmente corra sobre una red.

La novedad de AGPL es que, aparte de las cláusulas propias de una GNU GPL, ésta obliga a que se distribuya el software que se destine a dar servicios a través de una red de ordenadores, es decir, si se quiere usar como parte del desarrollo de un nuevo software, este quedaría obligado a su libre distribución.

### Licencias Estilo BSD

Llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. Es un buen ejemplo de una licencia permisiva que casi no impone condiciones sobre lo que un usuario puede hacer con el software. El autor, bajo tales licencias, mantiene la protección de copyright únicamente para la renuncia de garantía y para requerir la adecuada atribución de la autoría en trabajos derivados, pero permite la libre redistribución y modificación, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son fácilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. También, BSD permite el cobro por la distribución de objetos binarios. Puede argumentarse que esta licencia asegura “verdadero” software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre (normalmente utilizando la siguiente analogía: "una licencia BSD es más libre que una GPL si y solo si se opina también que un país que permita la esclavitud es más libre que otro que no la permite").

### Licencia PSFL

La Python Software Foundation License, anteriormente Python License, es una licencia de software libre permisiva, al estilo de la licencia BSD, es decir, que cumple con los requisitos OSI para ser declarada licencia de software libre; además, es compatible con la licencia GPL. A diferencia de la licencia GPL, y como la mayoría de licencias tipo BSD, la licencia PSFL no es una licencia copyleft, y permite modificaciones del código fuente, así como la creación de trabajos derivados, sin requerir que ni las modificaciones ni los trabajos derivados tengan que ser a su vez de código abierto. La licencia PSFL está dentro de las listas de licencias aprobadas tanto por la Free Software Foundation como por la Open Source Initiative.

### Licencia MIT

La licencia MIT es una de tantas licencias de software que ha empleado el Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology) a lo largo de su historia, Pero ya sea como MIT o X11, su texto es idéntico. El texto de la licencia no tiene copyright, lo que permite su modificación. No obstante esto, puede no ser recomendable e incluso muchas veces dentro del movimiento del software de código abierto desaconsejan el uso de este texto para una licencia, a no ser que se indique que es una modificación, y no la versión original. La licencia MIT es muy parecida a la licencia BSD en cuanto a efectos.

### Licencias MPL y derivadas

Esta licencia es de Software Libre y tiene un gran valor porque fue el instrumento que empleó Netscape Communications Corp. para liberar su Netscape Communicator 4.0 y empezar ese proyecto tan importante para el mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos. La MPL es Software Libre y promueve eficazmente la colaboración evitando el efecto "viral" de la GPL (si usas código licenciado GPL, tu desarrollo final tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la GPL presenta un inconveniente en este punto, y lamentablemente mucha gente se cierra en banda ante el uso de dicho código. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft débil. La NPL (luego la MPL) fue la primera licencia nueva después de muchos años, que se encargaba de algunos puntos que no fueron tomados en cuenta por las licencias BSD y GNU. En el espectro de las licencias de software libre se la puede considerar adyacente a la licencia estilo BSD, pero perfeccionada.

### Licencia CDDL

Common Development and Distribution License (Licencia Común de Desarrollo y Distribución), también conocida como Sun Public License (SPL) versión 2, es una licencia de código abierto (OSI) y libre, producida por Sun Microsystems, basada en la Mozilla Public License o MPL, versión 1.1. La licencia CDDL fue enviada para su aprobación al Open Source Initiative el 1 de diciembre de 2004, y fue aprobada como una licencia de código abierto a mediados de enero de 2005. En el primer borrador hecho por el comité de divulgación de licencias OSI, la CDDL es una de las nueve licencias más populares, mundialmente usadas o con fuertes comunidades.

### Licencias EPL

La Licencia Pública Eclipse (EPL) es una licencia utilizada por la Fundación Eclipse para su software. Sustituye a la Licencia Pública Común (CPL) y elimina ciertas condiciones relativas a los litigios sobre patentes. La Licencia Pública de Eclipse está diseñado para ser una licencia de software favorable a los negocios y cuenta con disposiciones más débiles que las licencias copyleft contemporáneas. El receptor de programas licenciados EPL pueden utilizar, modificar, copiar y distribuir el trabajo y las versiones modificadas, en algunos casos están obligados a liberar sus propios cambios.

### Licencia APSL

La Apple Public Source License es la licencia de código abierto y de software libre bajo la cual se publicó el sistema operativo de Apple, Darwin. Esta licencia fue adoptada de forma voluntaria para aumentar la colaboración de la comunidad de la que se origina gran parte de Darwin. La primera versión de APSL fue aprobada por Open Source Initiative (OSI). La versión 2.0, lanzada el 29 de julio de 2003 es compatible con las directrices de la Free Software Foundation, y también está aprobada por la OSI. La Free Software Foundation aprobó la Apple Public Source License 2.0 como una licencia libre ya que reúne los requisitos y afirma que está bien usar y mejorar el software ya publicado bajo esta licencia pero no recomienda utilizarla para proyectos nuevos.

Actualmente la FSF considera que la APSL es una licencia de software libre que presenta dos problemas principales, de manera semejante a la NPL:

* No tiene un verdadero copyleft, porque permite enlazar con otros ficheros que pueden ser completamente privativos.
* No es compatible con la GPL.

### Licencia Apache

La licencia Apache (Apache Software License para versiones anteriores a 2.0) es una licencia de software libre creada por la Apache Software Foundation (ASF). La licencia (con versiones 1.0, 1.1 y 2.0) requiere la conservación del aviso de copyright y el disclaimer, pero no es una licencia copyleft, ya que no requiere la redistribución del código fuente cuando se distribuyen versiones modificadas ni siquiera que se tengan que distribuir como software libre/open source, solo exige que se mantenga una noticia que informe a los receptores que en la distribución se ha usado código con la Licencia Apache.

### Licencia PHP

La licencia PHP es la licencia bajo la cual se publica el lenguaje de programación PHP. De acuerdo a la Free Software Foundation es una licencia de software libre no copyleft y una licencia de código abierto según la Open Source Initiative. Debido a la restricción en el uso del término "PHP", no es compatible con la licencia GPL.

Las continuas mejoras y avances dentro del lenguaje resultan de una gran comunidad de desarrolladores que contribuyen, sin obtener réditos comerciales, con:

* Código fuente.
* Soporte a otros usuarios a través de listas de correo.
* Revisión del programa en busca de errores.
* Notificación de fallas de seguridad y más.

Sobre esta base se sostiene una licencia que, justamente, asegura la libertad del lenguaje y no permite bajo concepto alguno que alguien obtenga beneficios comerciales de PHP y sea el dueño del lenguaje: éste es el espíritu de la licencia.

Cuando se desarrolla una aplicación y se la vende a terceros el importe que se cobra no es el lenguaje de programación sino la solución a un problema, el tiempo invertido en el desarrollo, el soporte, u otro particular.

## Definiciones

### Licencias de software libre aprobadas por la FSF

La Free Software Foundation (FSF), grupo creado para impulsar el software libre y muy vinculado al proyecto GNU, mantiene una lista no exhaustiva de licencias de software libre. Estas deben ser acordes a la definición de software libre dada por la FSF, es decir, que cumpla las cuatro libertades del software libre. La FSF recomienda el uso de las licencias de software libre copyleft —las que obligan a distribuir las obras derivadas con licencias también libres— antes que las licencias de software libre permisivas para la mayoría de los propósitos. En su lista distingue entre las licencias de software libre que son compatibles la GPL y las que no.

### Licencias de código abierto aprobadas por el OSI

El grupo Open Source Initiative (OSI) mantiene una lista de licencias de código abierto aprobadas por el mismo. Esta coincide con la de la FSF en la mayoría de los casos, aunque existen puntos de vista discordantes entre ambas organizaciones. Por ejemplo, la OSI se muestra más favorable hacia las licencias de software libre permisivas.

## Restricciones en las licencias de software libre

Existe un debate que todavía está en vigor en la comunidad de software libre con respecto a la fina línea entre qué restricciones se pueden aplicar y qué todavía se pueda llamar libre.

Solo las licencias del tipo de dominio público están libres de restricciones, como por ejemplo la WTFPL o la licencia CC0. Las licencias permisivas pueden conllevar pequeñas obligaciones como la atribución de la autoría, pero prácticamente permiten el uso del código en todos los casos. Ciertas licencias, como las licencias de copyleft, incluyen restricciones más fuertes obligando a que los proyectos derivados garanticen derechos específicos que no se pueden eliminar.

Las licencias de software libre compartir-igual escritas por Richard Stallman a mediados de los años ochenta comenzaron un concepto conocido como copyleft. Las licencias de copyleft afirman o imponen que cuando las versiones modificadas del software libre se distribuyen, deben ser distribuidas con los mismos términos que el software original. Por eso se suelen denominar compartir-igual (del inglés share-alike) o quid pro quo. Esto asegura que cualquier obra derivada siga siendo libre, mientras que si se usara una licencia permisiva, se podría emplear dicho software en proyectos privativos.

Los desarrolladores que usan el código GPL en sus productos deben asegurar que el código fuente esté disponible para cualquier usuario del producto, incluyendo cualquier cambio que se haya podido realizar en caso de que sea una obra derivada. Este requisito es únicamente necesario en caso de que las obras derivadas se distribuyan, por lo que no es necesario publicar los cambios realizados si se les da un uso privado. Los defensores del copyleft argumentan que esto permite asegurar la continuidad del software libre, mientras que sus detractores afirman que ninguna licencia puede garantizar la disponibilidad del software futuro y que las desventajas de la GPL superan a las ventajas. Otro argumento muy utilizado es que el copyleft restringe la propia libertad de las licencias al imponer condiciones en la forma en la que las obras derivadas deben ser distribuidas, lo que suele ser rebatido con que el no poder preservar la libertad del software hace menos libre a la licencia.

### Protección contra patentes

Durante los años noventa, estas licencias de software libre empezaron a incluir cláusulas para protegerse contra las patentes de software. Esta nueva amenaza era una de las razones para escribir la versión 3 de la GPL de GNU en el 2006. En los últimos años, están apareciendo dispositivos específicamente diseñados para prevenir que los usuarios ejecuten versiones modificadas del software en ese hardware. Esto es visto por la FSF como una manera de transformar el software libre en no libre de manera efectiva, por lo que esta práctica es incompatible con la tercera licencia de la GPL. Las licencias de software libre escritas recientemente incluyen alguna forma de cláusulas contra patentes. Estas medidas estipulan que los derechos de uno bajo la licencia, tales como la de la redistribución, pueden ser eliminadas si se llevan a cabo prácticas, como la anteriormente mencionada, que restringen las libertades del usuario.

### Otras restricciones

Algunas licencias, como la versión 3 de la GPL, prohíben específicamente que las libertades del producto licenciado puedan ser limitadas por la gestión de derechos digitales.

La mayoría de las licencias de software libre requieren que el software modificado afirme haber sido modificado. Algunas licencias también exigen que se atribuya de forma explícita la autoría a sus autores originales o el mantenimiento de la información existente referida a la licencia.

## Problemas prácticos con las licencias

### Compatibilidad de licencias

Los paquetes de licencias de software que contienen explicaciones contradictorias, hacen imposible combinar el código de estos paquetes para crear nuevos paquetes de software. La compatibilidad de licencias entre una licencia copyleft y otra licencia a menudo se produce en un único sentido. Las licencias que no son copyleft tienen menos problemas de compatibilidad al ser menos restrictivas. Por ejemplo si una licencia dice que las versiones modificadas deben mencionar a los desarrolladores en cualquier material de marketing, y otra dice que las versiones modificadas no pueden contener atribución adicional, entonces si alguien combina un paquete de software que usa una licencia con un paquete de software que usa la otra entonces sería imposible satisfacer la combinación porque estos requisitos son contradictorios y no se pueden completar a la vez, luego estos dos paquetes serían incompatibles. Asimismo, una licencia copyleft no necesariamente es compatible con otra licencia copyleft. Un claro ejemplo de esto está en la incompatibilidad de la versión 2 de la GPL con la versión 3.

### Propósito de uso

Restringir en la licencia los derechos sobre software según el propósito de uso que se tenga —por ejemplo, prohibir su uso para fines militares— suele ser una práctica no aceptada por la mayoría de organizaciones relacionadas con el software libre o el código abierto, entre las que se pueden contar a la FSF, la OSI, Debian, derivados de BSD,... o en organizaciones comerciales.

## Conflictos de definición

Como hay varias organizaciones que definen y grupos que publican definiciones y guías sobre las licencias libres o de código abierto —notablemente la FSF, el OSI, el proyecto Debian y los derivados de BSD— hay a veces conflictos en las definiciones e interpretaciones.

### Las opiniones de copyleft contra las permisivas

Muchos usuarios y desarrolladores de los sistemas operativos basados en BSD tienen diferentes opiniones a la hora de aplicar licencias. La diferencia principal es la creencia de que las licencias de copyleft, en particular la GPL, son indeseadamente complicadas o restrictivas. La GPL exige que cualquier trabajo derivado también se libere de acuerdo con la GPL mientras que la licencia BSD no. Esencialmente la licencia BSD solo exige el conocimiento de los autores originales, y no imponer restricciones sobre cómo se tiene que usar el código fuente. De esta manera el código BSD se puede usar en software propietario que solo reconoce el trabajo de los autores. Por ejemplo el ip Stack de Microsoft Windows NT 3.1 y Mac OS X son derivados de software con licencia BSD. Los que apoyan las licencias BSD argumentan que es mucho más libre que la GPL porque concede el derecho de hacer cualquier cosa con el código fuente, siempre que el reconocimiento del autor se preserve. Por ejemplo, los usuarios pueden incorporar código licenciado con BSD en productos propietarios. Esto ha llevado a que el código BSD se use en el software privativo de manera amplia y generalizada. En respuesta a eso, los que apoyan la GPL dicen que una vez que el código se vuelve propietario, los usuarios pierden las libertades que definen al software libre. De esta manera consideran que la licencia BSD es menos libre que la GPL, y consideran la libertad un concepto distinto visto desde el punto de vista de la falta de ninguna restricción. Ya que la licencia BSD restringe el derecho de los desarrolladores a tener que los cambios que contribuyan a la comunidad, ni la GPL es libre en el sentido de que no haya ninguna restricción.

El código licenciado bajo una licencia de software libre permisiva, tal como la licencia BSD, se puede incorporar a proyectos de copyleft. Ese código es por tanto compatible con la GPL. No es necesario asegurarse del consentimiento de los autores originales. Al contrario el código de la GPL no puede ser licenciado otra vez por las licencias BSD sin asegurarse de que el consentimiento de todos los propietarios del copyright. Estas dos licencias son compatibles, pero a menos que se consiga consentimiento la combinación de ambas como un todo se debe distribuir bajo términos de la GPL, no la licencia permisiva.

El software libre de BSD suele evitar incluir software con licencia bajo la GPL en el núcleo del sistema operativo, o el sistema base, salvo como último recurso cuando no existen alternativa como el caso de gcc. Por ejemplo, en Free BSD 10.0 gcc se reemplaza por Clang quizás principalmente por esta razón. El proyecto open BSD ha intentado eliminar las herramientas de licencia de GPL a favor de las alternativas licencias BSD como algunas escritas nuevamente y algunas adaptadas desde código antiguo.

### Debian

El proyecto Debian usa el criterio que se puede encontrar en las guías al software libre Debian. El único caso notable donde Debian y la FSF discrepan es sobre la herencia artística y la licencia de documentación libre GNU. Debian acepta la licencia artística original como la licencia de software libre pero la FSF discrepa. Esto tiene muy poco impacto, sin embargo la licencia artística casi siempre se usa en una instalación de doble licencia junto con la GPL

### Controversia de casos límite

La amplia mayoría del software libre usa licencias de software libre compatibles, sin embargo, ha habido muchos debates sobre si otras licencias cumplen esta definición.

Ejemplos de licencias que provocaron debate fueron las series 1.X de la licencia de código público de Apple ya que fueron aceptadas por la OSI pero no por la FSF o Debian, y la RealNetworks Public Source License, que se aceptó por la OSI y por la FSF pero no por Debian. También la FSF recomendó la licencia de documentación libre de GNU, que es incompatible con la GPL era considerada no libre por Debian sobre el 2006 y por Nathanael Nerode. La FSF argumenta que la documentación es cualitativamente diferente con respecto al software y que está sujeto a requisitos diferentes. Si bien aceptó más tarde que la FDL de GNU cumple las guías de Debian, mientras que llamaron a la licencia todavía no libre de problemas cuando la controversia de la sección invariante (no poder editar ciertas secciones) se eliminó. La mayoría de la documentación de GNU incluye secciones que no se pueden editar. De manera similar los manuales de la fundación FLOSS, en la organización evitar la GFDL y en vez de eso usan la GPL para sus textos en 2007, citando la incompatibilidad entre ambas, las dificultades para implementar la GFDL, y el hecho de que la GFDL "no permite la fácil duplicación ni tampoco la fácil distribución" especialmente para un documento digital.

