4

EL SOFTWARE

Ahora pensamos que todo el software del mundo lo hace Microsoft, o casi. Pero eso ni siquiera es cierto hoy día. No digamos ya en la época en la que la empresa de Bill Gates no existía…

Desde el momento en que nacieron los primeros ordenadores hasta nuestros días, la creación de programas ha estado repleta de grandes éxitos y estrepitosos fracasos. Y no me refiero sólo a Windows Vista.

Los primeros grandes cambios que vivió esta disciplina fueron los lenguajes de programación, dirigidos a facilitar el proceso tedioso y propenso a errores de escribir las rutinas —que es como se llamaba al principio a los programas— directamente en el lenguaje de unos y ceros, que es el que entendía la máquina. Gracias a ellos pudo acometerse la difícil tarea de crear programas más y más complejos, que automatizaban toda la operativa de una empresa o, al menos, una parte importante.

Algunos de los mayores fracasos en la historia de la creación del software llevaron a esfuerzos por intentar formalizar la profesión y convertirla en una ingeniería fiable como la de caminos, canales y puertos. Pero programar sigue siendo en buena medida un arte en el que han destacado grandes y pequeños genios, a los que llamamos hackers pese a que el nombre ha sido en buena medida manchado por quienes han empleado su talento en asuntos más bien turbios.

Mientras Microsoft lucha a brazo partido contra las creaciones libres y gratuitas de estos hackers, existe un mundo desconocido para el gran público, el del software empresarial, que no sólo dio nacimiento a esta industria sino que, con la excepción de los de Gates, es el que domina en términos de facturación y beneficios los listados de las mayores empresas de software. Nombres como SAP o Computer Associates no suelen salir mucho en los papeles ni empleamos tampoco sus creaciones fuera de la oficina. Pero como Teruel, existen.

FORTRAN, O ¡VIVAN LOS VAGOS!

Suelo decir a quien quiera escucharme cuando hablo de estos temas —no suelen ser muchos— que una de las principales virtudes de un buen programador es la vaguería. Pero me refiero a una vaguería especial, esa que te hace aborrecer las tareas repetitivas pero también quedarte trabajando hasta las tantas en algo que resulta creativo. Debemos el primer lenguaje de programación a un señor bien afectado por esa vaguería buena.

El británico Maurice Wilkes, responsable de la construcción de Edsac —la segunda computadora capaz de almacenar los programas en memoria—, pronto se dio cuenta de las dificultades que entrañaba programar un ordenador. Pese a que se había pasado de la necesidad de cambiar cables e interruptores a poder alimentar a las criaturejas con tarjetas perforadas que contenían las instrucciones pertinentes, estas estaban escritas en binario; y, la verdad, nuestra capacidad de manejar largas series de ceros y unos con éxito es más bien limitadilla. Así pues, creó lo que luego se llamaría lenguaje ensamblador, una serie de instrucciones en texto que luego había que traducir a mano a código binario, pero que permitían programar en papel antes de que el programa fallara estrepitosamente en el ordenador. Así, T123S significaba colocar en la posición de memoria 123 el contenido del registro A, y en binario se traducía por 00101000011110110.

Wilkes se dio cuenta de que la traducción a binario, trabajo tedioso y propenso a errores, podía hacerla el propio ordenador, ya que, al fin y al cabo, las letras las representaba internamente como números. Le encargó a un joven matemático de veintiún años llamado David Wheeler la tarea, y este logró programar un traductor (que luego sería llamado ensamblador), de sólo 30 líneas de código, capaz de leer el programa en texto, traducirlo, ponerlo en memoria y ejecutarlo. Una obra maestra de la ingeniería.

Eso sólo fue el primer paso. Como les sucedería a todos los que construyeron las primeras computadoras, enseguida comprobaron lo difícil que era programar y la de errores que tenían las rutinas, que era como se llamaba entonces a los programas. Curiosamente, nadie había previsto esa dificultad hasta que se dieron de bruces con ella. Así que, para reducir el número de fallos, Wheeler recibió el encargo de construir una librería de subrutinas que ejecutasen tareas comunes a los programas, como calcular una raíz cuadrada, y que estuvieran libres de fallos y se pudieran reutilizar. Esta función se denominaría, en un alarde de optimismo, programación automática.

Pronto hubo más personas deseando ahorrarse trabajo al programar. Un empleado de IBM de veintinueve años encontraba el proceso de operar con las primeras computadoras de la compañía, del modelo 701, bastante aburrido. «Buena parte de mi trabajo ha sido producto de ser vago. No me gusta programar, de modo que, cuando estaba trabajando en el IBM 701 con una aplicación que calculaba trayectorias de misiles, comencé a pensar en un sistema que hiciera más fácil programar», recordaría años después el amigo John Backus. Así que a finales de 1953 propuso a sus superiores diseñar un lenguaje informático que facilitara la vida a los programadores. Aceptaron con cierta reticencia, y nuestro héroe se puso a trabajar con un pequeño número de ayudantes.

Tanto el interés como la desconfianza estaban justificados. La creación de un lenguaje informático de alto nivel, como se diría después, supondría un gran ahorro tanto en tiempo de trabajo de los programadores —y sus correspondientes sueldos— como en el entonces carísimo tiempo que los ordenadores tardaban en ejecutar programas con errores… que después debían depurarse. Por otro lado, los intentos que habían tenido lugar hasta ese momento de hacer algo parecido se habían encontrado todos con el mismo escollo: los programas resultantes eran muy lentos, demasiado lentos para ser prácticos, y muchos creían que esa barrera no se podría superar. Así que para IBM resultaba interesante tener abierta esa puerta; pero no tenían tanta confianza como para darle al proyecto mucha prioridad.

Backus sacrificó desde el principio el diseño del lenguaje a la eficiencia de la traducción a código máquina, ese de los unos y los ceros. Era la única vía que podría llevarle, eventualmente, al éxito. Ni a él ni a nadie de su equipo se le ocurrió que, más de cincuenta años más tarde, todavía habría gente usándolo. Después de terminar el diseño del lenguaje en 1954, al año siguiente comenzaron con el traductor, y las fechas límite empezaron a echárseles encima. El primer manual de su lenguaje Fortran (por FORmula TRANslator, traductor de fórmulas) apareció con fecha de octubre de 1956. No estaría terminado hasta abril del año siguiente.

Dos años y medio había durado el proyecto del vago.

Los primeros usuarios de Fortran fueron los programadores de una central nuclear de Maryland. Crearon un primer programa de prueba e intentaron ejecutarlo… para encontrarse con que la impresora sólo les devolvió un mensaje: «El paréntesis derecho no está seguido de una coma». Como no podía ser de otro modo, el primer programa produjo el primer error de sintaxis. Tras corregirlo, el programa estuvo ofreciendo resultados correctos durante los siguientes 22 minutos.

Fortran causó sensación. Backus había triunfado en su objetivo más importante: los programas eran en un 90 por ciento tan eficientes como los hechos a mano, una pérdida mínima que quedaba más que subsanada por la reducción del número de errores cometidos y del trabajo que llevaba un programa de semanas a horas o, como mucho, un par de días. La mayor parte de los compradores del IBM 704, la computadora que incluyó Fortran, decidió usarlo, y pronto su equipo, que se había visto forzado a dormir de día y a trabajar de noche para poder emplear las computadoras de IBM que otros usaban a horas decentes, se amplió y comenzó a trabajar en una nueva versión del lenguaje, que saldría en 1959.

Que con Fortran todo fuera más fácil y rápido no significa que estuviera exento de problemas. De hecho, uno de los casos más famosos de desastres provocados por pequeños errores de programación fue protagonizado por este lenguaje. La primera sonda Mariner fue lanzada en julio de 1962, y, tras perder el cohete el contacto con la Tierra, la computadora de a bordo se hizo cargo. Pero el programador olvidó poner una coma y el cohete se desvió en exceso: hubo que hacerlo explotar.

En cualquier caso, tropiezos como este no impidieron que Fortran se convirtiera poco menos que en la lingua franca informática de científicos e ingenieros. Su última revisión data de 2003, y se sigue empleando asiduamente: sin ir más lejos, en las supercomputadoras más potentes, que entre otras cosas utilizan aplicaciones programadas en él para comparar su rendimiento con las demás máquinas.

Para que luego digan que los vagos no pueden triunfar en la vida.

AMAZING GRACE, LA INVENTORA DE LOS LENGUAJES DE PROGRAMACIÓN

Entre los informáticos está generalizada la idea de que la primera programadora fue Ada Lovelace, de Lord Byron, que ayudó a Charles Babbage a promocionar su Máquina Analítica con un artículo en el que daba algunos ejemplos de cómo podría funcionar, incluyendo un programa que calculaba la serie de números de Bernoulli. Lo malo es que es más leyenda que otra cosa.

El artículo existió, claro; en principio iba a ser la traducción de otro escrito por el matemático italiano Luigi Menabrea, pero Ada terminó ampliándolo enormemente y añadiéndole un cierto toque poético, además de algún ejemplo de cómo se podría utilizar la máquina para cualquier cálculo. El algoritmo descrito para calcular los números de Bernoulli se considera el primer programa jamás escrito, pero por lo que se ve fue obra del propio Babbage, quien no obstante siempre reconoció el valor del trabajo de Ada, una de las primeras personas capaces de entender, apreciar y comunicar al mundo qué estaba haciendo el inventor inglés.

Lo cierto es que los primeros programadores de los primeros ordenadores de verdad, allá por los años cuarenta, fueron, casi todos, de sexo femenino. El Eniac, el primer computador electrónico, fue construido por hombres, pero programado por un grupo de seis mujeres comandadas por Betty Snyder. Y el Harvard Mark 1, el ordenador electromecánico inspirado en el trabajo de Babbage, fue programado bajo las directrices de Richard Bloch y Grace Hopper, quizá la programadora más influyente de los primeros años de la historia de la informática.

La mayor parte de estas programadoras eran jóvenes que venían de trabajar como computadoras humanas; personas que se encargaban de hacer a mano los cálculos necesarios para, por ejemplo, generar tablas que permitiesen a los artilleros dar en el blanco a la primera. Un trabajo perfectamente inútil, dado que en el campo de batalla los militares no empleaban las tablas, sino que trabajaban a ojo. Sin embargo, Grace Hopper fue una excepción. El ataque a Pearl Harbor pilló ya con treinta y cinco años a esta matemática doctorada en Yale. Pronto decidió abandonar su cómodo trabajo como profesora universitaria en el entonces femenino Vassar College para ingresar en la Marina, donde esperaba formar parte del grupo dedicado a descifrar los mensajes nazis. En cambio, fue destinada a una «nave en tierra», como la llamaba su comandante, Howard Aiken: la Harvard Mark I.

Grace se pasó la guerra haciendo jornadas interminables, programando junto a Richard Bloch y organizando el equipo de modo que la máquina estuviera funcionando las veinticuatro horas del día. Durante este tiempo pergeñó una forma de trabajar, basada en buena medida en copiar y pegar, con los cambios necesarios, trozos de código con propósitos específicos, como calcular una raíz cuadrada y cosas así.

También fue entonces cuando tuvo lugar una de las anécdotas más recordadas de la informática.

Desde al menos los tiempos de Edison se venía hablando de un bug (bicho) en el ámbito de la ingeniería para referirse a un fallo mecánico. El término se trasladó a la informática cuando una noche la Mark 1 dejó de funcionar y descubrieron que la causa era en una polilla que se había colado en sus intrincados mecanismos. Pegaron el bicho en el cuaderno de incidencias y desde entonces se llamó bugs a los errores de programación.

Terminó la guerra y Grace, recién divorciada de su marido y enamorada de su máquina, fue rechazada por la Marina, en la que quería seguir, por ser demasiado mayor: cuarenta años, ni más ni menos. Optó por pasar a la reserva y seguir trabajando como asistente en Harvard y como segunda de Aiken. Pese a que la guerra había terminado, su jefe optó por seguir con su estilo marcial de mando. Esto provocó la marcha de buena parte del talento que se había juntado en el laboratorio de Harvard, lo que hizo que Grace cada vez trabajara más, y a más presión. Empezó a beber más de la cuenta.

Grace dejó Harvard en 1949 y entró a trabajar para EMCC, la empresa que estaba fabricando el primer Univac. Se decidió por la pequeña startup tras conocer a Mauchly y a algunas de sus programadoras, especialmente a Betty Snyder, que la impresionó. El cambio de ambiente le vino estupendamente, pero pronto los nubarrones —en forma de ruina— amenazaron la empresa, que pasó a formar parte de Remington Rand, una firma que no tenía idea de cómo iba esto de las computadoras ni parecía mostrar demasiado interés en ello. Finalmente, tras algún intento de suicidio y ser detenida luego de una borrachera, Grace comenzó a recuperarse e interesarse en un nuevo proyecto: el compilador A-0, que terminó en 1951.

Nuestra mujer llevó la idea de copiar y pegar a un nuevo nivel. Su compilador cogía un código algo más abstracto que el lenguaje de la máquina, al que ella llamaba «pseudocódigo», le añadía las funciones genéricas y producía un programa listo para usar. Calculaba que esto ahorraría mucho tiempo y permitiría emplear los ordenadores a personas no tan expertas como las de la primera generación de programadores. El lenguaje era burdo, estaba demasiado apegado al modo de funcionamiento del Univac, y los programas que generaba eran lentos de narices. Pero poco importaba, pues aquello era sólo el comienzo. Pocos años después logró que Remington Rand creara un departamento de programación automática, que es como llamaba al invento, y la pusiera al mando. En pocos años lanzó dos compiladores comerciales de cierto éxito, a los que los marquetinianos de la empresa llamaron Math-Matic y Flow-Matic. Estuvieron a punto en 1956 y 1958, respectivamente.

Para entonces IBM se había puesto las pilas y había desbancado a las prometedoras Univac del liderazgo del naciente mercado de los ordenadores, creando de paso su primer lenguaje de programación y compilador: Fortran. Math-Matic, orientado también al ámbito científico e ingenieril, no pudo competir con él. Sin embargo, el lenguaje orientado a la gestión y la empresa, Flow-Matic, tuvo un éxito enorme. La idea de Hopper consistía en que programas creados en un inglés más o menos comprensible y sintácticamente correcto se documentarían a sí mismos, solucionando el clásico problema del programador que meses después no entiende qué hacen sus propios programas, además de permitir a personas de fuera del gremio entenderlos, incluso hacer los suyos propios.

Lo más criticado del lenguaje fue precisamente lo que muchos consideraron un abuso en el uso del inglés. Las fórmulas debían ser escritas en ese idioma, y no en el común de las matemáticas. Así, A X B = C se convertía en BASE-PRICE AND DISCOUNT-PERCENT GIVING DISCOUNT-PRICE.

Naturalmente, al tener éxito le salieron competidores. Grace y otros desarrolladores de diversas empresas vieron con preocupación que en breve podrían enfrentarse a una suerte de torre de Babel en que cada máquina tuviera su propio lenguaje de programación orientado a la gestión, y cambiar de ordenador conllevara enormes costes de traducción de las aplicaciones de la empresa. Así que crearon un pequeño comité de sabios, que propuso a la Marina, primero, y al Ejército, después, la creación de un lenguaje de programación estándar. Basado principalmente en el Flow-Matic, en enero de 1960 un comité llamado Codasyl lo tuvo listo. Se llamó Common Business-Oriented Language, o Cobol.

De ahí en adelante, el principal trabajo de quien sería conocida más tarde como Amazing Grace fue promocionarlo. Su éxito fue apoteósico. En 1997 se estimó que el 80 por ciento de todas las líneas de código escritas hasta la fecha habían sido programadas en Cobol, que se ha ido adaptando a los tiempos según se inventaban nuevas técnicas, desde la programación estructurada a la orientación a objetos. Incluso hay quien lo usa para crear sitios web. Como el comité que estandarizó Cobol decidió emplear sólo dos caracteres para almacenar los años, hubo que adaptar todos esos programas para evitar lo que se dio en llamar Efecto 2000, que iba a provocar el fin del mundo pero que al final quedó en nada.

Grace siguió trabajando en Remington Rand, luego Sperry Rand, hasta lo que parecía que iba a ser su jubilación. Pero la Marina, que cuando cumplió sesenta años la había retirado de la reserva por ser —¿no lo adivinan?— demasiado mayor, le pidió siete meses después, en 1967, que por favor se hiciera cargo del desastroso estado de sus sistemas de gestión. La aplicación de nóminas había sido reescrita ya 823 veces y seguía sin funcionar bien. Nuestra heroína iba a volver a su querida Armada unos seis meses, pero la cosa se alargó un poco: finalmente se retiró, o más bien la retiraron, por razones que a estas alturas no creo que haga falta explicarles a ustedes, a la edad de setenta y nueve años, con el rango de contraalmirante: fue la primera mujer en alcanzarlo.

¿Creen que se jubiló por fin entonces? Ja. Como si no la conocieran. La firma Digital aprovechó para contratarla como consultora y ahí estuvo hasta su muerte, que no tardó en llegar sino tres años, en 1992.

Amazing Grace fue homenajeada, premiada y reconocida en todo el mundo, y hoy un destructor norteamericano lleva su nombre: el primer barco de la Armada en tener nombre de mujer desde la Segunda Guerra Mundial. El USS Hopper tiene su base en Pearl Harbor, cuyo bombardeo cambió la vida de nuestra heroína y la llevó a convertirse en una de las más destacadas pioneras de la informática.

LOS HACKERS QUE MIRABAN PASAR LOS TRENES

Aunque actualmente la palabra hacker se suele endilgar a gentes de mal vivir que se dedican a crear virus y meterse en los ordenadores del Pentágono, en sus orígenes se limitaba a describir a quienes eran capaces de encontrar soluciones rápidas y brillantes a los problemas informáticos. Gente que vivía por y para los ordenadores. Y que emergieron de un club dedicado… a hacer maquetas de trenes.

Como todas las universidades norteamericanas, el Massachusetts Institute of Technology, más conocido como MIT, ofrece un sinfín de actividades extracurriculares a los estudiantes. Hermandades, asociaciones políticas, clubes dedicados a los más diversos hobbys… Uno de ellos, el Club de Modelismo Ferroviario, en la época que nos ocupa, estaba dividido en dos grandes grupos. El primero se dedicaba a reproducir trenes en miniatura y recrear escenarios; el segundo, en cambio, se ocupaba de las entrañas, de lo que sus miembros llamaban El Sistema: un completo jaleo de cables, interruptores, relés y todo tipo de ingenios eléctricos que hacía posible que los trenes obedecieran a sus dueños y circularan como debían, sin chocar ni descarrilar.

Para los responsables del Sistema, un hack era una solución —o un producto— que cumplía correctamente una función… y que había sido creado por el mero placer inherente a la creación. Naturalmente, los creadores de hacks se llamaban a sí mismos con orgullo hackers.

Bob Saunders, Peter Samson, Alan Kotok y compañía pasaron de cacharrear con cables a hacerlo con ordenadores. Fue en 1959, tras un curso de inteligencia artificial en el que se enseñaba un nuevo lenguaje de programación llamado LISP. Pronto, los hackers fueron los principales usuarios del ordenador del MIT, un IBM que funcionaba con tarjetas perforadas y contaba con su propia casta sacerdotal encargada de hacerlo funcionar, meter las tarjetitas y devolver los resultados. Y esos guardianes de la sagrada máquina les impedían cacharrear.

Por suerte, no tardó en llegar al Laboratorio de Inteligencia Artificial un ordenador completamente nuevo, un prototipo creado en parte por uno de los futuros fundadores de Digital: el TX-0. Era uno de los primeros ordenadores en emplear transistores, pero estaba el pobre un poco disminuido, porque, al estilo de lo que les pasó a las pirámides de Egipto, le habían cogido cachos para construir el más potente TX-2. El caso es que era un ordenador con pantalla que no funcionaba con tarjetas sino con una cinta perforada, que podría escribirse con otras máquinas para luego alimentar el ordenador. Y, milagro de milagros, se podía editar el programa directamente en la pantalla, lo que permitía corregir errores. Es decir, se podía cacharrear. La era de los hackers quedaba así oficialmente inaugurada.

Aquellos hackers que pasaron de las maquetas a los ordenadores, así como sus herederos, dejaron algunos logros técnicos, desde el primer programa capaz de jugar al ajedrez y el primer videojuego para ordenador hasta el primer editor de código para programadores, cuyo desarrollo continúa hoy bajo el nombre de Emacs. No obstante, su principal producto fue cultural. Los hackers creían que la información estaba ahí para ser compartida, y ninguna autoridad ni burocracia debía ponerle límites. Pensaban que no debía negarse a nadie el acceso a un ordenador, y les importaban una higa los títulos; algún adolescente de catorce años pasó a formar parte de su grupo porque demostró ser bueno con el TX-0. También fueron los primeros en valorar la belleza de un fragmento de código o hack bien hecho, capaz de hacer en pocas líneas lo que un programador menos avezado se veía obligado a hacer en más. En resumen, eran bastante hippies, pero en versión informática.

Por supuesto, también eran lo que ahora llamamos frikis. Cojamos por ejemplo a Bob Saunders, quien, cosa rara entre la tropa, se casó. Marge French, que así se llamaba de soltera su mujer, le preguntaba si quería acompañarla a hacer la compra, y Bob le contestaba siempre que no. Hasta que un sábado montó en cólera y, tras soltar los tacos y maldiciones de rigor, le preguntó por qué no quería acompañarla. «Esa es una pregunta estúpida», contestó Bob. «Si me preguntas si quiero ir a hacer la compra, la respuesta es no, claro. Otra cosa sería si me pidieras que te ayudara a hacer la compra». La pobre Marge había programado mal el ordenador que tenía Bob por cerebro.

El laboratorio cambió, unos se fueron y otros, como Richard Greenblatt y Bill Gosper, llegaron y se convirtieron en los machos alfa del grupo. El TX-0 fue relegado en beneficio de nuevas máquinas, generalmente fabricadas por Digital, como el PDP-1 o el PDP-6. La ética hacker se fue expandiendo por Estados Unidos a medida que la tribu se movía por su territorio. No había Internet y no lo podían hacer más rápido, caramba. Aunque concentrados en lugares como el MIT, la Universidad de Stanford o el Carnagie Mellon, había informáticos por todos lados que se consideraban a sí mismos hackers o que actuaban como tales.

En 1969 un hacker que trabajaba para los laboratorios Bell de la compañía telefónica AT&T empezó a trabajar en un sistema operativo nuevo. Ken Thompson había participado en el desarrollo de Multics, que pretendería ser un hito pero que resultó ser demasiado complejo. Así que llamó a su proyecto Unics, como burlándose del que había abandonado, y trabajó en él con la idea de que debía mantenerlo simple y no caer en los errores que habían lastrado a su predecesor.

Por su parte, Dennis Ritchie creó un lenguaje de programación para un sistema novedoso llamado C, también con la filosofía de la sencillez por bandera. Resultó un lenguaje especialmente dotado para crear software, que antaño, para aprovechar al máximo la capacidad de los ordenadores, se escribía directamente en código máquina, como los sistemas operativos y los compiladores. De modo que pronto reescribió el compilador de C en este lenguaje, y junto a Thompson reescribió Unix, que así se terminó llamando el sistema operativo, en el año 1973.

Puede parecer una tontería, pero aquello supuso un cambio clave en la historia de la informática. Unix pudo ser adaptado a cualquier máquina con compilador de C, y muy pronto la mayoría lo tuvo. El software que antes había que reprogramar cuando el ordenador en que funcionaba quedaba obsoleto pudo funcionar en muchas máquinas distintas y sobrevivir al cambio de computadoras. Hackers de todo el mundo adoptaron Unix, que pronto fue el sistema más popular en las universidades. Una empresa llamada Sun, fundada en los ochenta, se encargaría de llevarlo a las empresas y hacerlo omnipresente.

Con el tiempo, el mundo de los sistemas operativos para ordenadores se ha reducido principalmente a dos agentes: Unix y Windows. Cierto es que Unix tiene infinidad de variantes. Una de ellas, por ejemplo, es Mac OS X, el sistema operativo de Apple y sus Mac. La más conocida es Linux, que cualquiera puede bajarse de Internet y colaborar en su desarrollo. Que es una de las cosas que más hacen los hackers de hoy, aunque todos piensen que sólo se dedican a infiltrarse en el ordenador del vecino.

SABRE, EL PROGRAMA QUE LLEVA CINCUENTA AÑOS FUNCIONANDO

Una buena amiga, agente de viajes ella, tiene en su currículum sus conocimientos sobre un sistema de reservas de vuelos, hoteles, alquiler de coches y ese tipo de cosas llamado Sabre. No es que sea el más utilizado, ni de lejos, pero el caso es que sigue funcionando y se sigue usando, cincuenta años después de su creación.

Durante los años cuarenta y cincuenta, contemplar una oficina de reservas de una gran aerolínea era como viajar hacia atrás en el tiempo, hasta finales del siglo XIX, a antes de que las máquinas que procesaban la información contenida en tarjetas perforadas llegasen a bancos y compañías de seguros. El núcleo lo formaban unas sesenta personas, que atendían a clientes y agentes de viajes, gestionando una compra, una reserva, una cancelación o una consulta de disponibilidad. Grandes tablones les informaban de los datos de los vuelos de los próximos días. Si necesitaban consultar algo más lejano, tenían que levantarse y consultar los archivadores correspondientes. Cuando terminaban una transacción, y atendían unas mil al día, la describían en una ficha. Cada pocos minutos, esas fichas eran recogidas y llevadas a la parte de atrás, donde otras cuarenta personas actualizaban los datos de los vuelos. Si había una venta, los datos del cliente se llevaban a una oficina contigua, donde otras cuarenta personas emitían los billetes y gestionaban la información del pasajero. Y si un viaje requería tomar varios vuelos, había que ponerse en contacto con otras oficinas similares para que gestionaran su parte. Un sistema bien engrasado, complejo y casi imposible de escalar para que una aerolínea pudiera tener muchos más vuelos.

La razón por la que las compañías aéreas continuaban con un esquema completamente manual era que tanto las máquinas de oficina, herederas de aquella primera que construyó Hollerith para el censo, como los nuevos ordenadores que estaban saliendo al mercado funcionaban de un modo conocido como procesamiento por lotes. Era lo más práctico, dado el estado de la tecnología: consistía en meterle a la máquina un conjunto muy grande de información y esperar a que lo procesara entero. Pero resultaba incompatible con las necesidades de la aviación civil, que requería la gestión individual y en tiempo real de cada transacción.

American Airlines fue pionera en cambiar este orden de cosas mediante Reservisor. El sistema manual estaba llegando al límite, y algunos de sus oficinistas tenían que emplear prismáticos para ver los tablones de los vuelos. Así que pusieron un ingenio electromecánico que guardaba la ocupación de los asientos en cada avión y un terminal para cada persona que atendía al teléfono, de modo que su número pudiera aumentar y además lograran eliminar de la ecuación los dichosos tablones.

Pero se estaba acercando la era de los aviones de pasajeros con motores de reacción, y ni siquiera Reservisor era capaz de gestionar las reservas si los vuelos entre la Costa Este y la Oeste de Estados Unidos pasaban de durar diez horas a sólo seis. Sin embargo, quiso la casualidad que en uno de esos vuelos el sistema sentara, uno junto al otro, al presidente de American Airlines, C. R. Smith, y a uno de los principales vendedores de IBM, Blair Smith. Era la primavera de 1953. En ese momento comenzó la relación entre ambas empresas, que llevaría a lo largo de los años a la creación e implantación de la aplicación informática de uso civil más exitosa hasta esa fecha.

El trabajo de un equipo conjunto formado por empleados tanto de la aerolínea como de IBM llevó a una curiosa estrategia, planteada en verano de 1954: se mejoraría el sistema existente y se iría preparando su sucesor, porque hasta que no se generalizaran los ordenadores equipados con transistores y núcleos de ferrita no resultaría rentable. Así, durante unos años las oficinas de reservas de American Airlines se llenaron de equipos de IBM que pronto quedarían obsoletos. Mientras, se diseñaba Sabre, un programa cuyo nombre se puso en 1960 en referencia a un popular coche de la época, el Buick LeSabre, y para el cual se buscó luego un acrónimo. Algo así como el Grupo Independiente Liberal, vamos.

El sistema se implementó entre 1960 y 1963, y requirió la mayor inversión en tecnología de la información que empresa alguna hubiera acometido hasta el momento. La factura llegó a los 40 millones de dólares de entonces, y se necesitaron doscientos técnicos trabajando a jornada completa en el proyecto, programadores que generaron más de un millón de líneas de código. La central de reservas tenía dos grandes computadoras (o mainframes) IBM 7090, una de ellas a la espera por si la otra fallaba, conectadas al mayor sistema de almacenamiento de la época, capaz de almacenar unos 800 megas, poco más que un CD. Unos 20 000 kilómetros de líneas de telecomunicaciones permitían a 1100 agentes distribuidos en 50 ciudades operar con el sistema, capaz de gestionar unos 10 millones de reservas al año. Vamos, que para su tiempo aquello era la releche; tanto que, pese a su precio, se tardó sólo un año en rentabilizar la inversión.

Otras aerolíneas se dieron cuenta de que corrían el riesgo de ser fagocitadas por American Airlines y decidieron seguir sus pasos. Delta y Panam firmaron en 1960 y 1961 con IBM —que desarrolló para ellas Deltamatic y Panamac—, y otras compañías aéreas dentro y fuera de Estados Unidos siguieron sus pasos, ya fuera con el gigante azul o con otros proveedores, de modo que a comienzos de los años setenta todas contaban con sistemas similares, que además comenzaron a ampliarse para gestionar el alquiler de coches, la reserva de hoteles y otros trámites relacionados.

Con el tiempo, Sabre se abrió a otras compañías aéreas, y se convirtió en la manera en que muchos agentes de viajes realizaban las reservas. En 1981 American Airlines descubrió que más de la mitad de las veces estos vagos elegían el primer vuelo que aparecía entre los resultados, y en un 92 por ciento de los casos un vuelo que saliera en la primera pantalla. Algo así como lo que hacemos actualmente con Google. La compañía decidió cocinar los resultados, al principio con buenas intenciones, como colocar más arriba los vuelos con la hora de salida más cercana a la solicitada y cosas así. Pero luego usó esta técnica para hacer desaparecer vuelos que competían demasiado con ellos. Una pequeña compañía, New York Air, tuvo que eliminar una ruta entre Nueva York y Detroit que tenía ocho vuelos diarios cuando American decidió colocarla al final de la primera pantalla de resultados de Sabre: tal fue la caída en las reservas.

Posiblemente esa fuera una de las razones por las que varias aerolíneas europeas fundaron en 1987 la empresa Amadeus, con sede en Madrid, que actualmente es la empresa con mayor cuota en el mercado de los sistema de reservas, y la que tienes que saber manejar por narices si quieres trabajar en el gremio. De hecho, desde sus comienzos publicitaron el hecho de que eran el único neutral entre los sistemas de este tipo existentes. Pero Sabre sigue existiendo como compañía independiente después de que American Airlines la vendiera en oferta pública en el año 2000. Cincuenta años después de empezar a implantarse, está en tercer lugar en el mercado, tras Amadeus y otro sistema de reservas llamado Galileo. No es mal resultado para una conversación en un vuelo de Los Ángeles a Nueva York.

EL NACIMIENTO DE LA INDUSTRIA DEL SOFTWARE

Bill Gates se convirtió en el hombre más rico del mundo vendiendo programas de ordenador. Pero, claro, no fue el pionero en este campo, aunque la industria daría sus primeros pasos muchos años después de que los ordenadores estuvieran en el mercado.

La razón era clara: los fabricantes hacían buena parte de los programas necesarios para sus clientes, y se los daban gratis, o los diseñaban a medida cobrando su buen dinero, como fue el caso de Sabre. Además, las máquinas eran caras, por lo que el desarrollo de software era un gasto menor en comparación, y generalmente incompatibles entre sí, de modo que el programa hecho para una no funcionaba en otra. No era raro en aquellos primeros tiempos que incluso compañías que competían fieramente en un sector determinado compartieran sus esfuerzos en el campo de la programación.

Pero los tiempos fueron cambiando y los ordenadores empezaron a tener un precio suficientemente bajo como para que empresas menos grandes y pudientes pudieran permitirse tener uno; lo que no podían era permitirse un departamento dedicado a programarlos a la medida de sus necesidades. Así que empezaron a surgir compañías dedicadas a eso, precisamente. El punto de inflexión llegó cuando una de ellas, ADR, hizo un programa en 1964 para que el fabricante de ordenadores RCA lo ofreciera gratis a sus clientes, como era la costumbre.

El programa se llamó Autoflow y ADR pidió por él 25 000 dólares, pasta que RCA se negó a pagar. La aplicación hacía diagramas de flujo, unos esquemas que mostraban lo que sucedía dentro de un programa. ¿Ha visto en Internet esos gráficos frecuentemente chistosos de cajas unidas por flechas etiquetadas con un y un no, que llevan de una situación a otra? Pues eso, pero en serio, es un diagrama de flujo. En aquella época formaban parte de la documentación que tenían que hacer los programadores para explicar cómo funcionaban los programas que hacían. Como a los desarrolladores nunca nos ha gustado documentar nuestro trabajo, lo normal es que no lo hicieran o que lo hicieran una sola vez, de modo que si se reescribía el programa, como es lo habitual, el diagrama ya no se correspondía. Pues bien, Autoflow cogía el código de un programa e imprimía automáticamente el diagrama. Una maravilla, vamos.

Como RCA no quiso pagar, ADR lo vendió por su cuenta, a 2400 dólares la unidad. Colocó sólo dos, pero Martin Goetz, el responsable del desarrollo de Autoflow, no cejó en su empeño. Lo reescribió para el lenguaje más popular, Autocoder, del ordenador más vendido del momento, el IBM 1401, y ahí la cosa cambió. Pero no demasiado, no crean. Muchos clientes esperaban que el gigante azul terminara produciendo un programa similar. Así que ADR patentó el suyo para asegurarse de tener la exclusiva. Y para prevenir que sus clientes copiaran el programa, en lugar de venderlo hizo firmar contratos de arrendamiento en cuyas condiciones se incluía la prohibición de copiarlo. Para 1970, el programa tenía un par de miles de usuarios, cifra bastante alta para una época en que no había ordenadores personales.

Otros siguieron la estela. El programa que marcaría la línea que seguirían la mayoría de empresas a partir de entonces se llamó Mark IV, y fue puesto a la venta por la empresa Informatics en 1967. Era un gestor de ficheros, es decir, un precursor de las modernas bases de datos, como las que vende Oracle, escrito para la gama de computadores System/360 de IBM, lo que le permitía un público potencial muy alto. A un precio de 30 000 dólares, alcanzó el millón en ventas el primer año, y los términos en que ofrecía su software, similares a los de Autoflow, se convirtieron en el estándar que seguiría la industria hasta nuestros días: alquiler indefinido del programa y unos términos y condiciones que prohibían la copia a terceros. Al principio ofrecía gratuitamente a sus clientes las mejoras al programa, pero tras cuatro años decidió cambiar de política y cobrar por las versiones nuevas. Lo mismito que ahora.

Pero tanto ADR como Informatics eran pioneros, y pioneros a los que no seguía ni el tato. Hasta que en 1969 IBM, presionada por una investigación de las autoridades antimonopolio, decidió separar el hardware del software y venderlos por separado. No afectaba a todo, pues los sistemas operativos y los lenguajes de programación seguían incluidos en el precio de la máquina, pero con este movimiento los programas del principal vendedor de ordenadores se ponían a la par que las de otros proveedores, que inmediatamente se lanzaron a competir. Si en aquel año la industria ingresó unos 20 millones de dólares, para 1975 la cifra se había disparado hasta los 400. De ese dinero, 7,4 millones correspondían a Mark IV.

Pese a que la imagen que todos tenemos en mente cuando se habla de software es Microsoft, lo cierto es que todo el negocio de la industria entonces se correspondía a aplicaciones destinadas a empresas. Hoy en día las principales empresas del ramo, quitando la compañía de Bill Gates, tienen nombres tan poco conocidos como SAP, Computer Associates, Software AG, Sybase, Informix… y algunos algo más familiares como IBM, HP, Oracle o Ericsson. Pero todos ellos se dedican al aburrido trabajo de hacer programas útiles para que los usemos en la oficina. Un coñazo de empresas, vamos.

SOFTWARE EN CRISIS

Aunque haya quien piense que la única crisis que merece tal nombre es la económica que padecemos estos años, la verdad es que hay más. En los años sesenta, encima de tener que aguantar a los hippies, los informáticos y sobre todo sus clientes sufrieron la crisis del software.

Los ordenadores se multiplicaron en número y capacidad entre finales de los cincuenta y principios de los sesenta. El ordenador de gama más baja de la línea System/360 de IBM, lanzado en 1964, era 43 veces más rápido y tenía 66 veces la memoria del modelo estrella del gigante azul en 1953, el IBM 650. Y si en 1960 había 4400 ordenadores en todos los Estados Unidos, el principal mercado de estos cacharrejos por aquel entonces, en 1965 eran ya 21 600.

En esa época, la práctica totalidad de los programas los hacían los propios compradores, o una empresa contratada a tal efecto. Eran programas escritos para ajustarse exactamente a las necesidades de los clientes. Así que, con tamaño incremento en el número de ordenadores, hicieron falta muchos, muchos más programadores, y no había tantos. Además, al ser las nuevas computadoras mucho más capaces, los requisitos se iban ampliando, con lo que los programas crecían en tamaño y complejidad.

Con tanta demanda insatisfecha de código escrito por programadores, los precios aumentaron. Además, aunque los ordenadores no bajasen de precio, sí eran cada vez mejores, de modo que el software era una parte cada vez más importante del coste total de tener una computadora funcionando a pleno rendimiento.

Como si todo esto no fuera suficiente, a medida que aumentaba el tamaño del software —y su complejidad—, más fácil era que aparecieran errores. El caso más famoso de fiasco fue el desastre de la sonda Mariner, pero estuvo lejos de ser el único.

Aquella situación se vio reflejada en todo su dramatismo en el proyecto del sistema operativo OS/360, proyectado para los ordenadores System/360. Debía ser capaz de funcionar en todas las computadoras compatibles, fuera cual fuera su potencia y memoria, y poder ejecutar más de un proceso a la vez para que el procesador no perdiera tiempo esperando a que el disco hiciera lo que se le mandaba. El responsable era la misma compañía que estaba desarrollando con éxito el sistema de reservas Sabre, y pese a que su presupuesto era el mayor que ningún programa había tenido hasta entonces, todo lo que pudo ir mal fue mal.

Comenzaron a trabajar en él unas setenta y cinco personas, en la primavera de 1964, con la intención de sacarlo dos años después. Costaría entre 30 y 40 millones de dólares. Pero poco a poco los plazos se fueron alargando, y el coste se disparó. A finales de 1965 se descubrieron fallos graves en el diseño que llevaron a pensar a parte del equipo que ni siquiera podría ver la luz, pero acabó viéndola a mediados de 1967, un año después de lo previsto, no sin antes ser reescrito casi por completo. El presupuesto se fue a los 500 millones de dólares, y cuando se terminó había mil informáticos trabajando en él. Pero aun así salió de fábrica bien surtidito de fallos que tardaron años en erradicarse, porque más que arreglarlos parecía que se cambiaban unos por otros: cada solución hacía surgir un nuevo problema.

El director del proyecto, Fred Brooks, terminaría publicando en 1970 un libro sobre aquella debacle llamado El mito del mes-hombre. En él explicaba los problemas derivados de abordar un proyecto de esa magnitud, siendo el principal que la vieja contabilidad que estimaba cuánto trabajo llevaría un programa era una trola de colosales proporciones. Por ejemplo, cuando se decía que un proyecto iba a costar diez meses-hombre, lo que se quería indicar es que un solo programador podría hacerlo en diez meses, dos en cinco y diez en uno. Esa manera de medir el trabajo era razonable en proyectos pequeños, con equipos pequeños, pero no en algo de la magnitud del OS/360.

«Por muchas mujeres que se sumen a la tarea, gestar un niño sigue llevando nueve meses», diría entonces. Y es que buena parte de los problemas del sistema operativo se debieron a que, según se iban alargando los plazos, se dedicaron a echar gasolina al fuego, es decir, a contratar más programadores. Programadores a los que había que explicar qué se había hecho hasta el momento y cómo; cuáles eran los objetivos que se buscaban y qué se esperaba de ellos; y cuyo código debía acoplarse a lo ya hecho por otros anteriormente. Además, la programación es un proceso creativo, como bien saben los hackers, y añadir músculo no soluciona los problemas.

En 1967 tuvo lugar un congreso en Alemania de ingeniería del software organizado por la OTAN, lo que revela la preocupación que tenían los militares por este problema. La idea era que la informática fuera tan predecible como otras ingenierías: si se sabía cuánto iba a costar y cuánto se iba a tardar en construir un puente, ¿por qué no se podía hacer un cálculo así con los programas? Sin embargo, pocas soluciones salieron de aquel congreso.

Aun así, poco a poco se fueron expandiendo ciertas técnicas que aliviaron el problema, pero no lo hicieron desaparecer por completo.

Los informáticos empezaron a emplear mejores herramientas, desde lenguajes de programación más potentes que reducían la complejidad y los errores a cambio de producir programas algo más lentos —lo que fue progresivamente menos importante, al disponer de ordenadores mejores y más baratos—, hasta depuradores que facilitaban el hallazgo de los bugs. Se hizo especial hincapié en la programación estructurada, que facilitaba la división del software en unidades más pequeñas y manejables y que terminaría llevando al concepto algo más avanzado de programación orientada a objetos. Y en lugar de pensar que un producto de software se proyecta, se programa y santas pascuas, se pasó a considerar que en su ciclo de vida el lanzamiento es sólo un paso más, porque hay que ir mejorándolo, solucionando los errores y atendiendo los problemas que le surjan al cliente.

Pero como escribiría el propio Brooks —ya en los años ochenta—, no existía ninguna «bala de plata» que pudiera acabar por sí sola con ese «hombre lobo» que eran los proyectos de software con problemas. Y los problemas podrían ser mortales: entre 1985 y 1987, un bug en una máquina canadiense de radioterapia llamada Therac-25 provocó que seis pacientes recibieran una dosis muy superior a la recomendable: tres de ellos acabaron perdiendo la vida. Y aunque fueran franceses, oiga, igual tampoco se lo merecían.

El problema que provocó la crisis ha sido contenido hasta cierto punto gracias al desarrollo de numerosas técnicas, pero sigue ahí… y no parece que vaya a desaparecer así como así. De hecho, y hasta cierto punto, tanto el largo proceso de desarrollo de Windows Vista como los numerosos problemas que presentaba, y que obligaron a lanzar Windows 7 con cierta celeridad, son una demostración de que, en el fondo, casi todo sigue igual.

Sólo los proyectos de código abierto, o software libre, parecen haber encontrado algo parecido a esa «bala de plata». Pero la idea de que la del software podía ser una ingeniería como las demás, con sus plazos bien establecidos y sus certezas de funcionamiento perfecto, hace ya tiempo que ha sido abandonada por todos los que abandonaron la universidad y trabajan en el mundo real.

LOS PAPÁS DEL OFFICE

A estas alturas, parece como si no existiera otro procesador de textos que Word, ni más hoja de cálculo que Excel. Pero lo cierto es que ambos productos tardaron muchísimo en imponerse.

Los primeros procesadores de texto fueron los vendidos por la americana Wang, empresa pionera en el sector de las calculadoras electrónicas pero que se dio cuenta a tiempo de que no podía ganar la guerra de precios a las compañías japonesas de electrónica. Wang ofrecía un producto completo, que consistía en una suerte de computadora algo recortaíca pero que permitía editar el texto antes de imprimirlo. Su primer aparato, el Wang 1200, fue el fruto del experimento de conectar una calculadora con una máquina de escribir eléctrica de IBM. Permitía almacenar hasta 20 páginas de texto y editarlas, línea a línea, si se había cometido algún error.

Lanzado en 1974, el cacharro y sus sucesores tuvieron cierto éxito compitiendo con las máquinas de escribir de la época. Tanto Wang como otras muchas empresas, entre las que estaba IBM, ofrecían productos similares. Pero una vez empezaron a abaratarse los ordenadores personales, los procesadores de texto como software se convirtieron en superventas… y las ventas de sistemas completos cayeron; Wang se dedicó a vender ordenadores para sobrevivir de mala manera y entró en suspensión de pagos a comienzos de los años noventa.

Al principio, cada fabricante de ordenadores tenía su propio procesador de texto. Eran muy limitados porque las pantallas sólo permitían mostrar 40 caracteres en cada línea, en lugar de los 80 que podían imprimirse en papel. Pero a finales de los setenta comenzaron a popularizarse pantallas mejores y, también, un sistema operativo más o menos común a muchos fabricantes, el CP/M. Así que se dieron las condiciones para que un programa se hiciera con el mercado. La china le tocó a WordStar. Creado por Seymour Rubinstein, que venía de trabajar en un fabricante de clones del primer ordenador personal —el Altair 8080—, prolongó su reinado de los ordenadores que funcionaban con CP/M al PC, pero metió la pata hasta el fondo con el lanzamiento, en 1984, de WordStar 2000. El programa era mejor, pero más lento que su predecesor, y encima cambiaba por completo el interfaz de usuario. Obligados a aprender un nuevo programa, muchos de sus usuarios optaron por un competidor llamado WordPerfect, que dominaría el mercado durante el resto de la década y que fue durante años el producto para ordenadores personales más vendido.

Algo parecido sucedió con las hojas de cálculo. La idea fue concebida por un estudiante mientras veía a su profesor escribir en la pizarra un modelo financiero: cada vez que cometía un error o quería cambiar un parámetro, tenía que ir borrando y sustituyendo los valores uno a uno. Dan Bricklin, el chavalote observador, pensó que un ordenador podría hacer la misma operación pero de manera automática. Así que en 1979 lanzó VisiCalc para el Apple H. Fue un éxito absoluto que, de hecho, ayudó al ordenador de la manzana a convertirse en el más vendido de su generación y a instalarse en la mesa de numerosos ejecutivos.

VisiCalc se llevó al PC con cierto éxito —fue una de las aplicaciones que IBM procuró estuvieran disponibles desde el minuto uno—. En vista de su dominio, la compañía decidió diversificarse e invertir en un entorno gráfico propio, VisiOn, que, como todos los lanzados a mediados de los ochenta, fracasó. En 1983 VisiCalc tenía unos ingresos de unos 40 millones de dólares y en 1985 había dejado de existir. El responsable de semejante descalabro fue Mitch Kapor, que les había vendido un par de productos para mejorar el programa y que empleó el dinero para crear —y anunciar— una alternativa mejor. Su programa se llamó Lotus 1-2-3. Eso sí, fue lo suficientemente majo como para comprar los restos de la empresa rival, que al fin y al cabo había financiado la soga que la ahorcó.

El mismo Bill Gates pensaba que el dinero no estaba tanto en los sistemas operativos como en las aplicaciones, así que decidió invertir buena parte de la plata que recibía por las ventas de MS-DOS en desarrollar programas de ofimática. El primero fue MultiPlan, una hoja de cálculo lanzada en 1982 que recibió excelentes críticas pero que resultaba demasiado lenta: y es que fue concebida para funcionar en muchos ordenadores distintos con diferentes sistemas operativos. Microsoft no estaba tan seguro de que el PC fuera a triunfar como triunfó y se estaba guardando las espaldas. No se vendió bien, como tampoco lo hizo Word 1.0, lanzado el año siguiente y que, ¡oh milagro!, mostraba las cursivas y las negritas en la pantalla: ¡no había que esperar a imprimirlas para verlas!

Pero si algo ha caracterizado a Microsoft es que los fracasos no la echan atrás, así que siguió intentándolo, y cosechó cierto éxito con Excel —el sucesor de MultiPlan— y Word, pero sólo en Macintosh. De hecho, si no hubiera sido por esas aplicaciones, quizá el Mac no hubiera sobrevivido como alternativa única al PC.

Todo continuó como estaba, con Lotus y Word Perfect triunfando en el PC y Excel y Word en el Mac, hasta que Microsoft lanzó el Windows 3.0. De nuevo fruto de su persistencia, le había llevado años perfeccionarlo —e Intel hubo de sacar procesadores suficientemente rápidos—, hasta que consiguió que su entorno gráfico tuviera éxito. Aquello pilló con el pie cambiado a sus rivales, que aunque lograron lanzar versiones para Windows lo hicieron demasiado tarde. Los usuarios de Windows empezaron a utilizar también las aplicaciones de Microsoft, y lo harían mucho más con el lanzamiento, en 1990, de Office, que unía ambas aplicaciones y una tercera, PowerPoint, dedicada a la creación de presentaciones.

Veinte años después, el 80 por ciento de las empresas usaba algún producto de Office. En el entretanto, WordPerfect fue a parar a manos, primero, de Novell y, después, de Corel, una compañía canadiense especializada en software gráfico. Lotus, por su parte, pasó a formar parte de IBM: ambas intentaron lanzar su alternativa a Office para Windows; pero las mismas ventajas que les permitieron reinar durante años, se volvieron entonces en su contra. La gente se había acostumbrado a los programas de Microsoft y no quiso cambiar.

Existen muchas alternativas en el mercado, pero Office sigue siendo el rey, como diría la ranchera. Siempre se ha acusado a Microsoft de prevalecer gracias al empleo de métodos siniestros. Alguno utiliza, sí; pero sólo con eso no se logra sobrevivir a un cambio de interfaz como el de la versión 2007. Algo tendrá el agua cuando la bendicen.

SOFTWARE LIBRE: LA VENGANZA DE LOS HACKERS

Los hackers originales habían abandonado la universidad para dedicarse a los más variados quehaceres relacionados con la informática. Ya no eran hippies, sino emprendedores o trabajadores de las mejores empresas. Las nuevas generaciones se interesaban más por pergeñar videojuegos que por crear, compartir y usar software de otro tipo. Sólo un cabezota resistía. Se llamaba Richard Stallman.

Stallman era un fanático seguidor de la ética hacker que llegó al laboratorio de Inteligencia Artificial del MIT en 1971. Su principal logro allí fue Emacs, un editor de texto para programadores que hoy en día es la elección de cualquier hacker que se precie. Pero pronto se hizo famoso por sus campañas para que la gente empleara contraseñas vacías o por sabotear los sistemas de seguridad para que se viesen las contraseñas en pantalla, lo que las hacía bastante inútiles, claro. Todo por aquello de que la información debía ser libre. Cualquier otra alternativa le parecía fascista.

Dos cosas le llevarían a dejar el laboratorio. La primera fue una impresora láser, la primera que se comercializó, la Xerox 9700. La empresa no permitía que se modificara el código del controlador del dispositivo, como había hecho siempre Stallman, de modo que no podía cambiarlo para que avisara al usuario mediante un mensaje electrónico de que su impresión estaba lista, algo bastante útil cuando el aparatejo está en una planta distinta al lugar donde trabaja el susodicho y sufrido usuario.

Lo más grave, no obstante, fue la lucha que se estableció entre LMI y Symbolics, dos empresas fundadas por miembros del laboratorio y dedicadas a construir ordenadores pensados específicamente para la inteligencia artificial. Las dos crearon software no modificable, algo que para Stallman era anatema; pero la segunda además contrató prácticamente a todos los buenos hackers del laboratorio. Stallman se quedó solo y decidió vengarse haciendo para LMI ingeniería inversa del software de las máquinas de Symbolics que el laboratorio había comprado y programando una alternativa para que LMI pudiera competir.

Aquello forzó a la dirección del laboratorio a prohibir hacer cosas como las que hacía Stallman, así que el tipo se largó. Desde 1984 se dedicó a tiempo completo a trabajar en el proyecto GNU. La idea era recrear todo el sistema operativo compatible con Unix bajo una licencia que permitiera a cualquiera modificarlo; una licencia que en sí misma encarnara la ética hacker, que había visto destruirse en el mismo lugar donde había nacido. Creó así el concepto de software libre, que permite a cualquiera usarlo, copiarlo, distribuirlo y modificarlo, siempre y cuando se distribuya bajo el mismo esquema. Algo que impediría que alguien más sufriera las restricciones que él padeció con la dichosa Xerox.

Durante los siguientes años, Stallman y su Free Software Foundation reprodujeron todas las herramientas necesarias para programar: editor (Emacs, claro), compilador, depurador, etc. Sin embargo, faltaba lo más importante, el núcleo del sistema. Pese a que había un proyecto llamado Hurd, la cosa no avanzaba. Llegado 1991, un joven finlandés llamado Linus Torvalds hizo una versión muy rudimentaria de Unix que funcionaba en los PC de la época. Entre los colegas la llamaba Linux, una mezcla de su nombre con Unix, pero aquello le parecía demasiado egocéntrico para presentarlo en sociedad, así que decidió que oficialmente se denominara Freax, una mezcla entre freak (friki), free (libre) y x (por Unix). Pero al subir los ficheros al servidor FTP de la universidad de Helsinki para facilitar su distribución, el encargado de los servidores debió de pensar que se había equivocado y le volvió a poner el nombre bueno. Y así se ha quedado.

La verdad es que Linux era bastante cutre. Pero comenzó a mejorar muy rápido gracias a su sistema de desarrollo: cientos de voluntarios trabajaban de forma relativamente autónoma a través de Internet, y se lanzaban nuevas versiones semanalmente. Eran los usuarios los que con sus quejas y peticiones terminaban dictaminando qué mejoras se quedaban y qué debía corregirse: aquello era Darwin (o Hayek) en estado casi puro. De modo que pronto estuvo al nivel requerido, y junto a las herramientas que había creado Stallman los hackers ya tenían un sistema operativo completo para PC.

El éxito de Linux demostró que podían abordarse grandes proyectos con programadores voluntarios que se coordinasen a través de Internet. Pronto un gran número de programas creados para el nuevo sistema operativo lo convirtieron en algo útil fuera del gueto de los hackers. Pero, pese a todo, el crecimiento del software libre seguía siendo modesto. Pero a comienzos de 1998 algo empezó a cambiar. Netscape, que estaba perdiendo su lucha contra Microsoft en el mercado de los navegadores, anunció que abriría el código de su programa estrella para poder competir. De aquella decisión nacería, años después, Firefox. Pero el principal fruto no fue un programa sino un nuevo aire de respetabilidad para el software libre. Ya no era anatema. Había quien pensaba, incluso, que las empresas podían ganar dinero con programas de los que no podían vender copias sin más porque copiarlo era perfectamente legal.

Así que el software libre pasó a formar parte del paisaje de la informática. Si bien Linux sigue siendo utilizado principalmente en servidores y no en los ordenadores de los usuarios, raro es el que no tiene algún programa libre en su disco duro. Los hackers han logrado ganar en muchos mercados a las empresas que venden sus programas. La ética hacker ha ganado. ¿O no?

Richard Stallman, desde luego, piensa que no. No le hacen ninguna gracia los derroteros que ha terminado siguiendo su invento. Cree que gente más pragmática como Torvalds, que emplea el software libre principalmente como una manera mejor de hacer las cosas, actúa en contra de los valores del mismo. Para él, un usuario que libremente compra Windows u Office no es realmente libre.

Linus, por su parte, cree que Stallman es como esos testigos de Jehová que llaman a tu puerta para decirte cómo vivir tu vida e intentar salvar tu alma. El software libre es una forma mejor de hacer las cosas, y punto. Pero bueno, nadie dijo que tuvieran que ser amigos.