Programar es urobórico. Las máquinas no entienden palabras, sino sólo cadenas de unos y ceros. Las personas no se llevan bien con las cadenas de unos y ceros, pero sí con las palabras. Así que escribimos el software en lenguajes de programación llamados de alto nivel, donde usamos palabras del inglés para darle órdenes a la computadora.
Ordenes que la computadora, claro está, no va a entender. Salvo que las traduzcamos al lenguaje de unos y ceros, el lenguaje de máquina. Ese traductor se conoce como compilador. ¿Y qué es? ¡Es un programa! Un programa que alguien tiene que crear, y cuya producción es un verdadero desafío intelectual y un inmenso esfuerzo físico.
Más de 25 años atrás, cuando Richard Stallman se propuso construir todo un sistema de software libre, encontró un primer escollo monumental. No había un compilador libre. A su futuro edificio, tal como lo soñaba y como, en rasgos generales, llegó a ser, le faltaba la piedra fundacional.
Había caído en la trampa circular de la programación. No alcanzaba con escribir software cuyo código fuente pudiéramos compartir casi sin restricciones. Para alcanzar esa meta haría falta crear un compilador libre, para que el producto final no heredara ninguna limitación. La más ardua de las tareas, en este caso, no estaba al final, sino en el mero principio. Pero lo logró.
El logo de GNU, la cabeza de un ñú, diseñada por Aurelio Heckert
El 22 de marzo de 1987 Stalman lanzó la primera versión del GCC o GNU Compiler Collection (originalmente se llamaba GNU C Compiler). En español, el Compilador GNU de Lenguaje C. GNU, como se sabe, son una siglas recursivas (un guiño para programadores) que significan GNU is Not Unix y con las que se identifican los componentes del GNU Project.
Hoy, por lo tanto, se cumplen 25 años del primer paso hacia el software libre. Las versiones más viejas que he podido rastrear ocupaban 1 MB. Menos de un diskette. Las más recientes han crecido a más de 90 MB. Pero su función sigue siendo la misma: crear software sin tener que ceder parte de nuestra libertad, desde cero, desde la primera instrucción.
Linux, Android, Apache y los centenares de aplicaciones que hoy disfrutamos sin restricciones, muchas de ellas ya presentes en este blog, existen gracias a GCC.
Para el feliz cumpleaños le dejaré la palabra a Stephen Fry. ¿El actor? Sí, el brillante actor inglés, que en este video que la Free Software Foundation, el semillero del Proyecto GNU, celebra el primer cuarto de siglo de GNU.
También se reservaron para hoy el lanzamiento de la versión 4.7.0 de GCC, que no trae grandes cambios, pero pasará a la historia como la edición del vigésimo quinto aniversario.
Anécdota del estribo: de las decenas de extranjeros que he entrevistado, Richard Stallman fue el único que, en lugar de largarse a hablar en su idioma natal como si todo el universo tuviera la obligación de saberlo, me dijo, en bastante buen español: “Hablemos en su idioma, soy yo el que está de visita en su país, así que lo que corrersponde es que hablemos en español.” Me dejó admirado.
Al final negocié 50% del reportaje en español y 50% en inglés. ¿Por qué? Porque en su propio idioma las personas hablan más rápido y así pude aprovechar mejor la hora que tenía asignada para esa entrevista 😉