All pastes #44408 Raw Edit

Unnamed

public text v1 · immutable
#44408 ·published 2006-03-04 06:48 UTC
rendered paste body

0. Aclaraciones Preliminares

He decidido proteger este Trabajo de Investigación Final, bajo la licencia GNU Free Documentation License1. La principal motivación para esta decisión ha sido justamente todo lo aprendido al estudiar los logros que se obtienen si se da libertad a la gente.

Mi intención es que, luego de cumplir con los requisitos académicos, este trabajo pueda estar a disposición de quién lo desee. Esta licencia permite que cualquier persona tome este escrito y lo redistribuya o lo modifique libremente. De esta forma, nuevas versiones mejoradas del trabajo pueden obtenerse.

A su vez, es de mi interés dejar en claro la acepción de algunos términos que se emplearán a lo largo de la publicación.

En primer lugar, el término hacker. En la actualidad, mucha gente asocia este término con el de delincuente informático. En este documento, se utiliza esta palabra para identificar a las personas que son especialistas programadores o que tienen mucho interés y conocimientos en lo que respecta a la informática. Pero que bajo ningún concepto utilizan sus habilidades para efectuar daños a terceros.

El otro término que es empleado en varias ocasiones y puede prestarse a confusión es el de portar. Con esta palabra, se intenta describir el proceso de reescribir o recompilar una aplicación para que pueda utilizarse en una arquitectura de computadora diferente a la original para la que fue escrita.

Una última aclaración en cuanto a las convenciones utilizadas en este trabajo, se refiere a la manera adoptada para nombrar al sistema operativo GNU/Linux. El autor opina que es la forma más conveniente de nombrar al sistema completo. En los casos particulares en que se haga referencia únicamente al núcleo del mismo se usará el término Linux. 

1. Introducción.
Objetivos y Alcances.

El presente trabajo apunta a presentar un análisis de las características específicas del movimiento del Software Libre. Es de gran importancia para un profesional de la informática conocer a nivel amplio el funcionamiento de este modelo que surgió principalmente en los ámbitos académicos, pero que gracias a Internet, ha logrado proliferar a través del mundo.

A esta altura de las circunstancias, la mayoría de la gente ha oído hablar de 'GNU/Linux'. La verdad es que gracias a la popularidad y publicidad obtenida por el sistema del Pingüino, mucha gente se ha acercado al mundo que se encuentra del otro lado del estándar de facto creado por Microsoft.

GNU/Linux es solo la punta del iceberg. Debajo de él, se encuentran miles de proyectos. Cada uno de los cuales tienen diferentes líderes, objetivos y filosofías. Este trabajo se introducirá en las entrañas de este movimiento.

Para comenzar, nos remontaremos a los finales de la década del sesenta cuando el software era libre para todos. Se estudiará cómo fue desapareciendo la camaradería entre desarrolladores y fueron surgiendo las grandes corporaciones que comenzaron a utilizar las licencias y contratos de no difusión para dejar de compartir el código fuente de sus programas.

Se analizará en profundidad uno de los casos más emblemáticos de todos los tiempos: el sistema operativo Unix. La etapa de colaboración entre Berkley y AT&T y los conflictos posteriores. Se nombrarán todas las bifurcaciones que surgieron a partir de este sistema operativo.

Al llegar a la década del ochenta, se expondrá el nacimiento del proyecto GNU. Richard Stallman comienza a desarrollar un conjunto de herramientas, e intenta crear un sistema operativo totalmente libre2. Nace la Free Software Foundation (Fundación para el Software Libre). Se expondrá la filosofía de este carismático líder.

También serán objeto de estudio las distintas licencias que surgieron para proteger el Software Libre. Se comentarán las ventajas y desventajas de cada una. Se detallará en qué situaciones es conveniente usar cada licencia.

Dentro del desarrollo, se dedicará una sección entera a presentar el modelo alternativo al software libre, conocido como Open Source. Se establecerán las similitudes y diferencias frente al software libre.

Se expondrán los aportes de Eric Raymond y se estudiará uno de sus escritos más famosos y comentados: “ La catedral y el bazar”.

Se estudiarán casos particulares de proyectos. Apache, Samba, Openoffice y WINE. Se analizarán sus estructuras de desarrollo, de decisión. Reportes y corrección de errores. Desarrollo y depuración distribuidos.

A su vez, se analizará la posición que ocupa actualmente el software libre en nuestro país y se presentarán distintos casos de proyectos de software libre. También se incluirá en el análisis de la coyuntura local, al proyecto de ley de software libre.

Para finalizar este trabajo, mi idea ha sido elaborar distintas propuestas para implementar en el ámbito de la Universidad. Las mismas apuntan a aprovechar las ventajas de este modelo y a su vez enriquecer la calidad académica de los cursos.

El desarrollo de este trabajo me ha permitido investigar e introducirme en un mundo más que interesante en donde prima la camaradería y el deseo de compartir el conocimiento para fomentar el desarrollo futuro, basándose en los logros anteriores.

Básicamente, este mundo se asemeja a lo expresado por Sir Isaac Newton: “Si he visto más lejos, es porque me apoyé sobre los hombros de gigantes”. Todos los participantes de este movimiento directa o indirectamente llevan a cabo lo dicho por este genio y son los que permiten que cada vez más gente se acerque a este universo donde el conocimiento es una herramienta y no un arma de dominación. 

2. UNIX

Historia del sistema operativo UNIX

Para poder comprender el éxito actual del software libre, lo primero que se debe hacer es repasar la historia. Sin dudas, uno de los hitos clave es el nacimiento del Sistema Operativo Unix.

Creado en 1969 en los laboratorios Bell de AT&T por Ken Thompson, UNIX nació como un experimento de la empresa para ayudar a controlar la nueva generación de redes telefónicas, que estaban convirtiéndose en computadoras especializadas.

Bell ya había participado junto con el M.I.T. y General Electric en el desarrollo del sistema MULTICS3. Thompson y sus colegas admiraban las capacidades de MULTICS, pero consideraban que era demasiado complicado, por lo que se dieron a la tarea de demostrar que era posible construir un sistema operativo que ofreciera un ambiente de trabajo cómodo y que fuera mucho más sencillo.

La primera versión de UNIX, llamada UNICS4 se ejecutaba en una computadora DEC PDP-7. Este primer UNIX estaba escrito en un lenguaje llamado B.

El trabajo de Thompson impresionó a sus colegas de los laboratorios Bell de tal forma que pronto se le unió Dennis Ritchie y más tarde todo el departamento. Lo primero que hicieron fue portar el UNIX de la obsoleta PDP-7 a las modernas PDP-11/20, PDP-11/45 y PDP-11/70.

Ritchie, diseñó un sucesor de B, llamado C y escribió un compilador con el objeto de ofrecer un lenguaje que pudiera usarse para escribir una versión portable del sistema. En 1973 Ritchie y Thompson reescribieron UNIX en C.

En noviembre del '73 Ritchie y Thompson presentaron el primer artículo sobre UNIX, en el simposio sobre los principios de los sistemas operativos en la Universidad de Purdue. Este artículo estimuló a muchas universidades a pedir a los laboratorios Bell una copia de UNIX.

Puesto que la compañía dueña de los laboratorios Bell, AT&T, era entonces un monopolio regulado y no podía entrar al negocio de la computación, no tuvo objeción en otorgar licencias de uso de UNIX a las universidades a un bajo costo. Algo muy importante es que AT&T también distribuyó el código fuente de UNIX, fomentando así el desarrollo adicional y las innovaciones.

Se organizaban reuniones científicas en torno de UNIX, con distinguidos conferencistas que indicaban el descubrimiento de ciertos errores y la forma de arreglarlos. Como resultado de esta actividad, las nuevas ideas y mejoras al sistema se difundieron con rapidez. La versión que se convirtió en el primer estándar del mundo académico fue la Versión 6.

UNIX de Berkley

Uno de los asistentes al simposio de noviembre del '73 fue el profesor Fabry de la Universidad de California, Berkley. El profesor quedó inmediatamente interesado en obtener una copia para experimentar en los laboratorios de Berkley.

En enero del '74 se instaló Unix en una computadora PDP-11/455. Los primeros problemas que surgieron con el sistema fueron corregidos de manera remota por el mismísimo Ken Thompson. Este fue el comienzo de la relación de cooperación entre Berkley y los laboratorios Bell.

En los comienzos de 1977, Bill Joy organizó la `Berkley Software Distribution'(BSD). Esta primera distribución incluía el sistema Pascal y un editor de textos llamado 'ED'. Para mediados del '78 salió la segunda versión(2BSD). La misma incluía grandes mejoras al Pascal, fruto de la colaboración de la comunidad usuaria del mismo. También contaba con un nuevo editor de textos, el ahora famoso 'vi'.

La última versión de UNIX, de los laboratorios Bell fue 32/V6. De ahí en más el desarrollo de UNIX pasó a USL7. Este grupo lanzó primero el System III y luego el System V, pero los objetivos perseguidos eran netamente comerciales. Al comercializarse UNIX, el personal de los laboratorios Bell no pudo continuar encargándose de manejar las investigaciones que estaban llevando a cabo en las distintas universidades.

De esta manera y dado que la comunidad investigadora seguía modificando el sistema UNIX, se hacía notoria la necesidad de producir nuevas versiones a partir de lo investigado. Fue así que Berkley tomó el rol antes ostentado por los laboratorios Bell, dado que fue uno de los primeros participantes en la evolución del UNIX y por su vasta experiencia en la creación de herramientas basadas en UNIX.

Mientras tanto en la DARPA8, se estaba buscando una manera de homogeneizar las comunicaciones entre las computadoras que formaban la red de centros de investigaciones. Decidieron que la mejor solución sería unificar a nivel de sistema operativo. Luego de varias discusiones, UNIX fue seleccionado por su probada portabilidad.

A fines de 1979, Berkley ofreció a la DARPA la creación de una versión mejorada de la 3BSD para la comunidad DARPA. Gracias a la buena reputación obtenida por la distribución 3BSD, Berkley obtuvo en abril del '80 un contrato con DARPA por 18 meses. Dada la magnitud del proyecto se creó una organización, la CSRG9. Con el Apoyo de la DARPA, la CSRG comenzó a crecer y las versiones de BSD comenzaron a sumar adeptos.

La distribución 4BSD vió la luz en octubre de 1980. Para junio del '81 se lanzó la 4.1BSD. La agencia DARPA estaba satisfecha con los resultados, por lo que renovó el contrato con Berkley por dos años más.

En agosto de 1983 se lanzó la 4.3BSD que tuvo mayor popularidad que el System V de AT&T(y la USL). La principal razón era que el System V no poseía las herramientas para redes, ni el nuevo sistema de archivos diseñado por Berkley (FFS10). Cuando éstos cambios se incorporaron al System V (gracias a la disponibilidad del código fuente de Berkley), el System V recuperó el terreno perdido. En esa época BSD se encontraba a la vanguardia de los sistemas tipo UNIX.

Hasta la versión 4.3BSD, todos los usuarios debían obtener primero una licencia para el código fuente de AT&T. Esto se debía a que los sistemas BSD nunca fueron lanzados por Berkley en su forma binaria/ejecutable. Las distribuciones siempre contenían el código fuente completo de cada parte del sistema. La historia de los sistemas UNIX y del sistema BSD en particular mostró el poder de que los usuarios dispongan del código fuente. En vez de utilizar el sistema de forma pasiva, los usuarios trabajan activamente corrigiendo errores, mejorando el desempeño, la funcionalidad y eventualmente incorporando nuevas características.

Los incrementos constante en los costos de las licencias para el código fuente de AT&T se transformaron en prohibitivos. Los interesados en crear aplicaciones para trabajo en redes basándose en el protocolo TCP creado por Berkley, reclamaron a la universidad que los lanzara por separado del sistema operativo completo y que se empleara una licencia que no requiriera pagar los derechos de AT&T.

El código originado por Berkley para redes y las aplicaciones de soporte fueron lanzadas en junio de 1989 bajo el nombre de `Networking Release 1`. Este fue el primer código libremente distribuido lanzado por Berkley.

Los términos de la licencia eran liberales11. Cualquiera podía distribuir el código (modificado o no) ya sea de forma binaria o fuente sin pagar regalías a Berkley. Los únicos requerimientos eran que los avisos de copyright del código fuente debían dejarse intactos. Además si algún producto incorporaba el código fuente de Berkley el mismo debía indicar en la documentación que el producto contiene código de la Universidad de Berkley y sus contribuyentes.

En junio de 1991, el grupo lanzó el 'Networking Release 2'. Esta versión incluía casi por completo una versión operativa de UNIX. La tarea de desarrollo del Networking Release 2 se llevó a cabo en 18 meses y participaron más de 400 personas. Keith Bostic fue quien se encargó de coordinar a la gente para producir código fuente nuevo que pudiera reemplazar los fragmentos pertenecientes a AT&T. Bostic le entregaba a los voluntarios la descripción publicada de la aplicación o la parte de la documentación de la biblioteca y les pedía que lo implementaran nuevamente sin utilizar el código de AT&T. Esta fue la forma dentro del marco de la ley con la que se dió vida a este proyecto.

Como fue expresado anteriormente, Networking Release 2 era casi una versión completa de UNIX. Lo que faltaba para transformarlo en un sistema completamente funcional eran seis archivos. Networking Release 2 fue lanzado sin estos seis archivos pero seis meses más tarde (enero del '92) ya estaban listos.

Este hueco fue tapado por Bill Jolitz, quien lanzó un sistema booteable para la arquitectura 386 al cual bautizó '386BSD'. La distribución de este sistema fue a través de Internet. Unos meses después del lanzamiento, Jolitz no pudo continuar encargándose del proyecto. Entonces algunos usuarios crearon el grupo NetBSD para agrupar los esfuerzos colectivos, mantener y mejorar el sistema. El grupo NetBSD eligió enfocar sus objetivos al soporte de la mayor cantidad de plataformas posibles. Otro objetivo de importancia dentro del proyecto es enfatizar el diseño correcto y la generación de código fuente bien escrito. Un ejemplo es la implementación de una infraestructura de bus independiente de la arquitectura de la máquina. Esto posibilita que un único controlador de dispositivo, se pueda compartir en diferentes tipos de bus (PCI, ISA, etc) y también en diferentes plataformas. Esto contrasta con el enfoque tradicional de escribir y mantener diferentes versiones del controlador. NetBSD provee lanzamientos formales para 21 plataformas distintas.

El grupo FreeBSD se formó unos meses después que el grupo NetBSD. Su objetivo era soportar principalmente la arquitectura de la PC. Además apuntaban a atrapar un grupo de usuarios con menor o nulos conocimientos técnicos. Crearon sistemas de instalación elaborados y comenzaron a vender el sistema en CD-Roms de bajo costo. FreeBSD posee el mayor número de usuarios de todos los sistemas derivados del Networking Release 2.

La otra bifurcación dentro de las distribuciones se produjo en 1995 cuando Theo de Raadt (uno de los 8 socios fundadores de NetBSD) fue echado12 del grupo. Las metas de esta distribución son enfatizar la corrección, seguridad, estandarización y portabilidad. En definitiva, quieren convertirse en el sistema operativo más seguro del mercado.

El Juicio

Además de los grupos organizados para distribuir libremente sistemas creados a partir del Networking Release 2, se creó la compañía BSDI (Inc) para desarrollar y distribuir una versión del código fuente mantenida comercialmente. De la misma manera que los otros grupos, lo primero que hicieron fue desarrollar los 6 archivos faltantes a la distribución 386BSD. BSDI comenzó a vender su producto (que incluía codigo fuente y binarios), en enero de 1992.

Esto provocó una reacción por parte de USL, lo que derivó en una demanda judicial contra BSDI y la Universidad de California, alegando que sus productos contenían código fuente propiedad de la USL.

La justicia decretó que mientras perduraban las acciones judiciales ninguna distribución basada en Networking Release 2 podía ser comercializada.

La causa se prolongó en el tiempo y recién llegó a su fin en enero de 1994. El resultado fue que 3 archivos debían quitarse de la distribución Networking Release 2 (que contenía aproximadamente 18000 archivos), y algunos cambios menores debían efectuarse a otros archivos. La universidad accedió a agregar copyrights de la USL a 70 archivos, aunque los mismos continuaron distribuyéndose libremente.

Con la finalización del juicio, se lanzó la 4.4BSD Lite en junio de 1994. Los arreglos del juicio estipularon que USL no demandaría a ninguna organización que use 4.4 BSD Lite como base para su sistema. De esta manera, todos los grupos que realizaban distribuciones basadas en el código BSD (NetBSD, FreeBSD, BSDI), tuvieron que empezar nuevamente a partir del código base del 4.4 BSD Lite y luego migrar todos los cambios y mejoras propios a este nuevo código base.

3. Richard Stallman y su Proyecto GNU.

Introducción

Sin dudas Richard Mathew Stallman es la persona más importante dentro del movimiento del software libre. De hecho, fue él quien acuñó la concepción actual del término 'Software Libre'.

Nacido en el año 1953 en Nueva York, tuvo su primer contacto con una computadora (IBM 7094) a la edad de 12. A los 18 años, ingresó en el laboratorio de inteligencia artificial del MIT. En esa época el software se compartía sin ningún problema. Stallman se formó dentro de una comunidad que compartía todo. Al comenzar la década del 80 se produjeron algunos hechos que desencadenaron la reacción de dicha persona.

En primer lugar, la compañía Symbolics contrató a casi todos los hackers del laboratorio de IA, y la despoblada comunidad dejó de ser capaz de mantenerse a sí misma. A esto se le sumó el hecho que, el laboratorio adquirió una nueva PDP-10 y sus administradores decidieron utilizar el sistema no libre de tiempo compartido de Digital en vez del ITS13 que había sido diseñado en el MIT y que era libre.

De esta forma, Stallman se vio obligado a tomar una decisión:

'Al desaparecer mi comunidad, se hizo imposible continuar como antes. En lugar de ello, me enfrenté a una elección moral severa.

La elección fácil era unirme al mundo del software propietario, firmar los acuerdos de no revelar, y prometer que no iría en ayuda de mi amigo hacker. Podría haber hecho dinero de esta manera, y tal vez me hubiera divertido escribiendo código. Pero sabía que al final de mi carrera, al mirar atrás los años construyendo paredes para dividir a la gente, sentiría que usé mi vida para empeorar el mundo...
	

Richard Stallman

Otra elección, fácil pero dolorosa, era abandonar el campo de la computación. De esta manera no se usarían mis habilidades para dividir a la gente, pero aún así se desperdiciarían...

Así que busqué la manera en la cual un programador podía hacer algo bien. Me pregunté: ¿ habrá algún programa o programas que yo pueda escribir, de tal manera de otra vez hacer posible una comunidad? La respuesta era clara: lo primero que necesitaba era un sistema operativo... El nombre GNU se eligió siguiendo una tradición hacker, como acrónimo recursivo para GNU's Not Unix.'

A partir de ese momento, Stallman no se detuvo jamás. Comenzó a darle vida a su idea y para hacerse conocer redactaba ensayos expresando sus ideales. El primero de esos documentos, se lo conoce como el anuncio inicial y será analizado en forma detallada.

EL ANUNCIO INICIAL - Ver el Documento Completo -

Este documento fechado el 27 de septiembre de 1983 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"14 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'

Luego hace una presentación de su persona y pasa a explicar las razones por las que escribirá GNU.

'Considero que la regla de oro exige que si yo quiero un programa debo compartirlo con otras personas que también lo quieren. No puedo, conscientemente, firmar un acuerdo de confidencialidad o un acuerdo de licencia de software.

Para que yo pueda continuar utilizando las computadoras sin violar mis principios, he decidido reunir suficiente software libre de manera que podré continuar sin necesidad de utilizar algún software que no sea libre'.
	

Logo Proyecto GNU

Estos párrafos definen claramente la postura filosófica de Richard Stallman. Son los primeros pasos de su lucha contra el modelo de software propietario. Stallman menciona a los acuerdos de confidencialidad. Esta es la forma en que usualmente se distribuían los programas en la década del 80. Al usuario se le entregaba el sistema ( raras veces el código fuente), y tenía que firmar un acuerdo de confidencialidad. En el mismo se comprometía a no divulgar el código fuente, ni copiar ni modificar ni redistribuir el sistema. Stallman sufrió en carne propia las consecuencias de los acuerdos de confidencialidad con una impresora XEROX15.

El documento continúa pidiendo donaciones de dinero, equipos y mano de obra.

`Los programadores pueden contribuir escribiendo una copia compatible de alguna utilidad UNIX y dándomela. Para la mayoría de proyectos, tal trabajo distribuido sería muy difícil de coordinar; las partes escritas independientemente no trabajarían juntas. Pero para la tarea particular de reemplazar UNIX , este problema está ausente... Si cada contribución trabaja con el resto de UNIX , probablemente trabajará con el resto de GNU'

Lo que intenta explicar Stallman es la forma en que pretende encarar el proceso de reemplazo de UNIX. Propone que el voluntario tome un aplicación de UNIX y la reescriba. Luego debe reemplazar la aplicación original por la nueva. Si funciona correctamente, esto quiere decir que el trabajo está finalizado.

Cabe destacar que en aquel entonces no existía la GNU GPL. Este es el motivo por el cual Stallman reclama que quien cree una aplicación, se la done. De esta forma, se aseguraba de registrarla a nombre de la FSF a la espera de crear una licencia acorde con sus principios.

El documento finaliza con una expresión de deseo por parte de su autor: 'si obtengo donaciones de dinero, puedo contratar algunas personas por tiempo completo o a tiempo parcial. El salario no será alto, pero estoy buscando personas para quienes el ayudar a la humanidad sea tan importante como el dinero. Veo esto como una manera de permitirles a las personas consagradas dedicar completamente sus energías trabajando en GNU ahorrándoles la necesidad de ganarse la vida de otra manera'.

Stallman califica a su emprendimiento como una ayuda a la humanidad y demuestra su intensión de contratar personal. Poco tiempo después esa idea se hizo realidad al fundar la Fundación para el Software Libre (F.S.F.).

Unos meses después de que este anuncio fuera realizado, ya en el año 1984, Stallman publica una nueva versión de su editor de textos EMACS (GNU EMACS) como software libre. El GNU EMACS comenzó a distribuirse de dos formas:

               1.

                  A través de un servidor FTP anónimo del cual se podía descargar en forma gratuita.
               2.

                  Comprando una copia por u$s 150. De esta manera, inició un negocio de distribución de software libre.


El GNU EMACS fue lanzado bajo una licencia llamada GNU EMACS License. La misma fue la antecesora de la GNU GPL. Como gran diferencia puede indicarse que la licencia del GNU EMACS requería que los cambios efectuados al código fuente se entregasen al autor (en este caso a Stallman) .

A medida que el interés por el uso de GNU EMACS crecía, otras personas se involucraron en el proyecto GNU. Entonces nació la Fundación para el Software Libre (FSF). Esta organización de caridad libre de impuestos fue ideada para fomentar el desarrollo de software libre.

El Manifiesto GNU - Ver el Documento Completo -

Este documento se basa en el anuncio inicial que Stallman publicó en 1983. El mismo ahonda en temas de índole técnica y filosófica. Sin dudas este manifiesto deja sentadas las bases sobre las que más adelante se edificó el movimiento de software libre.

Resulta importante analizar el contenido del mismo para destacar cuales eran las intenciones iniciales del creador del proyecto GNU. Se pueden encontrar varias aristas interesantes y controversiales que ayudan a comprender a una persona tan carismática como Richard Stallman.

El manifiesto comienza explicando el motivo del nacimiento del proyecto GNU. Su creador comenta que ya cuenta con voluntarios ayudándolo e invita a otros programadores a sumarse. Luego se encarga de describir las aplicaciones que ya poseen. Entre ellas se destacan:

   1.

      Editor de textos GNU EMACS (creado por él mismo).
   2.

      Un shell casi terminado. (hoy conocido como BASH)
   3.

      Un nuevo compilador portable de C que se ha compilado a sí mismo y será liberado este año. (se refiere al gcc y al año 1985).
   4.

      Existe un núcleo inicial pero requiere de muchas características más para emular UNIX.
   5.

      Usaremos el sistema gratuito y portable de ventanas XWindow.

De toda esta enumeración de aplicaciones, la que le trajo más dolores de cabeza a Stallman en particular y a su proyecto en general fue el núcleo o kernel del sistema operativo. En aquel entonces indicaba que ya poseía un núcleo pero que faltaba mucho para que pudiera ser funcional. La verdad es que cinco años después (en 1990) el sistema GNU estaba casi completo y el único componente faltante era el núcleo. El núcleo HURD nunca ha llegado a ser completamente funcional. Este hueco fue en donde calzó el proyecto empezado por Linus Torvalds.

Stallman continúa el manifiesto expresando que GNU está siendo escrito inicialmente para máquinas de la serie 68000 de Motorola. Menciona que si alguien dona algún equipo al proyecto, seguramente GNU se ejecutará en ellos. Con esto busca captar donaciones de máquinas con distintas arquitecturas prometiendo que GNU se portará a esos sistemas.

Luego prosigue esgrimiendo las razones por las cuales escribirá GNU. Nuevamente reitera lo expresado en el anuncio inicial, y agrega que ha renunciado a su trabajo en el laboratorio de IA para que el MIT no posea ninguna excusa legal que le prohiba distribuir GNU libremente.

Este fue un gesto bastante elocuente por parte de Stallman, para demostrar que su iniciativa era seria. Igualmente a pesar de no ser más empleado del MIT, las autoridades le permitieron continuar utilizando su oficina para este proyecto particular.

El manifiesto continúa con dos puntos muy importantes. El primero es netamente técnico. Indica que GNU, será compatible con UNIX dado que es un buen sistema portable pero además porque es el más utilizado16. De esta manera al ser compatible, las utilidades UNIX podrían ejecutarse en GNU. Y el otro motivo importante es que no sería difícil el cambio al nuevo sistema operativo para los usuarios de UNIX.

El segundo punto importante es cuando Stallman explica como estará disponible GNU: 'GNU no es de dominio público. Todos tendrán permiso para modificar y redistribuir GNU, pero a ningún distribuidor se le permitirá restringir su redistribución posterior. Esto es decir, modificaciones propietarias no estarán permitidas'.

Con estas palabras queda definida la intención de Stallman de proteger su software con una licencia que asegure que los programas sean libres y que continúen siéndolo. Años después creó la licencia GPL, dándole un marco legal a estas premisas filosóficas.

Más adelante Stallman escribe sobre los beneficios que le brindará GNU a los usuarios de computadoras.

'Los códigos completos del sistema estarán disponibles para todos. Como resultado, un usuario que necesita cambios en el sistema será siempre libre para hacerlos por sí mismo, o de contratar a cualquier programador o empresa disponible para hacerlos por él. Los usuarios no estarán ya a merced de un programador o una empresa que sea dueña de los códigos fuente' .

Este aspecto remarcado por Stallman es muy importante ya que está explicando las oportunidades de negocio dentro del mundo de software libre. A lo que apunta es a dejar en claro que no se opone a que los programadores cobren dinero por su trabajo o que las empresas participen del negocio. Lo que intenta repudiar es que no se respete la libertad, o se intente cohartar los derechos de los demás.

Como última sección del manifiesto, Stallman se encarga de autoresponder un conjunto de preguntas sobre diversos ítems de su proyecto. Es una especie de conclusión final donde continúa recalcando cuales (en su opinión) son las razones por las que el usuario de computación en particular y la humanidad en general se beneficiarán con el software libre.

Consideraciones Preliminares

Luego de analizar estos dos primeros documentos redactados por el padre del proyecto GNU y la FSF, se pueden sacar diversas conclusiones.

Una de ellas, y por cierto la más evidente de todas es que se está frente a un purista, que muchas veces se parece más a un extremista. Ya desde sus primeros escritos pueden rescatarse sus ideales de libertad que lo impulsaron a abandonar su trabajo y dedicarse a la tarea 'sagrada' de liberar a la humanidad del software propietario.

A pesar de todo, hay muchas cosas que no quedan claras o se prestan a la confusión en estos documentos. Pero hay que reconocer la habilidad que demuestra Stallman a través de su prosa, de capturar al lector y hacerlo pensar como él quiere.

Cabe recalcar que Stallman es un ciudadano estadounidense. Esto no es un dato menor, ya que su prédica ha sido muchas veces tildada de comunista. Además para la fecha en que comenzó su proyecto (año '84), la guerra fría aún no había finalizado, por lo que las críticas fueron más feroces. Stallman nunca le prestó mucha importancia a estos comentarios, pero siempre aclaró que sus intenciones se alejan mucho de las de un régimen comunista, dado que en éstos se cohartan las libertades de la gente y lo que él busca es la libertad a cualquier precio.

Está claro que frente a una personalidad tan influyente se encuentren fieles seguidores y fervientes detractores.

El avance del Proyecto

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.

En una entrevista con la revista 'Byte' en junio de 1986, Stallman respondìa sobre su manera de ganarse la vida:

'De la consultoría. Cuando hago consultoría, me reservo el derecho a publicar lo que escribí para el trabajo. También podría ganarme la vida vendiendo copias de software libre que escribí. Mucha gente me envió 150 dólares por el GNU EMACS, pero actualmente ese dinero va a la FSF que fundé. La fundación no me paga un sueldo porque surgiría un conflicto de intereses. En cambio contrata a otras personas para que trabajen en GNU. Mientras pueda continuar ganándome la vida como consultor, creo que es la mejor manera'.

Sin dudas, Stallman gozaba de buena fama como programador, lo que le permitía cobrar hasta 260 dólares por hora de consultoría. Pero esta tarea le quitaba tiempo y no le permitía dedicarse cien por ciento a su proyecto.

Esta situación cambió radicalmente, cuando en 1990 fue galardonado con una beca de investigación de 240.000 dólares, por la fundación MacArthur. Estas becas conocidas como 'genius grants', se entregan anualmente a personas de gran talento y creatividad. En el caso puntual de Stallman se le entregó por sus méritos en el campo de desarrollo de software, en especial por el software libre y por su fundación (la FSF). Esto le permitió a Stallman dedicarse por completo a su proyecto.

Uno de los hitos clave dentro del desarrollo del proyecto GNU, es la creación de la licencia GPL. Fue un gran éxito para Stallman y su gente lograr darle un marco legal, al movimiento que estaban forjando.

Aunque las implicancias de esta licencia serán analizadas en la sección siguiente, es importante ubicarla dentro del contexto del avance del proyecto y como impactó sobre el mismo.

Antes de la GPL, había un vacío legal ya que la FSF no tenía un instrumento jurídico que le permitiese proteger de la manera que ellos deseaban al software de su propiedad. A partir de esta licencia (año '89) surge el concepto de 'copyleft'. La idea de Stallman y por ende la FSF era que el software puede considerarse libre si cumple con las siguientes cuatro libertades:

- Libertad 0: Libertad de ejecutar el programa para cualquier finalidad.

- Libertad 1: Libertad de estudiar como funciona el programa y adaptarlo a las propias necesidades.

- Libertad 2: Libertad de distribuir copias para ayudar a un tercero.

- Libertad 3: Libertad de mejorar el programa y publicar las propias mejoras, para que se beneficie de ellas toda la comunidad.

La libertad 0 la entregan todos los programas en general. Por eso es que realmente las libertades 1, 2 y 3 son las que distinguen al software libre del resto.

La libertad 1 es la que implica ayudarse a uno mismo modificando el software para que satisfaga las necesidades propias. Esto puede ser reparando algún error, agregándole funcionalidad o portándolo a otra arquitectura de computadora.

De esta libertad surge la oportunidad del negocio. Es obvio que no todos los usuarios de software son programadores que pueden reparar o modificar los programas. Entonces el usuario puede contratar a un programador o una empresa para que modifique el software por él.

La libertad 2 es la que apunta a la distribuición de copias de software. Stallman dice 'En la actualidad nos hacen creer que ayudar a un amigo es moralmente equivalente a atacar un barco. Te llaman pirata'.

La libertad 3 apunta a la posibilidad de armar comunidades de desarrollo de software libre. La idea es trabajar juntos para avanzar el conocimiento humano. Es la libertad de modificar el software y que haya gente que coincida con esa modificación.

Para cumplirse las libertades 1 y 3 se debe tener acceso al código fuente. Pero no es lo único que importa. El software libre no es solo disponer del código fuente. Es toda una filosofía de desarrollo en la que lo más importante es la libertad. Muchos de los que intentan despreciar a este movimiento lo simplifican hablando de código fuente abierto y copias gratuitas.

La caída de la FSF comienza a sentirse por el año '92 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 practicamente muere, eclipsado por las fallas propias y el boom de Linux.

En el año '97, 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”. 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, prácticamente sin ninguna actividad de desarrollo importante.

En la actualidad Stallman es un reconocido conferencista que recorre el mundo 'evangelizando' con su prédicia de libertad a cualquier precio.

'No programo más. Trabajar en la parte gerencial y política del movimiento es todo lo que puedo hacer. Programar es más divertido, pero la única forma de hacerlo sería dejando de lado las otras responsabilidades.

Es el liderazgo del movimiento lo que hago. A veces debo manejar a la gente que se encuentra en proyectos nuevos, a veces hago el reclutamiento, y en oportunidades negociaciones con otros proyectos, o persuado a la gente para que cambie sus licencias'.

Polémicas y Enfrentamientos

Las opiniones tan duras contra todo aquello que no sea software libre, han llevado a Stallman a encarar fervientes enfrentamientos contra muchas organizaciones y personas.

Entre los casos más famosos, se encuentra el boicot iniciado contra la empresa `Amazon.com`. El mismo se debe al uso agresivo de las patentes contra su competidor directo 'Barnes & Noble' . Lo que realmente quería Stallman era que el software no cuadre dentro de la ley de patentes de Estados Unidos.

Sucede que al patentar algoritmos o técnicas de programación, se impide que puedan ser utilizadas por los desarrolladores de software de manera libre. La forma de poder emplearlas sería pagando a los titulares de la patente. Esta práctica se transforma en prohibitiva para los desarrolladores de software libre, quienes muchas veces son voluntarios.

En marzo de 2002, amazon.com y Barnes & Noble llegaron a un acuerdo. Pero como los términos del mismo no fueron dados a conocer, desde el proyecto GNU y la FSF siguen incitando al boicot contra amazon.com.

Otro de sus fuertes enfrentamientos fue contra KDE. La contienda contra el entorno de escritorio comenzó en el año '97 cuando nació el proyecto. El problema era que KDE incluía las bibliotecas17 QT de la empresa Trolltech, que no estaban lanzadas bajo la licencia GPL. De esta forma, al no ser considerado software completamente libre, Stallman y la mayoría de los puristas se oponían a la inclusión de KDE en las distribuciones de GNU/Linux. Este hecho desencadenó el lanzamiento por parte de Red Hat del proyecto GNOME, como alternativa totalmente libre frente a KDE.

La disputa culminó en el año 2000, cuando la empresa Trolltech lanzó sus bibliotecas bajo la licencia LGPL18. Aunque es una licencia más leve que la GPL, Stallman y su gente no pudieron continuar con el enfrentamiento ya que la LGPL es una licencia creada por la FSF especialmente para bibliotecas.

Hoy en día KDE y GNOME se incluyen en la mayoría de las distribuciones de GNU/Linux y compiten cabeza a cabeza por el dominio de los escritorios.

La última iniciativa de Stallman fue en enero de 2002 al publicar un escrito criticando a los correos electrónicos con archivos adjuntos en formato de Microsoft Word. Especialmente se refirió a ellos como 'molestos' y que impiden que la gente se pase al software libre. A lo que apunta con su escrito es que si alguien recibe un archivo adjunto en formato de Word (.doc), que pida al remitente que reconsidere su manera de hacer las cosas.

'La mayoría de los usuarios de computadoras utiliza Microsoft Word. Eso es desafortunado para ellos, ya que no pueden estudiarlo, cambiarlo y redistribuirlo. Y como Microsoft modifica el formato con cada nueva versión, sus usuarios están encerrados en un sistema que los insta a comprar cada actualización, ya sea que necesiten un cambio o no'.

A modo de ejemplo, Stallman incluye dos mensajes o respuestas enlatadas19 para que el usuario pueda enviarlas rápidamente cada vez que sea necesario. También explica que hay muchos que al recibir un archivo de Word tratan de abrirlo de alguna manera para leer el contenido y expresa:

'Arreglártelas para leer el archivo es un síntoma de una enfermedad crónica. Para curar la enfermedad, debemos convencer a las personas de que no envíen o publiquen documentos en formato de Word'.

Esta iniciativa tuvo bastantes repercusiones en el mundo informático. En nuestro país, salió publicada una nota en el matutino Clarín bajo el título “Los pesados y a veces peligrosos archivos adjuntos de los e-mails”(Lunes 25 de marzo de 2002 - pág 33). En ella se hace mención al escrito publicado por el gurú del software libre.

Sin dudas es muy importante la llegada al diario de mayor tirada del país de las ideas de Stallman. Esto le permite conseguir despertar el interés en aquellos que ni siquiera conocen las bases de su movimiento.

La realidad indica que lo expresado por Stallman en este documento es cierto.

            Mucha gente y organismos publican información o exigen recibirla en formato de Word.

            Obligan a la gente a utilizar Word para leer el documento20.

            Los archivos de Word pueden transportar algún virus y también información privada sobre su autor.

La máxima aspiración de Stallman es que la premisa de “ no envíe formato de Word” consiga el estatus de netiquette. El tiempo dirá si pudo lograrlo o no. Pero sin dudas que el esfuerzo vale la pena.

Consideraciones Finales

Esta sección, ha recorrido la vasta trayectoria de una persona más que influyente dentro de la historia del software. Lamentablemente, no todo el mundo está al tanto de los logros que se han alcanzado gracias al aporte de Stallman. Quizá su caracter fuerte y personalidad conflictiva, le han impedido lograr una mayor fama o reconocimiento.

Pueden resultar chocantes en muchas oportunidades las opiniones de Stallman. A su vez, esa actitud confrontativa y de aislamiento son las que desencadenaron la división que se ha producido en los últimos años entre el Open Source y el Software Libre.

Aún así, a Richard Stallman hay que reconocerle varios logros. Obviamente, el más importante es el de la creación del proyecto GNU ya que es el que engloba al total de sus aportes. Le sigue en importancia, la creación de la licencia GNU GPL. Aunque recibió el consejo de importantes juristas para su elaboración, la idea de la misma fue suya. Y puede reconcerse fácilmente la influencia de sus creencias en el texto de la misma.

También resultan destacables sus logros en el campo del desarrollo de software. Las herramientas que desarrolló, permitieron que un gran número de personas se sumen al proyecto y contribuyan a su crecimiento:

      GNU C Compiler (GCC) -- EL compilador portable que fue diseñado para soportar diversas arquitecturas y múltiples lenguajes. Actualmente son 30 las arquitecturas diferentes y 7 los lenguajes soportados .

      GNU Debugger (GDB) -- Un debugger flexible y poderoso que continúa siendo utilizado.

      GNU Emacs -- editor de textos extensible. Esta característica le ha permitido transformarse en navegador web, cliente de correo y muchas cosas más. Stallman recibió la distinción “Grace Hopper Award” de la Association for Computing Machinery en 1991 por esta herramineta.

Por todo lo expuesto, valga el reconocimiento para este ser humano que ha realizado un aporte de gran valor al mundo de la informática. Richard Stallman contribuyó al desarrollo de una plataforma donde el conocimiento se comparte y lo único que se pide a cambio de ello es que no se corte esa cadena para que los nuevos conocimientos estén al alcance de los demás. 

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.

Dominio Público

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.