Linux existe desde hace más de 20 años y sirve felizmente tanto en funciones de escritorio como de servidor. Pero no apareció de la noche a la mañana. Linux es el resultado de la colaboración de mucha gente a lo largo de los años.

Para entender Linux, hay que remontarse al nacimiento de Unix. En 1969, Dennis Ritchie y Ken Thompson, un par de programadores de los Laboratorios Bell, querían seguir investigando en sistemas operativos. Los Laboratorios Bell habían estado participando en el Multics, un proyecto de investigación que incluía al MIT y a GE, para crear un sistema operativo que proporcionara una utilidad de información. La idea se parecía mucho a lo que ahora se llama “computación en la nube”, pero en los años 60 era el equivalente en sistemas operativos a Duke Nukem Forever, y el desarrollo avanzaba lentamente. Los Laboratorios Bell se retiraron del proyecto, dejando a Thompson y Ritchie sin el entorno de programación que experimentaron en Multics.

Utilizaron un PDP-7 de Digital Equipment Corporation, que se consideraba antiguo incluso entonces, para implementar un sistema mucho más sencillo. Lo llamaron Unics, un juego de palabras con Multics. Multics significaba Multiplexed Information and Computing Service (Servicio de Información y Computación Multiplexada), y como su sistema era más sencillo y una versión “castrada”, se le llamó Uniplexed Information and Computing Service (Servicio de Información y Computación Uniplexada). El nombre se acortó posteriormente a Unix.

Sin embargo, Unix se extendió como un reguero de pólvora dentro de los Laboratorios Bell. Una de las principales innovaciones fue la posibilidad de enviar la salida de un programa a la entrada de otro, lo que permitía a los programadores crear aplicaciones a partir de programas preexistentes como LEGO. Otra fue la idea de reimplementar Unix en C, un lenguaje inventado por Ritchie y Brian Kernighan. C es un lenguaje de alto nivel que puede utilizar cualquier ordenador con un compilador. Antes, los sistemas operativos se desarrollaban en lenguaje ensamblador y para un ordenador concreto. La reescritura de Unix en C permitió que se convirtiera en un sistema operativo universal, capaz de funcionar en diferentes ordenadores con muy pocos cambios.

Ken Thompson y Dennis Ritchie, creadores de Unix

Este sistema se difundió fuera de los Laboratorios Bell cuando Thompson y Ritchie publicaron un artículo sobre él en la prestigiosa revista de informática Communications of the ACM. AT&T, la empresa matriz de los Laboratorios Bell, lo cedió gratuitamente a las universidades porque estaba prohibido en los mercados no telefónicos.

Una de las universidades que se hizo con él fue la UC Berkeley, donde los programadores empezaron rápidamente a hacer modificaciones, ya que el sistema venía con el código fuente. Este sistema fue bautizado como BSD, o Berkeley Software Distribution, e incluía algunas innovaciones como la integración de TCP/IP y otras utilidades diversas.

Richard Stallman

Mientras tanto, AT&T empezó a hacer valer aún más su propiedad intelectual. Un programador del Laboratorio de Inteligencia Artificial del MIT, Richard Stallman, no estaba contento con esto, y comenzó el proyecto GNU, que significa “Gnu’s Not Unix” (No es Unix) como un reemplazo libre. Stallman explicó su razonamiento en un manifiesto:

Stallman reclutó a programadores para que construyeran programas libres (como en el habla, así como en la cerveza) que vinieran con el código fuente y dieran permiso explícito a los programadores para modificar y redistribuir sus versiones mejoradas. La última pieza que resultó difícil fue el kernel, o el corazón mismo del sistema operativo.

Al mismo tiempo, un profesor de informática llamado Andrew Tanenbaum escribió un libro sobre sistemas operativos que sustituía a otro anterior de John Lions que incluía el código fuente completo de una versión anterior de Unix y

Una de las muchas personas que utilizó Minix fue un estudiante de posgrado finlandés llamado Linus Torvalds que quería explorar el microprocesador 386, así que decidió escribir su propio kernel sólo por diversión, diseñado como los sistemas Unix que estaba acostumbrado a utilizar. Así es como lo anunció en Usenet a finales de 1991:

Cuando se combinó con las herramientas de GNU, resultó ser un sistema formidable, que podía competir con Windows y Mac OS (que ahora está basado en Unix).

Si se observa la historia de Linux, está claro que Linus tuvo que subirse a los hombros de algunos grandes gigantes.