|
|
|
|
4. Licencias
Introducción
Con el marco legal actual la licencia bajo la que se distribuye un programa delimita exactamente los derechos que tienen sobre él sus usuarios. Por ejemplo, en la mayoría de los programas propietarios la licencia priva al usuario de los derechos de copia, modificación, préstamo, alquiler, uso en varias máquinas, etc. De hecho, las licencias suelen especificar que la propietaria del programa es la empresa creadora del mismo, la cual simplemente vende derechos restringidos para el uso del programa.
En el mundo del software libre, la licencia bajo la que se distribuye un programa también es de gran importancia. Normalmente, las condiciones de las licencias de software libre son el resultado de un compromiso entre varios objetivos hasta cierto punto contrapuestos. Entre ellos, pueden citarse los siguientes:
Garantizar algunas libertades básicas (de redistribución,
de modificación, de uso) a los usuarios.
Asegurar algunas condiciones impuestas por los autores (cita
de su nombre en trabajos derivados, etc).
Procurar que los trabajos derivados sean también software
libre.
Los autores pueden elegir proteger su software con distintas licencias según el grado con que quieran cumplir cada uno de estos objetivos, y los detalles que quieran asegurar. De hecho, el autor de un programa suele elegir con mucho cuidado la licencia bajo la que lo distribuye. Por otro lado, los usuarios y especialmente quienes redistribuyen o modifiquen el software, deben estudiar con cuidado la licencia del mismo.
En realidad, casi todo el software libre usa alguna de las licencias más habituales (GPL, LGPL, estilo BSD, estilo Netscape). El objetivo de esta sección es analizar las licencias bajo las que se distribuye habitualmente el software libre.
Muchas veces se comete el error conceptual de suponer que el software libre es de dominio público. Esto sucede simplemente porque la idea de software libre o Código Fuente Abierto es confusa para mucha gente.
Tanto el software libre como el de Código Fuente Abierto21 poseen los derechos de autor reservados, y están protegidos por una licencia. Solo que éstas licencias dan a la gente más derechos de los que están acostumbrados a tener.
Un programa de dominio público es aquel al cual el autor ha renunciado sus derechos. No puede decirse que vengan con una licencia; el programa no tiene propietario y existe la posibilidad de usarse como se desee. Cualquiera puede relincenciar un programa de dominio público, o remover el nombre del autor y tratarlo como un trabajo propio.
Este es el concepto de dominio público. Como se verá a continuación dista bastante de lo expresado por las licencias que se aplican al software libre.
GNU GPL - Versión 2 (Junio 1991) - Ver Licencia Completa -
La controvertida Licencia Pùblica General GNU será analizada en primer lugar. Sin dudas junto con la licencia estilo BSD, son las más conocidas en el mundo del software libre. Como todo lo que proviene de la FSF y por añadidura de Richard Stallman, esta licencia no escapa del centro de la polémica.
Algunos se refieren a la GNU GPL como de naturaleza viral. Defienden esta postura indicando que la misma infecta a los programas con el virus de la libertad. Esto es porque un programa que está protegido por la GPL no puede transformarse en software propietario. Esta principal falencia que remarcan los que la critican, es la virtud más importante que defienden los que están a su favor. El concepto que hay detrás de esta licencia es el de copyleft.
Copyleft deriva de un juego de palabras que representan lo contrario de copyright. De hecho, el copyleft incluye la registración de los derechos de autor.
Este concepto fue acuñado en la FSF y se encuentra enmarcado por la GNU GPL. El proceso consiste en reservar los derechos sobre un programa y luego añadirle los términos de distribución (por ejemplo la GPL). Estos términos son el instrumento legal que le dan a todo el mundo los derechos de utilizar, modificar y redistribuir el código fuente del programa o cualquier programa derivado del mismo. Todo esto es posible si los términos de distribución no son cambiados.
En el primer párrafo de la licencia, queda bien clara la intención de la misma, que es heredada directamente de los ideales pregonados por Stalman.
'las licencias para la mayoría de los programas se crean para quitarte tu libertad. En cambio, la GNU GPL pretende garantizar tu libertad de compartir y modificar software libre ; Asegurar que el software sea libre para todos los que lo usan'.
Esta licencia se aplica a cualquier programa u otro trabajo que contenga un aviso del titular del derecho de autor que puede distribuirse bajo los términos de la Licencia Pùblica General GNU.
Actos Permitidos
Distibuir copias de software libre.
Modificar software libre y redistribuirlo.
Cobrar por el acto de transferir una copia.
Ofrecer garantía a cambio de un cánon.
No publicar las modificaciones mientras se usen en forma privada.
Esto incluye a las empresas mientras mantengan los cambios dentro de su
ámbito.
Actos NO Permitidos
Imponer nuevas restricciones a la licencia.
Copiar, modificar, sublicenciar o distribuir el programa de
una manera distinta de la expresamente utilizada por la licencia.
Detalles Importantes
No se ofrece garantía sobre el funcionamiento correcto
del software cubierto por la licencia.
Si se modifica el software y se lo redistribuye, se debe expresar
que es una modificación del original para no afectar la reputación
del creador.
Con el término programa, la misma se refiere a cualquier
programa o trabajo basado en el programa. Esto quiere decir el programa
o una porción del mismo; ya sea una copia fiel o con modificaciones
y/o traducciones. ( la licencia considera al acto de traducir un programa
como una modificación).
El mero agregado de otro trabajo no basado en el programa en
un medio de almacenamiento para su distribución, no implica que el
otro trabajo deba ser lanzado bajo la GPL.
Para un ejecutable, el código fuente completo significa
el código fuente de todos los módulos que contiene, más
los archivos con la configuración de la interfase y los scripts22
utilizados para controlar la compilación e instalación. No
se debe incluir el código fuente del sistema operativo donde el programa
se ejecuta.
Al no firmarse la licencia, nadie está obligado a aceptarla.
Pero nada más que la misma le da permiso al usuario de modificar
o distribuir un programa o sus trabajos derivados. Estas acciones están
prohibidas por la ley de derechos de autor si no se acepta la licencia.
De esta forma, quien modifique o distribuya un programa protegido por esta
licencia, está indicando su aceptación de la misma.
Si como consecuencia de una resolución judicial, al
autor se le imponen condiciones que contradicen las de la licencia, las
mismas no lo excusan de las condiciones de la GPL. Si no puede distribuirlo
de una manera que satisfaga ambas obligaciones, entonces no debe distribuir
el programa.
La distribución del código fuente del programa
debe ser a través de un medio físico, no es suficiente con
publicarlo en un servidor FTP.
Las traducciones de la GPL son consideradas versiones no oficiales.
En términos legales, la versión original en inglés
es la que especifica los términos de distribución. La razón
por la que la FSF no las aprueba como oficialmente válidas es porque
si poseen un error, los resultados podrían ser desastrozos para la
comunidad de software libre. Mientras no sean oficiales, no pueden causar
daños y ayudan a que más gente entienda la GPL.
La GPL permite que los usuarios publiquen sus versiones modificadas.
Este es un aspecto crucial ya que los usuarios deben ser libres de cooperar.
Es absolutamente esencial permitir a los usuarios ayudarse mutuamente y
compartir las reparaciones y mejoras efectuadas al software.
Hubo quienes propusieron alternativas a la GPL que requerían que las versiones modificadas pasen por el autor original. Mientras que el autor se mantenga al día con las necesidades de los usuarios, esto funciona. Pero si el autor no atiende las necesidades de la comunidad usuaria, este esquema se derrumba.
A primera vista, puede parecer que la GPL no permite la convivencia con un intento comercial relacionado con el software libre. El modelo tradicional de ganar dinero a través de la venta de copias solamente no es posible. Pero la GPL puede ser extraordinariamente efectiva para establecer una plataforma que desaliente la creación de nuevas plataformas competitivas. Se establece un único campo donde todas compiten en el mismo nivel y donde ser el primero tiene muchos beneficios.
Un ejemplo de esto es la empresa Cygnus Solutions. Cygnus generó durante muchos años cambios al compilador gcc23, entre ellos portarlo a nuevos tipos de arquitecturas de hardware. La gran mayoría de sus trabajos cumplen con la GPL, y luego se incluían a la distribución de gcc. Cygnus cobra por el esfuerzo involucrado en la portación y mantenimiento a sus clientes, pero no por el código fuente.
Si una empresa intenta competir a la par de Cygnus, se verá forzada a redistribuir su trabajo. De esta forma se beneficia en primer lugar Cygnus ya que la competencia no puede diferenciarse por la plataforma tecnológica. El cliente elige por el nivel de servicio. Por otro lado también se beneficia toda la comunidad de software libre que recibe las mejoras al compilador tan utilizado.
GNU LGPL - Versión 2.1 (Febrero 1999) - Ver Licencia Completa -
En un principio esta licencia era llamada Library GPL y llegó hasta la versión 2. Luego se le cambió el nombre (pero mantuvo las siglas) por Lesser GPL. Su primer versión (aquí comentada) es la 2.1.
Esta licencia se aplica a unos paquetes de software especiales llamados bibliotecas24. En la licencia se aclara que cualquiera puede usarla, pero sugiere que se utilice la GPL y que solo se recurra a la LGPL en casos estratégicos.
En el preámbulo indica que la mayoría del software GNU, incluyendo algunas bibliotecas (como Readline), están cubiertas por la GPL. La LGPL se ha creado para permitir que se enlacen estas bibliotecas con programas no libres.
Cuando un programa se enlaza con una biblioteca, ya sea estáticamente o mediante una biblioteca compartida (dinámica), la combinación de ambos se considera, legalmente hablando, un trabajo combinado, derivado de la biblioteca original. La GPL permite ese enlace solo si ambos cumplen con su criterio de libertad.
Por su parte la LGPL posee un criterio de libertad más laxo, de ahí su nombre: Lesser. A su vez, provee menos ventajas para los desarrolladores de software libre, sobre programas no libres de la competencia. Pero como se dijo anteriormente, es posible que esta licencia represente en algunas ocasiones una ventaja estratégica.
Por ejemplo, en el caso de que hubiera una necesidad de inculcar el uso masivo de cierta biblioteca y convertirla en un estándar de facto. Para lograr este propósito los programadores no libres deberían poder usar la biblioteca. Con la GPL esto no sería posible.
La LGPL se usa generalmente cuando una biblioteca libre hace la misma tarea que otras no libres. En este caso, no hay mucho que se gane si la biblioteca está cubierta por la GPL. La biblioteca del lenguaje C (glibc) que proveen distintos sistemas GNU/Linux es un ejemplo de software protegido por la LGPL. Sino, GNU/Linux solo podría ser utilizado por desarrolladores de software libre.
Hay que prestar atención a la diferencia entre un trabajo basado en una biblioteca y un trabajo que usa la biblioteca. El primero contiene código derivado de la biblioteca, mientras que el otro debe enlazarse con la biblioteca para ejecutarse. Un trabajo basado en la biblioteca encuadra en el derecho de autor ya que es un trabajo que contiene la biblioteca o una porción de ella (copia fiel o con modificaciones y/o traducido a otro idioma).
Detalles Importantes
Permite copiar y/o distribuir copias de la biblioteca.
Se puede modificar la biblioteca o una porción de ella
y formar un trabajo basado en la misma si:
El trabajo modificado es una biblioteca de software.
Los archivos modificados indican en que fecha se modificaron.
El trabajo se licencia bajo LGPL.
Una funcionalidad en la biblioteca modificada hace referencia
a una función o tabla de datos que es provista por un programa
que usa esta facilidad, la misma debe mantenerse operativa aunque el
programa no lo provea alguna vez.
Una biblioteca licenciada bajo LGPL puede convertirse a GPL
en cualquier momento. Cuando esto sucede, no hay posibilidad de volver atrás.
Un programa que no contenga ninguna porción de la biblioteca,
pero que ha sido diseñado para trabajar con la biblioteca al ser
enlazado o compilado con ella, se lo considera un trabajo que usa la biblioteca.
Este trabajo no es derivado de la misma por lo que escapa a los alcances
de la licencia. El programa binario/ejecutable queda cubierto por la LGPL,
pero el código fuente del programa original no se ve afectado y conserva
su licencia.
Estos aspectos son los que diferencian a la LGPL de la GPL. A su vez el resto de los detalles descriptos para la GPL se aplican también a la LGPL.
LICENCIA ESTILO BSD - Ver Licencia Completa -
Dentro del mundo del software libre, las licencias estilo BSD han sido muy importantes y muy utilizadas. Su origen se remonta a las raíces del movimiento. Esta licencia fue la primera que se ideó para distribuir software libre de las entregas BSD25. Estas entregas fueron la forma en que el CSRG distribuía su trabajo alrededor del sistema operativo UNIX. La primera vez que se utilizó esta licencia fue en la distribución Networking Release 1. En la actualidad, se sigue utilizando como licencia para varios proyectos. Entre los más importantes se encuentran:
Los sistemas operativos: FreeBSD, NetBSD y OpenBSD.
El servidor web Apache.
El sistema de bases de datos PostgreSQL.
Detalles Importantes
La principal diferencia de las licencias estilo BSD y las de
la familia de la GPL es que los cambios efectuados pueden publicarse en forma
binaria/ejecutable sin distribuir el código fuente.
No se entrega ninguna garantía sobre el correcto funcionamiento
del software.
Redistribuciones del código fuente deben mantener los
avisos de derecho de autor, la lista de condiciones y la negación de
garantía.
La cláusula de la discordia.
La misma figuraba en las antiguas versiones de la licencia. Expresaba que cualquier material publicitario que mencione características o el uso del software debía mostrar la siguiente leyenda:
“This product includes software developed by the University of California, Berkley and its contributors ”26
El problema que surgió con esta cláusula es que mucha gente reemplazaba en la licencia Universidad de California por sus nombres o el de sus instituciones. El resultado es que el programa tenía varios mensajes distintos que mostrar. Al momento de juntar muchos de estos programas en un sistema operativo, la cantidad de nombres a mencionar se convertía en un serio problema.
En los últimos años, muchos proyectos que utilizan esta licencia fueron removiendo la cláusula, hasta que por último la Universidad de California aceptó que era necesario quitarla de la licencia original. Hoy en día, prácticamente no se usa más esta cláusula.
Desde una perspectiva de negocio, esta es la mejor licencia para involucrarse en un proyecto existente, ya que no hay restricciones en cuanto al futuro o su redistribución. Cualquiera puede mezclar y unir este software con su software propietario y lanzar lo que quiera. Esta es una de las razones por la que se seleccionó esta licencia en el proyecto Apache.
Este tipo de licencia es ideal para promover el uso de código como cuerpo de referencia. Puede ser la implementación de un protocolo o un servicio común. En Apache se la seleccionó para mantener HTTP como un protocolo estándar y multipartito. Este grado de apertura trae aparejado riesgos. No hay ningún incentivo para que las compañías que modifican el código lo devuelvan al resto de la gente.
El hecho que la licencia BSD original deja hacer prácticamente cualquier cosa es porque el software que en principio cubría esta licencia (producido por el CSRG) estaba financiado por el gobierno de los Estados Unidos. Dado que el software había sido pagado por los impuestos, se permitía a la gente hacer con él lo que quisiera.
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.
NPL & MPL - Versión 1.1 - Ver Licencia Completa -
La Netscape Public License fue desarrollada por Netscape cuando lanzó como Código Fuente Abierto a su producto Netscape Navigator. Actualmente esta versión del navegador se la conoce como Mozilla.
Varios hackers famosos dentro del movimiento de Código Fuente Abierto, entre ellos Linus Torvalds, Bruce Perens y Eric Raymond colaboraron como consultores ad-honorem durante el desarrollo de la licencia. Aunque intentaron persuadir a Netscape para que utilizase la GPL, su esfuerzo fue en vano. Terminaron lanzándolo bajo la NPL que cumple con la Definición de Código Fuente Abierto27.
Fue la primer licencia nueva luego de muchos años, que se encargaba de algunos puntos que no fueron tenidos 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.
Antes de lanzar su código fuente al público, Netscape liberó una versión beta de su licencia, el 5 de marzo de 1998, en un grupo de noticias especialmente creado para opinar sobre la misma (netscape.public.mozilla.license). Esto despertó gran entusiasmo y derivó en propuestas varias para modificar algunos términos de la NPL.
La sección de la licencia que fue más criticada es la que le confiere a Netscape privilegios especiales como es la posibilidad de relicenciar modificaciones hechas por cualquiera al código. También pueden tomar estas modificaciones, mejorarlas y negarse a contribuirlas al proyecto.
Esta previsión fue creada porque Netscape tenía contratos con las compañías que proveían módulos que estaban incluidos en el navegador (en total 75 módulos). Este aspecto de la licencia hizo suponer que la misma no sería aceptada finalmente por la comunidad de Código Fuente Abierto.
La gente de Netscape tuvo en cuenta el feedback recibido y para solucionar este problema se creó la Mozilla Public License. Ambas licencias son idénticas, salvo que la NPL mantiene las cláusulas que protegen los derechos de Netscape.
El código fuente de Netscape Navigator fue liberado originalmente bajo la NPL y todas la modificaciones deben lanzarse bajo la misma licencia. Pero si se desarrollan nuevos módulos de código, pueden lanzarse bajo la licencia MPL o alguna compatible (obviamente la GPL no lo es).
Detalles Importantes de la MPL
Los cambios deben volver al proyecto.
Cualquier individuo o compañía que contribuye al
código del proyecto debe renunciar a cualquier derecho de patentamiento
sobre el código fuente.
Licencia del MIT Sistema X Window - Versión 11 Entrega 6 (X11R6 Año 1996) - Ver Licencia Completa -
Esta licencia otorga permiso, libre de cargo a cualquier persona que obtenga una copia de este software, de trabajar con el mismo sin restricciones a los derechos de uso, copia, modificación, publicación, distribución, sublicenciar y la venta de copias.
Todo esto es posible si se cumple con la condición de incluir una nota con el programa donde se desliga al Consorcio X de cualquier problema que pueda surgir con el uso del software.
La licencia no permite que se use el nombre del Consorcio X para realizar publicidad alguna sin expresa autorización del mismo.
Resumen sobre las licencias estudiadas
|
Licencia |
Puede mezclarse con software no libre |
Modificaciones pueden tornarse privadas y no retornarse a los demás |
Puede relicenciarse por cualquiera |
Contiene privilegios especiales para el titular de los derechos de autor sobre los cambios |
|---|---|---|---|---|
|
GPL |
|
|
|
|
|
LGPL |
X |
|
|
|
|
BSD |
X |
X |
|
|
|
NPL |
X |
X |
|
X |
|
MPL |
X |
X |
|
|
|
MIT |
X |
X |
X |
|
|
Dominio Público |
X |
X |
X |
|
21La Iniciativa código fuente abierto será analizada en la sección 5.
22 Script: Programa que por lo general es interpretado, con lo que se distribuye en modo fuente, no binario.
23Cygnus, luego se abrió del desarrollo del gcc y comenzó a distribuir su propio compilador llamado egcs. Ambos proyectos se unieron en la versión 2.95 de Abril de 1999. Se renombró, egcs como gcc y Cygnus quedó a la cabeza del mantenimiento.
24Biblioteca: Agrupamiento o colección de funciones de software y/o datos preparados para ser enlazados convenientemente con programas para formar ejecutables.
25Entregas BSD: Este tema se explicó con detalle en la sección 1.
26Este producto incluye software desarrollado por la Universidad de California, Berkley y sus contribuyentes.
27Definición de Código Abierto: Tema ampliado en la sección dedicada al Open Source.
|
|
|
|