– Nov 24, 2019, 17:30 (CET)

El almacén de software libre para la sociedad del futuro

En las bibliotecas guardamos libros. En las videotecas, material audiovisual. ¿Dónde guardar el software de hoy para que lo conozcan las generaciones de mañana?

Hace años que se habla sobre qué hacer con el contenido digital que generamos a diario dentro y fuera de internet. ¿Cómo almacenarlo? ¿Dónde hacerlo? ¿Quién debería hacerse cargo? Uno de los proyectos de documentación digital más populares es Internet Archive, organización sin ánimo de lucro dedicada a preservar páginas web, software antiguo, juegos y demás piezas de software que han caído en el olvido y que, en muchos casos, si no fuera por ese archivo, serían irrecuperables.

En la actualidad, el almacén digital de Internet Archive ofrece más de 391.000 millones sitios web y almacena desde fotografías a audios, vídeos, libros electrónicos, programas de TV, libros y textos e incluso conciertos.

Tampoco hay que desdeñar la labor desinteresada de decenas de sitios web dedicados a la difusión del abandonware y que contribuyen también a guardar software antiguo y juegos descatalogados y que en su momento supusieron un antes y un después en la computación o en los videojuegos. Y es que, con el paso del tiempo, muchos de esos programas de ordenador se quedan huérfanos, bien porque la empresa que los creó dejó de existir y sus servidores de internet cerraron o bien porque fueron adquiridas por distintas compañías hasta perderse el rastro. En algunos casos, simplemente la empresa propietaria de determinado software no considera necesario ofrecer al público un software antiguo o cree que el coste de almacenamiento es excesivo.

Esta introducción viene a cuento de GitHub, uno de los repositorios estrella, usado por más de 40 millones de desarrolladores y que, recientemente, ha anunciado varias novedades como aplicaciones móviles para acceder a su plataforma o un ambicioso proyecto llamado GitHub Archive Program.

Pensando en el mañana

La labor de plataformas como GitHub es importante, ya que permiten que desarrolladores de todo el mundo puedan hospedar su software y ofrecerlo al mundo de manera desinteresada. Pero con el paso de los años, parte de esas piezas de código caerán en el olvido o desaparecerán.

En colaboración con Long Now Foundation, Internet Archive, Software Heritage Foundation, Arctic World Archive, Microsoft Research, the Bodleian Library, y Stanford Libraries, GitHub anunció a mitad de noviembre de 2019 que está preparando un almacén donde guardar varias copias de software para que se conserve durante al menos 1.000 años.

En primer lugar, el software elegido para almacenar será de código abierto, open source, es decir, software que permita el acceso a su código para su libre edición de manera que pueda surgir nuevo software o mejorar el original.

En segundo lugar, cualquiera puede aspirar a que su software forme parte de este almacén. Simplemente deberá hospedarlo en GitHub como repositorio público. El 2 de febrero de 2020 (02/02/2020), GitHub hará una captura de todos los repositorios públicos activos en GitHub para su preservación en el Artic Code Vault.

El propósito de GitHub Archive Program es que los historiadores del futuro lo tengan más fácil para descubrir cómo era el software del pasado, más difícil de conservar que el hardware, y por ende cómo era nuestra sociedad o hasta qué punto evolucionó nuestra tecnología.

A 250 metros bajo tierra

¿Dónde almacenar software para preservarlo durante 1.000 años? Decíamos que en la lista de organizaciones que participan en el proyecto se encuentra el Arctic World Archive, un almacén situado a gran profundidad en el archipiélago de Svalbard, Noruega. En esta zona desmilitarizada bajo el amparo de más de 40 países, desde 2017 se almacenan datos y contenido de interés para la humanidad. Un almacén digital a buen recaudo en caso que se produzca un desastre mundial y cuyo contenido se conservará durante al menos 500 años.

Pues bien. El Arctic World Archive se encuentra en una mina de carbón abandonada a más de 250 metros bajo tierra. En principio, a salvo de un Apocalipsis nuclear. Y aprovechando sus instalaciones, el GitHub Arctic Code Vault formará parte de este archivo subterráneo para dejar constancia a la humanidad del futuro del software creado hasta mil años antes.

Y es que como indica el sitio oficial del proyecto, los medios empleados actualmente para almacenar software o contenido digital tienen una vida efímera de poco más de 30 años: discos duros, discos de estado sólido, discos compactos…

Archivando en capas

El proyecto GitHub Archive Program va más allá de este almacén subterráneo. Siguiendo las bases que rigen la copia de seguridad y la preservación de contenido digital, el proyecto consta de hasta ocho partes para que el proceso de almacenamiento sea flexible, redundante y sobreviva al paso del tiempo.

En primer lugar, GitHub procura que el contenido que hospeda en sus servidores se replique en distintos centros de datos repartidos por todo el mundo. En paralelo, GHTorrent monitoriza cualquier evento que se produce en GitHub y genera una base de datos MongoDB disponible para su descarga con actualizaciones diarias o mensuales. Y también en paralelo, el proyecto GH Archive monitoriza GitHub y genera snapshots o capturas cada hora, día y mes.

En segundo lugar, las organizaciones Internet Archive y Software Heritage Foundation replican los repositorios públicos de GitHub y los añaden a sus propios archivos y servidores.

Fuente: Arctic World Archive

En una tercera fase, el 2 de febrero de 2020 se creará la captura o copia definitiva del contenido hospedado públicamente en GitHub y se almacenará en el Arctic World Archive en bobinas de película de más de un metro de largo (3.500 pies) fabricadas con halogenuro de plata sobre poliéster, lo que en un principio les da una esperanza de vida de más de 500 años. En paralelo, Bodleian Library hará una copia en paralelo de ese mismo contenido.

Y en una cuarta fase, Microsoft Research, a través de su proyecto Silica archivará el contenido del GitHub Archive Program para que duren más allá de 10.000 años. Para ello, almacenarán esa información en cristales de cuarzo empleando un láser especial.

En este proyecto han participado antropólogos, arqueólogos, historiadores, lingüistas y expertos en documentación y futuristas, entre otros perfiles con el objetivo de determinar qué contenido almacenar y cómo hacerlo recuperable por las sociedades del futuro.

Para empezar, en el archivo se incluirán guías técnicas y los metadatos necesarios para convertir los datos almacenados al código fuente original. Para ello, se incluirá un roadmap llamado Tech Tree y una especie de Piedra Roseta para que los humanos del futuro puedan entender el contenido archivado en el GitHub Archive Program. En concreto, el árbol tecnológico o Tech Tree explicará lo necesario para comprender cómo funcionaba el código abierto y cómo reconstruir las tecnologías asociadas desde cero.

No sabemos si GitHub Archive Program será de gran utilidad o hasta qué punto será importante para las sociedades futuras dentro de 100, 500 o 1.000 años. Obviamente, nosotros no estaremos allí para verlo. En todo caso, habremos dejado testimonio de nuestra herencia tecnológica en forma de software para que los arqueólogos e historiadores del futuro lo tengan más fácil para comprender cómo funcionaba la humanidad actual.