2.4 Licencias utilizadas para Software Open Source

2.4.1 General Public Licence (GPL)

La Licencia Pública General de GNU [15] es una licencia para software Open/Free de tipo copyleft, este concepto creado por Richard Stallman, fue acuñado en la F.S.F. 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).

El propósito de la GPL es dar cobertura legal al proyecto GNU, garantizando los derechos del usuario a copiar, modificar y redistribuir los programas, asegurando que estos derechos sean preservados en trabajos derivados por el mecanismo de copyleft.

La GPL difiere de licencias para software Open/Free que no son copyleft, como las licencias BSD o MIT, en las cuales se permiten que los trabajos derivados puedan ser distribuidos bajo términos más restrictivos, mientras. que GPL requiere las mismas restricciones.

La GPL esta aprobada por la OSI y es muy popular, especialmente dentro del sistema operativo GNU/Linux. Hasta Enero de 2005, fue utilizada por el 68,02 % (26.199 proyectos) de del total de proyectos en Freshmeat [16] y por el 66,3% de los 62.249 proyectos en SourceForge [17].

2.4.1.1 Actos permitidos
2.4.1.2 Actos no permitidos

2.4.2 Lesser GNU Public Licence (LGPL)

Esta licencia se aplica a bibliotecas de software, pero la misma licencia sugiere que se utilice la GPL y que solo se recurra a la LGPL en casos estratégicos. [18]

LGPL indica que la mayoría del software GNU, incluyendo algunas bibliotecas, 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.

Nótese 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

(Sobre GNU: Como mencionamos anteriormente, el padre del movimiento del Software Libre es Richard Stallman, quien comenzó a crear un conjunto de programas como alternativa de código abierto al sistema operativo UNIX, al cual lo llamo GNU (acrónimo recursivo de “GNU is Not Unix”).

El 27 de septiembre de 1983 un correo de Stallman fue enviado a dos grupos de noticias con el asunto: "Nueva implementación de UNIX". En este breve correo electrónico Stallman comienza a explicar su proyecto:

Voy a escribir un sistema... compatible con UNIX llamado GNU... y lo distribuiré libre”

A su vez explica las similitudes y diferencias de su GNU con UNIX:

GNU tendrá la capacidad de correr programas UNIX, pero no será idéntico a UNIX. Haremos todas las mejoras que son convenientes, basados en nuestra experiencia con otros sistemas operativos”

Se creó en 1985 The Free Software Fundation (Fundación de Software libre), y comenzaron a desarrollar distintos programas dándole forma al sistema operativo GNU. Stallman comenzó a sumar adeptos a su proyecto GNU. La mayoría de ellos provenían de los claustros universitarios y eran expertos programadores. La Free Software Foundation, era la entidad madre que se encargaba de administrar el trabajo de los voluntarios. Los ingresos por ventas del GNU EMACS ayudaban a mantener la fundación.

La caída de la FSF comienza a sentirse por el año 1992 cuando se produce una división en el desarrollo del GNU EMACS (XEMACS). En 1996 XEMACS ya es más popular que el EMACS. A su vez, el desarrollo del núcleo GNU Hurd prácticamente muere, eclipsado por las fallas propias además que Linux ya había sido aceptado de una excelente forma. En el año 1997, se produce la división en el desarrollo de gcc (nace egcs). Junto con esto, comienza a desaparecer la idea de que la FSF es el centro del universo del software libre. En el mismo año Eric Raymond publica su texto “La catedral y el bazar”, dando nacimiento al movimiento “Open Source” antes mencionado. A la larga este término se vuelve más conocido y utilizado que el de software libre. Para el año 2000 el proyecto GNU se convierte en una organización puramente política, sin ninguna actividad de desarrollo importante. En la actualidad Stallman es un reconocido conferencista que recorre el mundo inculcando su filosofía de libertad a cualquier precio.)

2.4.3 Licencia estilo BSD

Dentro del mundo del software libre, las licencias estilo BSD [19] han sido muy importantes y muy utilizadas. Su origen se remonta a las raíces del movimiento Open/Free. Esta licencia fue la primera que se ideó para distribuir software libre en las entregas BSD.

Estas entregas fueron la forma en que, el Computer Systems Research Group en Berkeley, 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, la licencia BSD (y sus similares, como la Apache Licence) se sigue utilizando como licencia para varios proyectos. Entre los más importantes se encuentran:

2.4.3.1 Detalles Importantes

2.4.4 Comparación de las licencias GPL y BSD

Aunque ambas licencias están certificadas por la OSI, veremos las diferencias y similitudes entre ellas y como ambas respetan las llamadas “tres libertades” respecto al Software Open/Free:

La licencia GPL obliga a incluir el código fuente en su distribución, siendo imposible cambiar la licencia al programa, al distribuirlo tal cual o modificado. 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.

La licencia BSD, si bien es Software Libre y cumple las tres libertades, no es copyleft como la GPL, puesto que es posible cambiar la licencia.

La F.S.F. califica como "copyleft" a aquellos programas que son libres, se distribuyen con el código fuente, y no puede cambiarse la licencia al distribuirse.

Dentro de las licencias de "free software" la F.S.F. considera a la nueva licencia BSD compatible con la licencia GPL.

Cada vez hay más programas que usan estas licencias, el exponente más conocido de GPL es el kernel de Linux.

2.4.5 NPL y MPL

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.

Varias personalidades del movimiento de Código Fuente Abierto, entre ellos Linus Torvalds, Bruce Berens y Eric Raymond colaboraron como consultores honorarios durante el desarrollo de la licencia. Aunque intentaron persuadir a Netscape para que utilizase la GPL, su esfuerzo fue en vano, Netscape terminó lanzando el navegador bajo la NPL [21] que cumple con la definición de Código Fuente Abierto de OSI.

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 como heredada de la licencia BSD.

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 (MPL) [22]. 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.

2.4.5.1 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 a patentar el código fuente.

2.4.5.2 Common Development and Distribution License (CDDL)

Dicha licencia (aprobada por OSI el 14 de Enero de 2005) es la que regulará el marco legal de Solaris OS (Sistema Operativo antes propietario, de código cerrado, creado por Sun Enterprises) para la plataforma Intel/AMD [23].

Dicha licencia esta basada en la MPL. Sun, en colaboración con varios miembros de la comunidad Open Source, creó una licencia basada en la MPL pero teniendo en mente que sea: más corta, más clara, con requerimientos de notificación más simples y con una fuerte protección contra acciones de pleito acerca de patentes. La idea de Sun fue también crear una licencia atractiva para otros proyectos Open/Free con similares objetivos para no tener que crear otra licencia nueva.

2.4.6 Microsoft Shared Source

En el año 2002, Microsoft comenzó a promover una serie de acuerdos y programas de licenciamiento en los cuales “comparte” el código de alguno de sus productos de software con el usuario con ciertas restricciones. Bajo la etiqueta de Shared Source Initiative: Open Source Software, Microsoft ofrece actualmente (año 2005) 18 programas de licenciamiento [25] sobre el código fuente de alguno de sus productos. Los programas abarcan desde la habilitación al código para entes gubernamentales, empresas, programadores y administradores; hasta el licenciamiento de ejemplos de ASP.NET.

El problema es que, en general, lo que se puede realizar con el código es solo verlo (solamente se pueden utilizar trabajos derivados comerciales de los ejemplos de ASP.NET si son para ejecutarse en plataformas Windows). En el acuerdo para entes gubernamentales y empresas, está prohibida la modificación del mismo aunque sea para utilización interna, o sea, no se puede utilizar el acceso al código para corregir los problemas encontrados. Como mucho, lo que se está haciendo, es colaborar con el proveedor en solucionar problemas de su Software, el cual, liberará algún parche según lo desee.

En el caso de los programas de licenciamiento que contemplan a las implementaciones de Rotor (C# / Jscript / CLI (Standard para framework .NET)), Microsoft salvaguarda las técnicas utilizadas para la implementación de métodos, funciones, componentes, etc. poniendo como restricción la utilización para fines no comerciales.

La mayoría de dichos programas de licenciamiento requieren de quien haga uso del programa se debe comprometer a tratar al código como confidencial. Esto implica que una vez visto el código de Microsoft, si se desarrolla algún otro proyecto que entre en competencia con productos Microsoft, dicha persona puede caer bajo sospecha de que está utilizando información confidencial en contra del proveedor, más allá de que si lo está haciendo o no, y ser demandado.

La iniciativa de Microsoft para ingresar al mundo del Open Source no nos parece muy adecuada al concepto de la Open Source Initiative ni al concepto de Software Libre de Stallman, más bien la consideramos como estrategia comercial. Lo que se puede sacar en claro de esta iniciativa es la popularidad con la que cuenta actualmente el Software Open/Free y la atención que está teniendo por parte de los proveedores de Software más famosos.

2.4.7 Diferencias entre los programas BSD, GPL

Como se mencionó anteriormente la principal diferencia entre la licencia BSD y la GPL es que cambios efectuados pueden publicarse en forma binaria/ejecutable sin distribuir el código fuente.

Con los programas BSD, se está autorizado a copiarlos y distribuirlos libremente a cuantos quiera y se podrá hacer por dinero o regalándolos.

Los seguidores de la licencia GPL suelen achacar a la licencia BSD algunos puntos débiles:

  • La posibilidad de desarrollar software propietario (freeware o no) a partir de un programa BSD.

  • La "interminable" lista de notas de publicidad.

Respecto al primer “problema” muchos programadores BSD no lo ven como tal y no les importa que parte de su código fuente se encuentre en programas propietarios, de hecho, el protocolo TCP/IP en que se basa Internet, fue desarrollado con esta licencia y hoy se encuentra en multitud de programas propietarios, de esta forma la licencia BSD puede usarse como sistema flexible y barato para alcanzar un estándar de facto (ya que tanto empresas comerciales cono proyectos Open/Free puros, implementarían dicho software sin restricciones de licenciamiento).

La segunda objeción que suele hacerse a la licencia BSD es que, tradicionalmente las modificaciones al programa original venían acompañadas por la nota de publicidad del autor de la modificación, debido a un error en la interpretación de la antigua licencia BSD.

La licencia BSD y la GPL tienen las características de un contrato de adhesión pero teniendo en cuenta la forma de desarrollarse el software que protege y los derechos que concede al usuario no parece que ninguna de sus cláusulas atente contra las exigencias de la buena fe, que se cause un perjuicio al consumidor o un desequilibrio importante en sus derechos y obligaciones.

2.4.8 Diferencias entre las copias ilegales y el llamado "freeware" y "shareware".

Hoy día, con los programas Comerciales/Propietarios, es ilegal distribuir copias sin autorización y es un delito cuando se distribuyen con o sin ánimo de lucro.

Existen ciertos paquetes de software propietarios llamados "freeware" que son aquellos que se pueden copiar y dar a quien quiera (sin entrar en la ilegalidad) pero en los que no se tiene derecho a modificar y no se incluyen el código fuente. En este caso la palabra “free” representa el término “gratis” y no “libre”.

Cuando además tiene que registrarse como usuario y pagar por ello, entonces está ante un programa "shareware". El término “share” significa en español “compartir”, en realidad, el concepto de compartir dentro del shareware no tiene nada que ver con el del mundo del Software Libre de Código Abierto.

Estudio del Open/Free (GNU/Linux) como plataforma de servicios de red en entornos empresariales
Daniel Caraballo - Mario Madera - Marcelo Odin
Tutor: Ariel Sabiguero Yawelak
2004 - 2005.