Visión histórica del software libre

El software está compuesto por un conjunto de instrucciones que un ordenador ejecuta para poder realizar una función específica. Normalmente los programadores escriben en un lenguaje que los humanos podemos entender y que posteriormente es traducido a secuencias de unos y ceros que es el único lenguaje que las máquinas entienden. El conjunto de órdenes en el lenguaje que los humanos trabajamos se llama código fuente.

Sin acceso al código sólo podemos usar el programa, no podemos ver cómo esta hecho o introducir mejoras. Un símil muy utilizado es el de la receta de cocina, en que el código fuente sería las instrucciones que permite confeccionar un plato. Sin la receta sólo se puede degustar el plato, pero no sabemos si, al añadirle algo, vamos en contra de alguno de sus ingredientes, ya que se desconoce su composición y la proporción. En este sentido, el código fuente juega un papel fundamental en cómo entendemos las libertades del software.

Cuando los ingenieros de software nos hallamos ante un programa que no da acceso al código fuente –es decir, que no es libre– nos encontramos que no lo podemos entender, y por tanto que no lo podríamos arreglar aunque hubiéramos descubierto un error y conociéramos su solución. Es decir, aunque como profesionales tengamos el remedio, nos vemos incapacitados para aplicarlo.

El software tiene un papel muy destacado en la sociedad y es importante garantizar métodos transparentes en sus diferentes fases de producción y explotación. El software libre, al dar acceso al código, es el único que puede garantizar esta transparencia.

Etica hacker

Durante los años 60, los sistemas informáticos medianos se popularizaron en algunas universidades. Eran todavía muy caros y estaban básicamente destinados a un uso científico. Uno de los centros de investigación más importantes de aquella época era el Massachusetts Institute of Technology, popularmente conocido por sus siglas MIT, donde se realizaban destacados proyectos de investigación.

En aquellos tiempos, los sistemas informáticos eran en modo de texto y las interfaces gráficas todavía no existían. De hecho, no existían ni siquiera los estudios de informática como disciplina. Alrededor de los centros de cálculo se fueron formando grupos de expertos que eran capaces de llevar estas máquinas hasta límites insospechados y que eran, por encima de todo, entusiastas de la tecnología. Estas personas se denominaron hackers, en el sentido que eran capaces de encontrar soluciones ingeniosas a problemas complejos. Desgraciadamente, años más tarde, esta palabra se empezó a utilizar para nombrar a los intrusos informáticos que robaban datos o programadores que escribían virus, a quienes realmente se debe llamar crackers.

Durante los años 60 y parte de los 70 era habitual distribuir las aplicaciones junto con su código fuente. De esta manera todo el mundo podía participar en el proceso de mejora del software, el intercambio de trucos y compartir un espíritu muy extendido de ayuda entre usuarios.

Los hackers tienen su propio código de conducta. Para ellos es fundamental garantizar el acceso a la información y los recursos informáticos a todo el mundo. richard stallman, por ejemplo, se sintió especialmente ofendido cuando en su laboratorio de investigación en el MIT comenzaron a instaurar contraseñas para acceder a los sistemas informáticos. richard stallman propuso a los usuarios del sistema que utilizaran la tecla retorno como contraseña que era el equivalente a no utilizarla. Finalmente las contraseñas fueran instauradas y compartir la información entre usuarios ya no fue posible como lo había sido hasta entonces en aquel laboratorio.

Para los hackers los retos intelectuales son importantes como también lo es ser capaces de compartir sus resultados con el resto de la comunidad.

Los hackers, aún hoy en día, son los principales impulsores y desarrolladores de software libre y su ética se ha convertido en el código ético implícito sobre el cual se ha forjado el movimiento.

GNU

Con la explosión de la microniformática, el descenso de precio de los sistemas informáticos y su popularización entre las empresas, aparecieron las primeras compañías de software. Muchas de ellas empezaron contratando hackers que estaban alrededor de los centros de cálculo de las universidades, de forma que éstas se fueron despoblando de aquellos pioneros. Pero, además, muchas de estas empresas creyeron que si denegaban el acceso a los usuarios y a otros desarrolladores al código fuente de las aplicaciones que mejoraban o desarrollaban, podrían realmente conseguir una ventaja competitiva. Éste fue un punto de inflexión importante, ya que se rompió con la tradición de compartir el código que había imperado hasta entonces y consecuentemente con la propia ética hacker.

Poco a poco se fue extendiendo un modelo de código cerrado en el cual el software se vendía sin el código fuente y, cada vez más, las libertades de los usuarios se fueron acortando.

Una de las personas que había vivido de cerca toda aquella evolución era richard stallman, quien fue pionero en defender las libertades que se habían perdido y acuñó el término software libre. El 27 de septiembre de 1983 richard stallman muy preocupado por esta pérdida de libertades anunciaba que empezaba a trabajar sobre una implementación libre de un sistema inspirado en Unix que denominaría GNU y que estaría libre de código de AT&T, es decir, una implementación desde cero sin posibles problemas legales con AT&T.

I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free.

En su mensaje stallman explicaba además detalladamente su experiencia como desarrollador de sistemas y pedía la ayuda de todo el mundo que quisiera ofrecer parte de su tiempo, dinero, o hardware: I am asking computer manufacturers for donations of machines and money.

Linux

Durante los años 80 richard stallman continuó trabajando en el desarrollo de las herramientas necesarias para crear un sistema operativo completamente libre. Publicó una versión del editor GNU Emacs y trabajó en herramientas que son fundamentales para el movimiento del software libre, como, por ejemplo, el compilador GCC o el depurador GDB.

En 1991 un estudiante finlandés de 21 años llamado linus torvalds publicaba en la Red su propio núcleo de sistema operativo inspirado en Unix que más tarde se denominaría Linux. Rápidamente, muchos hackers se sumaron a un esfuerzo colectivo para ayudarle a mejorar el núcleo del sistema operativo y creció en importancia. Éste era precisamente el corazón que le faltaba al sistema GNU que stallman estaba diseñando.

Linux se ha convertido en el buque insignia del movimiento del software libre, ya que es un sistema operativo completamente libre que incluye todo tipo de herramientas para servidores y usuarios finales.

Open Source

Durante el año 1998, eric s. raymond, bruce perens y otros hackers involucrados en el desarrollo de software libre lanzaron la Open Source Definition y propusieron el uso del término open source (código abierto) en contraposición al término free software (software libre) como término más atractivo al entorno empresarial. El término free software en el mundo anglófono creaba una situación incómoda debido a la doble acepción que en inglés tiene el término free (que puede significar gratuito o libre). La gran mayoría de empresas en EE.UU usan principalmente el término código abierto para evitar dar la percepción que el software libre es un recurso totalmente gratuito y para poner énfasis en valor diferencial que representa el hecho de que el código fuente está disponible.

bruce perens, de la OSI creó una lista de condiciones que debe cumplir un programa para ser poder ser considerado Open Source (Open source doesn't just mean access to the source code): libre redistribución, incluir el código fuente, obras derivadas, integridad del código fuente original, no discriminación contra personas o grupos, no discriminación contra usos, distribución de la licencia, la licencia no debe ser específica de un producto, la licencia no debe restringir otro software, la licencia debe ser tecnológicamente neutra.

El papel del software libre en el crecimiento de Internet

El software libre ha tenido un papel fundamental en el crecimiento y extensión de la Red. Si usted ha utilizado Internet, ya es usuario de software libre porque la mayor parte de la infraestructura de Internet se basa en protocolos abiertos.

Tim berners-lee, creador de la web, en su libro Weawing the web, The past, Present and Future of the World Wide Web describe cómo en el año 1993 decidió presionar al CERN, donde trabajaba, para que cediera bajo la licencia GPL, creada por la Free software Foundation, todo el software que había creado para realizar la infraestructura de la web hasta entonces. Finalmente, en abril de ese mismo año el CERN accedió a permitir a cualquiera el uso de su software y protocolos libremente.

Es indiscutible la importancia que ha tenido el software libre en la extensión y el desarrollo de Internet desde sus inicios. Sin la existencia del software libre Internet hoy en día probablemente no existiría. Ha sido igualmente importante el hecho de que los protocolos que definen la arquitectura de Internet sean abiertos y que no hayan sido controlados por una o varias empresas.

Elaborado a partir del trabajo de jordi mas hernández: Software libre: técnicamente viable, económicamente sostenible y socialmente justo (2005)