La historia del sistema operativo TempleOS narra la vida de su único programador, Terry Davis que comenzó a trabajar en su código porque Dios se lo habría ordenado. Tras esta justificación se esconde un motivo para desarrollar un software que ha recurrido a los pilares básicos de programación para ofrecer a través de un modo simple una solución gratuita para tu ordenador, si no te importa seguir las directrices del creador. Adentrémonos en este templo religioso de la era moderna.
Cuando Terry Davis comenzó a desarrollar TempleOS tal vez no imaginaba que con el paso de los años su código iba alcanzar las más de 120.000 líneas de programación, obra de una sola persona. Han sido 10 años de esfuerzo el que el programador ha tardado en dejar acabada su obra recurriendo a fundamentos estrictos como los gráficos en 16 colores, resolución VGA 640×480 sin exprimir la potencia de la GPU, y una única voz en audio, la voz de Dios.
TempleOS incluye un oráculo para “hablar con Dios”
El propio Terry Davis subió a YouTube unos vídeos que muestran a grandes rasgos el funcionamiento de un sistema operativo que a pesar de estar a años luz de software como Windows o del OS X “El Capitán”, son un reflejo de lo que es capaz de hacer una persona dedicada al trabajo continuo en una cosa.
Su autor se ha referido a TempleOS como un Commodore 64 moderno y para su desarrollo utilizó un lenguaje de programación también de cosecha propia bautizado como HolyC basado en C y C++.Entre los programas más llamativos que incluye este sistema operativo, destaca el llamado AfterEgypt, que según su creador es un oráculo para hablar con Dios.
TempleOS es, posiblemente, el sistema operativo con más fans que, sin embargo, no lo usan en su día a día: eso no les ha impedido reconocer los méritos tecnológicos de este particular proyecto unipersonal. También es uno de los pocos SO modernos de dominio público.
De Terry A. Davis, su creador, se dice que podría haber sido otro Steve Jobs si no hubiera sido por su enfermedad: perdió su trabajo en 1996 (antes de cumplir los 30), cuando empezó a sufrir esquizofrenia y a experimentar delirios místicos y relacionados con extraterrestres y teorías de la conspiración.
Tras unos años, en 2004, David comenzó el que podríamos considerar el proyecto de su vida, un sistema operativo diseñado según «instrucciones de Dios» para «convertirse en su Templo». Durante una década —durante la cual fue bautizado como ‘J Operating System’, ‘LoseThos’, ‘SparrowOS’ y, finalmente, ‘TempleOS‘— Davis dedicó su tiempo a escribir más de 100.000 líneas de código con las que logró dar forma a su muy particular idea de lo que debía ser un sistema operativo.
«TempleOS es un testimonio de la dedicación y la pasión de un hombre que muestra su destreza tecnológica. No tiene por qué ser nada más»
Davis murió en 2018 atropellado por un tren en Oregón, tras haber vivido unos meses en la calle (durante los cuales numerosos fans se acercaron para proporcionarle suministros). Pero, para entonces, había finalizado TempleOS y reunido una activa comunidad en torno al mismo.
«Davis era claramente un programador talentoso – escribir un sistema operativo completo no es poca cosa – y fue triste verlo afectado por su enfermedad mental», escribieron tras su muerte en OSnews, uno de los numerosos portales y foros tecnológicos sitios que le habían terminado ‘baneando’ a causa de sus diatribas —entre lo agresivo y lo incomprensible—.
Pero, ¿qué hizo que un proyecto tan… extraño —y de vocación tan minoritaria— como TempleOS terminara teniendo tal repercusión?
La justificación religiosa de TempleOS no apareció hasta que el proyecto adoptó dicho nombre: antes, había alegado una motivación meramente lúdica
TempleOS es un sistema operativo de 64 bits, multi-núcleo y con soporte para ratón… pero también con gráficos de 16 colores, resolución 640×480 y una interfaz basada mayoritariamente en texto, sin soporte para tarjetas de sonido ni redes.
Puede chocarnos saber que TempleOS no contempla los permisos de archivo (o no tanto, pues su enfoque es estrictamente monousuario), y que se ejecuta en el llamado ‘anillo 0’, es decir, interactuando directamente con el hardware. En lo que respecta a la seguridad, esto no resulta demasiado recomendable —siendo diplomáticos—, pero es una elección de diseño muy deliberada por parte de su creador:
«Es divertido tener acceso a todo. Cuando era adolescente, tenía un libro, «Mapping the Commodore 64″, que contaba lo que hacía cada ubicación en la memoria. Me gustaba copiar la ROM a la RAM y hurgar en las variables de la ROM BASIC. Todas accedían directamente a los puertos de hardware».
Davis utilizaba la siguiente analogía:
«Linux es un semirremolque con 20 marchas para operar».
«Windows es más como un coche».
«TempleOS es como una moto. Si te inclinas demasiado, te caerás. No hagas eso».
Cuando Torvalds creó Linux, sólo tuvo que crear un kernel, puesto que todos los demás elementos del sistema operativo (shell, aplicaciones, entorno gráfico) ya estaban disponibles para otros Unix, y bastaba con recompilarlos para que funcionaran en Linux. Este no fue el caso de David y TempleOS.
El lenguaje: HolyC
De hecho, Davis se propuso crear, además de todo eso, su propio lenguaje de programación: C+ (que no C++), luego renombrado HolyC (que se pronuncia igual que ‘Holy See’, ‘Santa Sede’ en inglés). Pese a su nombre, el parecido entre C y HolyC es bastante superficial, algo así como el existente entre Java y JavaScript.
Y las diferencias no son únicamente de sintaxis: HolyC permite hacer algunas cosas que no están a nuestro alcance cuando usamos C, como el hecho de poder compilar en tiempo de ejecución desde el código cada elemento de software de TempleOS (menos el kernel).
Además, HolyC cuenta con los siguientes tipos numéricos: U0, I8, U8, I16, U16, I32, U32, I64, U64, y F64. Las letras indican Unsigned, Integer y Float, y los números el número de bits:** si te sorprende la existencia de ‘U0’, piensa que es algo similar al ‘!’ de Rust**.
Por otra parte, un aspecto significativo de templeOS radica en que el shell del sistema ejerce como intérprete para el código de HolyC, permitiéndonos cargar un programa mediante un #include desde el shell y, a continuación, llamando desde éste a las funciones de dicho programa.
Otro dato: si el código compilado incluye una directiva #help_index, el texto de la misma se incluirá de forma inmediata en la documentación de TempleOS: bastará con compilarlo en tiempo de ejecución, como dijimos antes, para que la ayuda del programa esté disponible con sólo pulsar F1.
«Tal vez deberíamos considerar TempleOS como un ‘sistema operativo de investigación’: [una muestra de] lo que se puede lograr si uno no se deja atrapar por el pensamiento establecido, la compatibilidad con versiones anteriores o las demandas del mercado» (Codernotes.com)
El hipertexto: DolDoc
Pero quizá la característica más notable de TempleOS sea su omnipresente sistema de hipertexto, DolDoc; éste constituye la base de su shell, de su editor de texto, de su explorador de archivos, de su sistema de documentación, etc. ¿HTML, XML, JSON, shell scripts…? Todos ellos quedan sustituidos, en TempleOS, por DolDoc.
¿Y que nos permite hacer DolDoc? Pues desde insertar imágenes y mallas 3D directamente dentro de un documento a introducir macros; esto es, comandos que se ejecutan al hacer clic en hipervínculos, permitiéndonos abrir otros documentos o programas, o crear menús. ¿Introducir hipervínculos y diagramas de flujo dentro de los comentarios del código de HolyC? ¡También es posible!
Si pulsamos Ctrl+R, se abrirá un editor de recursos que nos permitirá dibujar sprites e insertarlos directamente en un documento. Si, por el contrario, pulsamos Ctrl+T, podremos visualizar en texto plano el código del documento DolDoc que tengamos abierto en ese momento.
Si eres curiosos te dejo la web de referencia: TempleOS
Una versión anterior fue publicada en 2021.