Las lecciones de Linux en el pasado y futuro de la programación
• La evolución del sistema operativo Linux, el código abierto que llegó al espacio
• De enfrentamiento a mutua dependencia: la complicada relación entre los gigantes tecnológicos y el código abierto
• Programación libre vs intereses económicos, una lucha que definió la industria informática de la actualidad
Hablar del impacto de Internet y la tecnología en el mundo a menudo supone repetir lo que ya todos sabemos: cómo ha cambiado la forma de interactuar, de consumir, de entender la información y la cultura. A lo que no estamos acostumbrados es a hablar de lo que no sabemos, del hecho significativo de que la mayoría de la gente no entiende en absoluto qué sucede detrás de las pantallas. Por ejemplo, cómo llega el ordenador a mostrarnos el presente artículo, programas y comandos mediante.
Hoy, en el 29 aniversario del nacimiento de Linux, es un buen momento para desmentir la idea establecida de que el diseño y rediseño de nuestros instrumentos digitales sea patrimonio exclusivo de ciertas mentes privilegiadas que saben leer en ceros y unos y viven en atalayas inalcanzables. Saber más sobre este “hermano pequeño rebelde” que es Linux, su historia y el ecosistema que lo envuelve no solo es útil para entender el funcionamiento de herramientas de uso diario a un nivel algo menos superficial, también para reflexionar sobre las distintas concepciones y debates en torno a la libertad, el lucro corporativo, las grandes empresas y el poder de los usuarios para reescribir la historia de la gran revolución que supusieron la informática e Internet. Para comprender esta sacudida, cuyos efectos perduran hasta hoy, primero debemos viajar unas décadas hacia el pasado.
Un sistema operativo (SO) es el “cerebro digital” de un dispositivo, que controla su funcionamiento a un nivel más amplio y básico. Los desarrollados en los años 70, aunque habían avanzado mucho respecto a su origen (las enormes máquinas de los años 40 y 50), tenían la desventaja de estar muy vinculados al soporte físico, de modo que cuando el hardware antiguo era reemplazado por modelos más modernos, debía reescribirse. Todos los fabricantes de ordenadores producían sus propios sistemas, que iban siendo actualizados a la vez que el hardware y eran incompatibles con otros. D. Ritchie y K. Thompson decidieron idear un sistema que pudiera ser usado en muchos equipos diferentes, dando lugar al lenguaje C, con el cual escribieron la totalidad del sistema operativo UNIX.
Para los años 80, este sistema era el dominante en las universidades y centros de investigación y se distribuía a un precio muy elevado. El uso doméstico de ordenadores todavía no se había generalizado. Sin embargo, las nuevas oportunidades que proporcionaba el lenguaje C hicieron que las grandes empresas comenzaran a ser conscientes del valor y la rentabilidad de los SO. Decidieron restringir la distribución y el acceso a sus códigos fuente, las “recetas” en las que se especifican los ingredientes y preparación de un SO, o de cualquier programa . La intención era proteger su inteligencia industrial y los ingredientes secretos que hacían sus SO más funcionales, manteniendo así la integridad del producto y evitando los ojos curiosos de la competencia. Este modo de entender el código es el conocido como “sistema cerrado”, como los archiconocidos Microsoft Windows o macOS. El concepto existe en contraposición con el de “sistema abierto” o “sistema de código abierto” (open source), que surgirá en respuesta.
El programador Richard Stallman, del Massachusetts Institute of Technology (MIT) se encontró con estas restricciones y decidió hacer algo al respecto. ¿El catalizador? Una rabia muy común: las complicaciones de uso de una impresora. Trató de obtener el código fuente para adaptarla a sus necesidades, como había hecho hasta entonces, pero la empresa se negó. Indignado por estos impedimentos, Stallman inició el proyecto GNU en 1983. Junto con otros programadores e investigadores, se propuso crear el primer sistema operativo libre. Su filosofía, el “software libre”, era la de crear una red colaborativa que permitiera el acceso, estudio, modificación y distribución de los programas informáticos.
En 1991 entra en juego Linux. Linus Torvalds, estudiante de la Universidad de Helsinki, creó un nuevo sistema operativo utilizando herramientas GNU, ya que no tenía dinero para adquirir una de las caras licencias de UNIX. También se sirvió del sistema operativo MINIX, basado en UNIX e ideado con fines didácticos.
En su día fue un proyecto reducido a los escasos expertos que había: se conocía como “el sistema operativo de los hackers”. Cabe recordar que, al contrario de lo que dice la creencia popular, los hackers son amantes de la programación que buscan adentrarse en un sistema para controlarlo o entender su funcionamiento, pero no tiene una connotación negativa. Los que tienen intenciones maliciosas o delictivas son los crackers.
En las últimas décadas, Linux ha crecido hasta conformar una comunidad de millones de usuarios en constante crecimiento y ser el sistema operativo de open source más usado en el mundo. Esta revolución cambió la forma de entender la programación y el software, supuso la apertura y la democratización de las mejoras informáticas, su aprendizaje y un salto cualitativo en su desarrollo.
Hoy en día, cualquier programador, profesional o amateur, titulado o autodidacta, puede entrar en la comunidad de programadores de Linux. La idea es que cualquiera puede usar el código fuente y otras herramientas de acceso libre para componer su propia versión personalizada, que después se pone a disposición de otros usuarios en plataformas dedicadas al intercambio de código. De este modo, los flujos de trabajo son autónomos y variados, y el producto final (las diferentes “distribuciones”) está siempre abierto a cambios y ramificaciones. Las desventajas son que al no haber jerarquías ni visión única no hay ritmo de trabajo definido, ni un gran proyecto totalizador que pueda ser coordinado a gran escala. La fragmentación resulta en la mayoría de las ocasiones caótica y lenta.
La narrativa inicial de David contra Goliat, aunque es mantenida por muchos defensores del software libre, se ha vuelto más compleja en el panorama global. Lo más interesante son las interrelaciones más o menos recientes entre el “establishment tecnológico” y las oportunidades del sistema alternativo.
Android, propiedad de Google y el sistema operativo móvil más consumido en el mundo, está basado en Linux y en otros programas de código abierto. Sucede lo mismo con programas como Open Office o GIMP, o navegadores como Mozilla Firefox. El mismísimo Google Chrome está basado en Chromium, una aplicación de código abierto. Muchos de los lenguajes de programación más famosos del mundo, como Python o PHP, son de código abierto, y usados por aplicaciones y programas como Instagram, Pinterest, Dropbox, Spotify, Facebook, WordPress… El código abierto ha llegado incluso al espacio: la NASA decidió en 2013 pasarse de Windows a Linux.
Respecto a las incógnitas de futuro de ambos polos, no parece haber perspectivas fatalistas para ninguno de los dos. Los titanes de la industria del software tienen de su lado ejércitos de programadores perfectamente coordinados en la realización de un sistema único, integral y secreto en cuanto a las claves de su funcionamiento esencial, para luego venderlo masivamente. Disponen de recursos económicos y técnicos inigualables, el consumo mayoritario de los usuarios e incluso la adopción de los sistemas open source para su beneficio. Sin embargo, su búsqueda de la rentabilidad económica a toda costa y la formación de oligopolios ya han hecho estallar la industria en el pasado, y pueden volver a hacerlo.
En cuanto a Linux y el resto de las comunidades asociadas al código abierto: está claro cuentan con grandes desventajas tanto internas como externas, especialmente el hecho de que una gran parte de los consumidores no están interesados en esta tarea ni sueñan con elaborar su sistema operativo personalizado y perfecto. Tampoco en colaborar en un proyecto mayor para mejorar sistemas abiertos existentes como el de Linux. La mayoría ni conocen ni quieren conocer la arquitectura interna de los sistemas operativos o programas que utilizan y prefieren adquirir un sistema “user-friendly” de empresas poderosas del sector (muchos programadores ya han sido conscientes de esto y han desarrollado distribuciones de Linux más sencillas, como el famoso Ubuntu). No obstante, la estrecha vinculación creada con los amantes de la programación y sus valores fundacionales de libertad, renovación constante e independencia hacen que haya echado raíces en su microcosmos y no parezca nada proclive a extinguirse en un futuro próximo.
Al pensar en software y sistemas operativos, muchas veces imaginamos conjuntos claros y encorsetados, estables y fijos, y, tras ellos, imperios tecnológicos. Pero no siempre es así. Las maneras de entender la programación que permiten explotar las capacidades de los usuarios sin límite han dado forma a la informática actual. Y parecen decididas a seguir haciéndolo.
Fuentes:
Software libre – Sistema operativo GNU/Linux básico: UOC formación de posgrado – Roger Baig Viñas y Francesc Aulí Llinàs:
http://antares.sip.ucm.es/~luis/sw05-06/libre_m2_baja.pdf
Anuncio de la creación del proyecto GNU – Richard Stallman:
http://www.gnu.org/gnu/initial-announcement.es.html
Linux: principios básicos de uso del sistema – Nicolas Pons:
https://books.google.es/books?id=U9e6CLWQEaoC&printsec=frontcover&hl=es#v=onepage&q&f=false
Cámbiate a Linux – Arturo Fernández Montoro: http://www.rclibros.es/pdf/capitulo_LINUX.pdf
Linux: Hacia una revolución silenciosa de la sociedad de la información – Pascuale Sofía, Darío Sofía:
https://www.redalyc.org/articulo.oa?id=28010202