Still working to recover. Please don't edit quite yet.
Cooperación sin mando
en construcción
Miquel Vidal miquel@sindominio.net Agosto del 2000
Resumen:
En las siguientes lÃneas explicaré algunos de los rasgos del movimiento del software libre, su modelo de desarrollo y el alcance polÃtico, ético y económico de su apuesta. Trataré de hacer una breve genealogÃa del movimiento, destacando sus rasgos singulares y lo que puede haber más allá del mismo, proponiendo algunas lÃneas de debate y señalando algunos de sus interrogantes.
Si bien el software libre no es un fenómeno nuevo ya que existe desde los orÃgenes de la informática, sà es relativamente reciente su modelo cooperativo de producción en red --el llamado modelo bazar-- y el movimiento social que lo avala --la comunidad del software libre--. No ha sido hasta los últimos cinco años en que, ligado a la extensión de Internet y a la popularización de los ordenadores personales, el movimiento del software libre ha alcanzado su masa crÃtica, ha dejado de ser sólo cosa de algunos programadores y se ha convertido en un fenómeno de cooperación social liberada. En la época de la subsunción real de la totalidad de las fuerzas productivas bajo el capital, en la cual todo acaba valorizado en términos mercantiles, las empresas han tardado en advertirlo pero finalmente se han lanzado a la caza y captura de esta increÃble máquina productiva, tal vez la mayor empresa colectiva que existe hoy dÃa. ¿Qué es pues el software libre, que tanto interés está empezando a despertar?
Contents
¿Qué es el software?
El software es una producción inmaterial del cerebro humano y tal vez una de las estructuras más complicadas que la humanidad conoce. De hecho, los expertos en computación aún no entienden del todo cómo funciona, su comportamiento, sus paradojas y sus lÃmites.1 Básicamente, el software es un plan de funcionamiento para un tipo especial de máquina, una máquina ``virtual o ``abstracta. Una vez escrito mediante algún lenguaje de programación, el software se hace funcionar en ordenadores, que temporalmente se convierten en esa máquina para la que el programa sirve de plan. El software permite poner en relación al ser humano y a la máquina y también a las máquinas entre sÃ. Sin ese conjunto de instrucciones programadas, los ordenadores serÃan objetos inertes, como cajas de zapatos, sin capacidad siquiera para mostrar algo en la pantalla.
Los ordenadores sólo procesan lenguaje binario,2 pero para las personas este no es un modo válido de comunicarse (salvo a nivel sináptico :-). Si bien en los tiempos heroicos de los primeros ordenadores no les quedaba otro remedio que hacerlo, los programadores hace mucho que no escriben su código en lenguaje binario (denominado técnicamente ``código-máquina), pues es terriblemente tedioso, improductivo y muy sujeto a errores. Hace tiempo que los programadores escriben las instrucciones que ha de ejecutar el procesador de la máquina mediante lenguajes formales, llamados ``de alto nivel, bastante cercanos al inglés, si bien con rÃgidas reglas sintácticas que lo asemejan a los lenguajes lógico-formales. Esto facilita enormemente la tarea de escribir programas pero, para que esas instrucciones sean comprensibles para el procesador, deben ser convertidas antes a código-máquina. Esa conversión se realiza cómodamente con programas especiales, llamados compiladores. A lo que escribe el programador se le denomina ``código-fuente. Al resultado de la ``conversión (compilación) en lenguaje-máquina, se le denomina ``código-objeto, ``binarios o ``ficheros ejecutables. En principio, al usuario común sólo le importa este último nivel, los ``binarios, pero conviene tener clara la distinción entre fuentes y binarios pues es clave para entender el empeño de los partidarios del software libre en disponer de las fuentes.
Pero el software libre es mucho más que el derecho de los programadores y de los hackers3 a disponer de las fuentes del código: significa también la libertad de copiar y redistribuir esos programas. Esos derechos, o su ausencia, condicionan a cualquiera que use un ordenador y han configurado la industria del software y de la informática tal y como la conocemos hoy dÃa. También ha dado lugar a un movimiento social --el del software libre-- cuya historia reconstruiremos brevemente en las próximas lÃneas.
Los inicios
En la informática de los años sesenta y setenta y en la cultura hacker que surgió en torno a ella, se disponÃa libremente de las herramientas necesarias y del código fuente de la gran mayorÃa de los programas. La colaboración forma parte desde antiguo de los hábitos de la comunidad cientÃfica y además, ante la diversidad de plataformas, era necesario disponer del código cuando se adquirÃa el programa para poder portarlo al hardware de cada cual. Era tan normal como compartir recetas de cocina y ni siquiera se hablaba de ``software libre, pues todo el que querÃa programar se beneficiaba de ello y veÃa lógico que los demás se pudiesen beneficiar a su vez. Los hackers copiaban los programas, intercambiaban sus fuentes, podÃan estudiarlas, evaluarlas, adaptarlas a sus necesidades y a su hardware, reutilizaban una parte del código para hacer nuevos programas...El desarrollo de bienes públicos basados en ese modelo fue exponencial hasta el punto de que gran parte de la tecnologÃa en la que se basa hoy Internet --desde el sistema operativo UNIX hasta los protocolos de red-- procede de esos años.
Pero, a principios de los años ochenta, ese modelo entra en crisis, y rápidamente comienza a emerger un modelo privatizador y mercantilista. Los ordenadores, hasta entonces escasos, caros y poco potentes, se hacen asequibles, cada vez más baratos y potentes y aparece un nuevo negocio, el de los productores de software. Los programas se empezaron a vender como productos comerciales independientes de las máquinas y sólo con el código binario, para ocultar las técnicas de programación a la competencia. La nueva industria del software comienza a apoyarse en la legislación sobre propiedad intelectual. El mundo UNIX se fragmenta en diversas versiones privatizadas y progresivamente incompatibles entre sÃ, que los programadores no pueden modificar. Lo que era práctica habitual, se convirtió en un delito: el hacker que compartÃa el código y cooperaba con otras personas pasó a ser considerado un ``pirata.
Al tiempo que los sistemas van haciéndose incompatibles entre sÃ, la comunidad de investigadores se va desmembrando poco a poco. Muchos hackers ficharon por empresas y firmaron contratos en los que se comprometÃan a no compartir con nadie de fuera los ``secretos de fabricación (el código fuente). Por su parte, los laboratorios de investigación comenzaron a hacer lo mismo y obligaban a sus hackers a suscribir el mismo tipo de cláusulas. Para cerrar el cÃrculo, los compiladores, los depuradores, los editores y demás herramientas imprescindibles para programar eran propietarios y se vendÃan a precios respetables: se trataba de que la programación ``de verdad sólo estuviese en manos de la naciente industria de software.
Hubo hackers que no aceptaron esta nueva situación y continuaron con sus prácticas pero parecÃa solo una cuestión de tiempo que la industria del software propietario arrinconara y dejara definitivamente fuera de la ley la cultura cooperativa y confiada de las primeras comunidades de hackers.4 Este contexto sirve de base y explica el auge posterior del imperio Microsoft y similares: estaba naciendo el negocio del software propietario y la próspera industria de los ordenadores personales.
El proyecto GNU
Son los primeros años ochenta y seguiré la pista de algunos de esos programadores que habÃan conocido la vieja cultura hacker de los años setenta y que no se plegaron a los designios privatizadores de la industria del software.5 De hecho, consideraron la privatización un verdadero atentado a los mismos cimientos del proceso de conocimiento. Se cuestiona que la propiedad intelectual sea un derecho natural, y se percibe como una práctica socialmente indeseable.6
Con ese planteamiento nace el Proyecto GNU (acrónimo recursivo que significa GNU's Not UNIX, o sea, ``GNU No es UNIX) de la mano de Richard M. Stallman, un hacker del emblemático Laboratorio de Inteligencia Artificial del Massachussets Institute Technology (MIT). Era el año 1984, Stallman abandona el MIT para que no interfiera en sus planes y, junto a otros hackers interesados en el proyecto GNU, crea la Free Software Foundation (FSF) en 1985: comienza una labor metódica y discreta, guiada por una asombrosa visión estratégica.7
El proyecto GNU se propuso a la sazón una tarea titánica: construir un sistema operativo libre completo. No es sencillo expresar en pocas palabras la enorme dificultad que comporta un proyecto asÃ, sólo al alcance de unas cuantas empresas con miles de programadores a sueldo. No digamos ya si no se dispone de herramientas para hacerlo. Stallman tuvo que empezar casi desde cero, sin modelo bazar, pues no existÃa la universalizada red Internet tal y como hoy la conocemos; tampoco existÃa una comunidad de desarrolladores lo suficientemente grande y ni siquiera se disponÃa de un compilador libre para empezar el trabajo. Una analogÃa es construir una casa sin disponer apenas de herramientas, por lo que primero hay que fabricarlas: desde picos y palas hasta ladrillos y cemento. Eso sÃ, contaba con algún material reciclable de ``otras casas --grandes fragmentos de código UNIX y una cultura de reutilizar código--. Stallman y la FSF merecen por tanto un reconocimiento especial en esta historia, pues sin compilador, depurador y editor libres no habrÃa sido posible lo que vino después, incluyendo el propio Linux.
Con todo lo importante que eran esas herramientas, no fue ni mucho menos la principal aportación de la FSF. Y es que los hackers que impulsaron el Proyecto GNU en aquellos años no se conformaron con su trabajo de desarrolladores, ya de por sà formidable. Se dieron cuenta de que necesitaban algo más que crear herramientas de software que dieran libertad a los programadores. Para que el trabajo no fuera estéril y fácilmente reapropiable por intereses privados, precisaban además defender esa libertad en el terreno polÃtico y jurÃdico. El Manifiesto GNU (1985), escrito por el propio Richard Stallman, es la declaración de principios e intenciones del proyecto; inspirada en sus principios, se lanza en 1989 la primera versión de lo que fue posiblemente el mejor logro de la FSF y significativamente no en el terreno informático, sino en el ámbito jurÃdico: la GPL (General Public License) o Licencia Pública General.8
La GPL: copyleft para tod@s
Utilizando un brillante juego de palabras, tan del gusto de los hackers, Stallman inventa el concepto de copyleft, con el propósito polÃtico de garantizar la libre circulación de los saberes contenidos en el software y la posibilidad de que todos contribuyan a su mejora. El copyleft se sirve de las leyes internacionales del copyright para darles la vuelta (all rights reversed: ``todos los derechos del revés) pues protege el uso en lugar de la propiedad. El autor se reserva los derechos para que su obra pueda ser utilizada por cualquiera con la única condición de que nadie recorte o elimine esos derechos de libre uso: en el momento en que alguien suprima o añada nuevas condiciones que limiten en algo su disponibilidad (por ejemplo, distribuyendo código binario modificado sin posibilidad de acceder a las fuentes modificadas) estarÃa vulnerando la licencia y perderÃa el derecho a servirse de ese software. Obligando a transferir esos derechos a cualquiera que copie ese software, lo modifique o no, se beneficia quien está de acuerdo con mantener su futuro trabajo con copyleft, mientras que quien quiera desarrollar software propietario no podrá utilizar código libre y deberá empezar desde cero.
La GPL o Licencia Pública General es la plasmación jurÃdica del concepto copyleft. Con el tiempo, la GPL se ha convertido en el cimiento del software libre, su baluarte legal, y para muchos constituye un extraordinario ejercicio de ingenierÃa jurÃdica: con la GPL se asegura que trabajos fruto de la cooperación y de la inteligencia colectiva no dejen nunca de ser bienes públicos libremente disponibles y que cualquier desarrollo derivado de ellos se convierta como por ensalmo en público y libre. La GPL se comporta de un modo ``vÃrico y, como un rey midas del software, convierte en libre todo lo que toca, es decir, todo lo que se deriva de ella.
Junto al modelo copyleft, hay otros desarrollos de software libre que no son copyleft y considerados menos ``estrictos en cuanto a la licencia, cuya mayor diferencia con el copyleft es que no insisten en que el código derivado tenga que seguir siendo libre. Es el caso de las licencias tipo BSD9 y las de tipo X11/XFree86: no ponen el énfasis en asegurarse que el software libre siga siéndolo, pues los partidarios de Berkeley consideran que de algún modo eso ya es limitar derechos. Posiblemente, es una postura que se acerca al anticopyright y a la noción de ``dominio público (un bien que jurÃdicamente no es de nadie), pero es menos comprometida --al menos en cuanto a la licencia-- en garantizar que el software libre no deje de serlo. En la práctica y dejando los matices de tipo jurÃdico, tanto las licencias tipo BSD-XFree86 como la GPL son el baluarte del software libre y ambas representan un referente ético y práctico alternativo al software propietario.
Linux
Disponiendo de la GPL y de poderosas herramientas informáticas libres llegamos a los años noventa, con un sistema operativo GNU ya casi completo. Faltaba el kernel o núcleo de sistema, una pieza fundamental y muy compleja que se iba retrasando más de lo debido por la enorme dificultad de la empresa y por la escasez de voluntarios que trabajasen en ello (hay que recordar que la mayor parte de los hackers han escrito su código en ratos libres).
Por aquel entonces, por su cuenta y riesgo y sin ninguna relación con la FSF, un estudiante finlandés llamado Linus Torvalds decide ponerse a escribir un kernel que pueda funcionar y sacar todo el partido de la arquitectura de 32 bits de los nuevos procesadores i386. Cuenta con las herramientas GNU para hacerlo, y con un desarrollo UNIX para los PC de 16 bits de entonces (minix). Por primera vez hay máquinas disponibles a nivel personal y a precio asequible capaces de trabajar con un sistema multitarea. Linus decide entonces hacer un llamamiento a través de las news para quien quiera ayudarle en el desarrollo. A los pocos meses (1992), son unos cientos de entusiastas hackers de todo el mundo, coordinados a través del correo electrónico y de las news y sin ningún interés económico, los que consiguen el milagro. A un ritmo frenético y en medio de un caos aparente, van dejando versiones en los repositorios FTP de Internet para que la gente las pruebe, las estudie o las mejore. Linus pone el desarrollo del kernel bajo la GPL y el proyecto GNU se pone a trabajar para integrar el nuevo kernel con el resto del sistema. Desde entonces la historia es bien conocida: a principios del año 2000 son probablemente más de mil hackers los que dan soporte al kernel y se calculan veinte millones de usuarios del conjunto GNU/Linux. En suma, disponemos libre y gratuitamente de un sistema operativo completo, potentÃsimo y fiable como el que más, que doblega a las grandes firmas y desafÃa a muy corto plazo al ubicuo imperio de las con miles de programas en constante evolución (la última distribución GNU/Linux del Proyecto Debian10 recopila más de 4500 paquetes de código libre).
Si bien es el más conocido, el núcleo Linux no es el único ejemplo del increÃble éxito del software libre: por ejemplo, el 62% de los servidores web de Internet (equivalente a diez millones de sitios web, según el último estudio de Netcraft,11 correspondiente a junio del 2000) se basa en un software libre llamado Apache, o en alguna versión modificada del mismo. Apache lo desarrollaron en un tiempo record un grupo de webmasters y ha minimizado el uso de los servidores propietarios de Microsoft y Netscape (en el mismo estudio de Netcraft aparece en segundo lugar, muy lejos de Apache, el IIS de Microsoft con un 20,36% de los servidores web y tercero Netscape-Enterprise con solo un 6,74%). Muchas otras utilidades y aplicaciones basadas en software libre operan en servidores de todo el mundo y, de modo silencioso y transparente para el usuario de a pie, garantizan el funcionamiento cotidiano de Internet y de otras muchas redes y sistemas informáticos, libres de los virus y agujeros de seguridad que periódicamente atormentan a los inseguros sistemas basados en Windows. Disponer del código fuente permite localizar errores y corregirlos, e incluso detectar la existencia de código malicioso (virus, puertas traseras, troyanos) que las empresas y grupos de poder pueden eventualmente introducir en los programas y sistemas operativos cerrados como forma de control y de asalto a la privacidad.12
El responsable de esta revuelta antipropietaria (``Linux es subversivo: asà empieza ``La catedral y el bazar) no es Linus Torvalds ni Richard Stallman ni la FSF, ni universidad, gobierno o institución alguna, ni menos aún las empresas que ahora cotizan en el Nasdaq con ``Linux como bandera. El responsable de todo esto es la propia comunidad de usuarios del sistema. En el caso de Linus Torvalds, su mayor mérito y por lo que debe ser reconocido sin discusión no es por el kernel Linux, por extraordinario que sea este, sino por el ``modelo bazar, la genial intuición de ingeniero que tuvo para ponerlo a tope de vueltas en el momento justo (sin la explosión de Internet y de los ordenadores personales no habrÃa sido posible). Linus ha llevado probablemente hasta sus lÃmites el modelo bazar y lo ha exprimido al máximo, aunque justo es decir que para nada lo inventó pues desde siempre formaba parte de algunos entornos UNIX y de la práctica de determinadas comunidades cientÃficas y académicas (como Bell Labs, el MIT AI Lab o la Universidad de California en Berkeley), que lo aplicaron y obtuvieron éxitos legendarios: pero nadie antes que Linus lo habÃa lanzado a escala planetaria, fuera del ámbito cientÃfico y con ese formidable grado de intensidad y productividad. Se puede afirmar sin temor a exagerar que el sistema operativo libre GNU/Linux es la obra más importante que hasta ahora ha producido Internet.
El modelo bazar
Actualmente y gracias al proyecto en torno al kernel Linux, el principal modelo de desarrollo del software libre es el ``modelo bazar. Fue descrito por Eric S. Raymond en su ya clásico ``La catedral y el bazar13(1997) y sin duda constituye una aportación singular en este capitalismo de fin de siglo. Raymond contrapone el modelo bazar a un modelo de producción de software al que denominó ``modelo catedral,14basado en la necesidad de un arquitecto al mando de un staff rÃgidamente estructurado y jerarquizado y el estricto control de errores previo a la publicación. A juicio de Raymond, el modelo catedral no sólo corresponde a la industria del software propietario, sino a algunos de los grandes desarrollos libres que ha avalado la FSF.
Según Raymond, el modelo bazar de programación se resume en tres máximas: 1) liberar rápido y a menudo; 2) distribuir responsabilidades y tareas todo lo posible, y 3) ser abierto hasta la promiscuidad para estimular al máximo la cooperación. Incluso cumpliendo esas máximas, no siempre es posible el modelo bazar: sólo puede darse en un entorno de libertad, cooperación, comunidad y disponiendo del código abierto. El bazar encuentra dificultad para producir cooperación cuando se empiezan proyectos desde cero o cuando se ensaya en grupos reducidos demasiado heterogéneos o con mucho desnivel de conocimiento, por lo que a menudo encontramos fórmulas mixtas entre el bazar y la catedral.
A juicio de Raymond, el modelo bazar es mucho más eficaz y produce un software de mayor calidad con menor gasto de recursos, lo que por sà solo ya justificarÃa la aplicación masiva del modelo en la industria del software. Sin dejar de reconocer esto, la gente que sigue los postulados de la FSF, insiste en que la calidad del código libre ha sido un elemento ``extra y no es la razón de ser del software libre, ya que más importante que la potencia y la fiabilidad técnica es la libertad, el bien social y la comunidad autogestionada de usuarios y desarrolladores a que da lugar, sin precedentes en ningún otro ámbito, que por primera vez lleva la iniciativa y el total control tecnológico sobre lo que usa.
En todo caso, con bazar o sin él y más allá de su demostrado éxito a nivel organizativo y técnico, el software libre desafÃa la lógica interesada y mercantilista que parecÃa definitivamente asentada en lo social. Alguien podrÃa objetar que los procesos de cooperación no son una novedad en el capitalismo avanzado y que de hecho son parte imprescindible del modelo de organización posfordista.15 Pero este último precisa cooperación sujetada, orientada únicamente a la extracción de beneficio, en ningún caso autodeterminada. La novedad que introduce el software libre es que pone en funcionamiento un modelo de cooperación sin mando. No hay intereses empresariales directos, es general intellect puro, ingobernable y libre del mando.16 Es más, la ausencia de mando, de control corporativo o jerárquico, parece condición sine qua non: allà donde reaparece el mando --sea en forma de interés propietario, sea en su variante autoritaria--, el modelo se marchita, se agosta y acaba por desaparecer. Como el pájaro bobo (el pingüino), sólo puede vivir en libertad. Nadie da órdenes, nadie acepta órdenes. Y sin embargo, la gente se coordina, se organiza, hay gurús, ``lÃderes, gente que dirige proyectos: pero es autoridad conferida, no es mando. Funciona una especie de ``economÃa del regalo, en la cual se es más apreciado cuanto más se aporta a la comunidad. Nadie puede exigir, no hay garantÃa, no hay dinero como estÃmulo para el trabajo,17 aunque haya gente que cobre por su trabajo o gane dinero mediante Linux, pues ninguna objeción hay en la comunidad para que los hackers puedan ser remunerados por su trabajo. Todo este ``bazar caótico de listas y grupos dispersos de voluntarios por Internet produce el mejor software, complejÃsimo software cuyo desarrollo no está al alcance ni de la empresa más poderosa del planeta. Porque la comunidad del software libre es ya la empresa de software más poderosa del planeta.