Libre como en "libertad de expresión", no como en "barra libre"

Me apetece contarte una historia de las de antes, con grandes personajes y decisiones heroicas, maldades perversas y desenlaces inciertos. Es una historia que habla de libertad, ¿qué típico, no? Pero de la libertad en un mundo que quizá no hayas imaginado, de libertad en los programas de ordenador. ¿Cómo? Seguramente te habrás asombrado tanto como si te quisiera hablar sobre la libertad en el mundo de las tostadoras de pan, pero basta abrir un periódico en su sección financiera para darnos cuenta de que el software, esos programas de ordenador, son parte fundamental en nuestras vidas y en la política económica global.

La informática no dejó de ser un conjunto de calculadoras gigantes, carísimas y difíciles de manejar hasta que Thompson y Ritchie, de los laboratorios Bell, desarrollaron el sistema UNIX. Con este sistema se rompió la incompatibilidad que reinaba entre los diferentes ordenadores de la época. En lugar de usar métodos propios de cada fabricante, se basaron en estándares y formatos abiertos para su desarrollo. Por fin existía un “esperanto” entre las máquinas. Sin embargo, la portabilidad requería de un esfuerzo. Las universidades y laboratorios se comunicaban entre sí para poder portar código a una máquina en concreto, o para compartir un driver[1] de una impresora, por ejemplo. Muchas personas casi anónimas fueron aportando su pequeño granito de arena a este Sistema Operativo[2]. La informática era algo artesanal, se compartía el código de la misma manera que la gente comparte recetas de cocina. Nadie hablaba de “Software Libre” por aquel entonces, era lo habitual (nadie llama “Gastronomía Libre” al hecho de que tu madre le dé la receta del pastel de manzana a su prima).

Sin embargo, fue en esta época cuando el modelo de negocio de comercialización del software tuvo su arranque. Cada vez más empresas fueron haciendo privado o cerrado su código, obligando a firmar acuerdos de “no divulgación” (“non-disclosure“) a quienes adquirieran ese software[3]. El fabuloso recetario de cocina que se había ido formando con las aportaciones de tanta gente se hizo privado. Las nuevas “recetas” o programas ya no podrían consultarse más: o comprabas el pastel o no lo comprabas, pero ya no podías ver cómo estaba hecho.

La mayoría de los mejores administradores de sistemas de la época fueron reclutados por esas empresas de software, ofreciendo contratos millonarios. Los “hackers[4] de los setenta cambiaron su concepción del software ayudados por las generosas sumas de sus nóminas. Por este entonces, Richard Stallman, un hacker experto en Sistemas Operativos de tiempo compartido en el MIT (Instituto Tecnológico de Massachusetts), decide romper con esta dinámica de ocultación y privatización del software y funda la “Free Software Fundation” (FSF). La FSF es un proyecto sin ánimo de lucro que pretende mantener la libertad en el software. Para asegurar esa libertad, renuncia a su sueldo en el MIT y se enfrasca en un proyecto titánico: crear un Sistema Operativo totalmente libre. Lo primero que necesita para ponerse a escribir esta leyenda es lápiz y papel, es decir, en términos informáticos, un editor. Haciéndose valer de sus amplias capacidades como programador, Stallman crea “Emacs”, un potente editor que distribuye de forma libre. Gracias al soporte proporcionado y a las copias en cinta que vendía, pudo obtener los ingresos suficientes como para continuar con su proyecto. Además, en el MIT se le permitió utilizar algunos ordenadores de los laboratorios y se le mantuvo su despacho sin pedir nada a cambio.

Stallman había dado un gran paso creando “Emacs”, además de proporcionarse una fuente de ingresos, podía generar documentación y código de manera libre. El siguiente paso lógico fue diseñar un compilador para poder crear programas ejecutables de forma libre. Si el código fuente de un programa puede entenderse como la “receta” del pastel, el compilador es el “horno”, que transforma la receta en pastel, es decir, el programa fuente en programa ejecutable. Así es como surgió el GCC, Compilador de C GNU. Con él ya se podían crear programas que no dependieran de licencias cerradas. Teníamos toda la tinta y papel que quisiéramos para escribir las recetas (el editor), y hornos gratis para todos; los pasteles no tardarían en llegar.

El proyecto de crear un Sistema Operativo totalmente libre tomó el nombre de GNU. GNU es un acrónimo recursivo que significa “GNU’s Not UNIX“, es decir, “GNU no es UNIX”. El Sistema Operativo de la FSF sería compatible con UNIX, pero no sería un UNIX comercial. Gracias a esta compatibilidad con UNIX, el proyecto GNU se pudo enfocar de manera modular: partiendo de un UNIX comercial, se fueron desarrollando y sustituyendo cada una de sus partes propietarias por sus equivalentes libres, poco a poco. Imaginémonos a GNU como un gran Frankstein, que vamos componiendo con las partes del cuerpo que vamos produciendo. Dentro de la comunidad del Software Libre había gente que era capaz de hacer desarrollos muy importantes, siguiendo con el símil producirían partes importantes del cuerpo, como el corazón, los pulmones, etc. Pero también, los programadores no tan buenos contribuían haciendo aportaciones pequeñas pero útiles, diseñaban las uñas de nuestro Frankstein, los pulgares, cosas sencillas.

A finales de los ochenta el proyecto GNU estaba casi terminado, pero carecía de un kernel o núcleo del sistema bien desarrollado: Frankstein tenía un cuerpo perfectamente acabado, pero le faltaba el cerebro. Casualmente por esas fechas, un joven estudiante de la Universidad de Helsinki comenzó un proyecto personal, sólo para divertirse (“just for fun!“): Linux. Lo maravilloso de Linux ha sido que, ayudándose de Internet, ha movilizado a un montón de gente que fue desarrollándolo en paralelo, de forma no jerarquizada, casi caótica. El resultado era espectacular, los nuevos diseños y mejoras se sucedían semana tras semana. ¡El modelo “bazar” de desarrollo estaba dando mejores frutos que el modelo “catedral”![5]

Como ya hemos dicho, Linus Torvalds se ayudó de Internet para explicar su proyecto y solicitar ideas y colaboraciones. Pronto la Red se volcó en el desarrollo de ese núcleo, y en pocos meses se obtuvieron versiones operativas. Inicialmente ese núcleo iba a llamarse FreaX, en alusión a su carácter libre, y haciendo un juego de palabras entre la voz inglesa “free” (libre), “freak” (extraño, raro) y la X final de todos los UNIX. Ari Lemke, un compañero suyo, no estaba nada convencido de ese nombre, y decidió cambiarlo a LinuX, una mezcla de Linus y UNIX.

Si Linux es sólo el núcleo del Sistema Operativo, ¿por qué tanta gente llama “Linux” a todo el Sistema Operativo? Bien, realmente el conjunto del núcleo más el resto de aplicaciones que conforman todo el Sistema Operativo se llama “GNU/Linux”. De la misma manera que muy poca gente llama “horno microondas” a su microondas, muy pocos llaman “GNU/Linux” a su sistema Linux. Este hecho suele fastidiar a los partidarios de GNU, si bien es cierto que no todo lo que se conoce como “GNU/Linux” proviene de la suma de “GNU” + “Linux”, ya que existe mucho software diferente dentro del sistema.

Linus Torvalds, aquel estudiante que inició el desarrollo de Linux, decidió distribuir Linux bajo la licencia GPL de la Free Software Fundation. Esta licencia asegura que tanto Linux como todas sus variaciones permanecerán siendo Software Libre, es decir manteniendo las cuatro libertades del software:

  1. La libertad de usar el programa, con cualquier propósito (Libertad 0).
  2. La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (Libertad 1). El acceso al código fuente es una condición previa para esto.
  3. La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (Libertad 2).
  4. La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (Libertad 3). El acceso al código fuente es un requisito previo para esto.

Gracias a esta decisión, Linux era un núcleo de Sistema Operativo libre, y GNU era un Sistema Operativo libre a falta de núcleo, por lo que el matrimonio GNU/Linux resultó algo casi obvio. Por primera vez desde la privatización del mundo del software, podíamos utilizar un Sistema Operativo totalmente libre.

El binomio GNU/Linux es el más conocido de los productos de la comunidad del Software Libre, pero no el más exitoso. A pesar de que GNU/Linux multiplica cada pocos meses su número de usuarios, todavía no ha llegado a tener una cuota de usuarios realmente significativa con respecto al total. Todo lo contrario sucede en el campo de los Servidores Web: Apache, con más del 60% de cuota, es el servidor más usado con diferencia, a mucha distancia de su más inmediato competidor. Apache es el ejemplo paradigmático de la plausibilidad del Software Libre como software profesional, bien acabado y diseñado, utilizable en entornos de producción reales con unos resultados altamente satisfactorios. No se puede decir lo mismo del Internet Information Server, a pesar de las diferencias en cuanto a presupuesto.

Como hemos podido ver, el mundo del software tiene implicaciones sociales grandes. que no deberían ser obviadas a la hora de adquirir nuestro programas. Hablamos de “free software”, pero “libre como en “libertad de expresión”, no como en “barra libre””. Es decir, no se pone el énfasis en la gratuidad del software, sino en su libertad. Me gustaría terminar con unas palabras del propio Richard Stallman a la hora de justificar el Software Libre:

“Te mereces ser capaz de cooperar abierta y libremente con otras personas que usan software. Te mereces ser capaz de aprender cómo funciona el software, y enseñar a tus estudiantes con él. Te mereces ser capaz de contratar a tu programador favorito para arreglarlo cuando se rompa.

Te mereces Software Libre”


[1] Driver es una palabra inglesa que se utiliza en informática para denominar a un pequeño programa que permite utilizar un dispositivo en concreto, como una impresora, un CD-ROM, una pantalla, etc.

[2] Un Sistema Operativo es la parte del software que convierte a nuestra máquina (hardware) en un entorno más amigable. Nos aísla de todas las complejidades propias de la circuitería interna, presentando al ordenador como algo relativamente sencillo de manejar.

[3] Como dice Stallman, “el primer paso para poder utilizar un ordenador era prometer que no ayudarías a tu vecino. Se prohibía la existencia de una comunidad cooperativa. La regla hecha por los dueños de software propietario era: “si usted comparte con su vecino, usted es un pirata. Si desea algún cambio, ruéguenos para que lo hagamos nosotros””. Parece que el hecho de ayudar a un compañero es comparable a entrar por la fuerza en un barco y raptar o matar a sus tripulantes…

[4] Hackers entendidos tal y como se expresa en esa Biblia para hackers que es el “Jargon File” de Eric S. Raymond. En ese sitio definen a hacker de diferentes maneras:

  1. Alguien que disfruta explorando los sistemas y programas y sabe cómo sacarles el máximo provecho, al contrario que la mayoría de los usuarios que prefieren conocer sólo lo imprescindible.
  2. Entusiasta de la programación (a veces de forma obsesiva).
  3. Alguien que aprecia el valor de hackear.
  4. Persona que es buena programando de forma rápida.
  5. Experto en un programa concreto o que es especialmente hábil en el manejo de un programa dado (e.j.: ‘un hacker de UNIX’).

Las definiciones 1 a 5 comprenden un grupo de gente que se une para compartir sus habilidades.

  1. Experto o entusiasta de cualquier clase.
  2. Alguien que disfruta con el desafío intelectual de superar las dificultades de forma creativa.
  3. [objetable] Mala persona que trata de descubrir información secreta. De ahí viene password hacker y network hacker. En este caso debe utilizarse cracker.

Es decir, en ningún caso el significado que suelen dar los medios de comunicación (que incorrectamente denominan “hacker” a un “cracker”).

[5] “La Catedral y el Bazar” es un ensayo bastante famoso escrito por Eric S. Raymond en donde se explica que hay dos modelos básicos a la hora de afrontar un proyecto grande: el modelo Catedral, con su estructura jerárquica, su jefe de proyecto, arquitectos, aparejadores, jefes de obra, peones, etc.; y el modelo Bazar, en el que todo funciona como en un mercadillo: los comerciantes saben qué mercados están copados y en cuáles hay oportunidades. Nadie tiene que decirle a un comerciante que no venda calzado, ya se preocupa él de ver que ya existen 4 puestos de calzado, y colaborará con el rastrillo haciendo otra cosa o trabajando para los puestos existentes. Es un “organismo” que se autorregula, por así decirlo.

3 pensamientos en “Libre como en "libertad de expresión", no como en "barra libre"

  1. K

    mmm Recuerdo el primer hackmeeting que se hizo en Chile ..como el 2007 creo..
    TE conoci en IRC y usé este post para armar mi charla 😉
    Hoy ..después años… recurro a este mismo post para que un amigo conozca la historia.

    Saludos.

    K

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *