# Guix y Software Heritage para despliegue reproducible
> [! nota]-
> El contenido de esta página se ha generado a partir de la transcripción de audio/vídeo y la transformación del texto del contenido y los enlaces de esta fuente.
Fuente: [https://fosdem.org/2025/schedule/event/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment/](https://fosdem.org/2025/schedule/event/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment/)
<video src=«https://video.fosdem.org/2025/aw1126/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment.av1.webm» controls></video>
## Resumen y aspectos destacados:
**Resumen de la Sesión**
La sesión explora cómo Guix y Software Heritage colaboran para preservar el código fuente y asegurar un despliegue reproducible de software. Simon Tournier presenta su enfoque para enfrentar el problema del 'link rot' y cómo la combinación de estas herramientas puede mejorar la transparencia y reproducibilidad en la investigación.
**Introducción a Guix y Software Heritage**
Guix es una herramienta de despliegue de software que permite un despliegue reproducible, crucial para verificar resultados de investigación. Software Heritage es una iniciativa sin ánimo de lucro que busca preservar todo el código fuente disponible públicamente. La combinación de ambas herramientas ofrece una solución robusta para la preservación y reproducibilidad del software.
**Problemas de Reproducibilidad en la Investigación**
El problema del 'link rot' es significativo, ya que el código fuente puede desaparecer con el tiempo, afectando la capacidad de reproducir investigaciones anteriores. Guix y Software Heritage trabajan juntos para archivar código fuente y asegurar que esté disponible a largo plazo.
**Arquitectura y Funcionamiento**
La presentación detalla cómo Guix se integra con Software Heritage para archivar y recuperar código fuente. Utilizando identificadores de Software Heritage (SWHID), se asegura la integridad del código, permitiendo su recuperación incluso si los enlaces originales fallan.
**Conclusiones y Futuro**
La sesión concluye destacando la importancia de citar el código fuente usando SWHID y fomentar el uso de Guix para mejorar la reproducibilidad en la investigación. Se discuten también los desafíos pendientes, como la necesidad de mejorar la verificación sin reconstruir todo el software.
## Importancia para una transformación ecosocial
La importancia de esta sesión para la transformación ecosocial es alta, ya que aborda la sostenibilidad y accesibilidad del conocimiento digital a largo plazo. Las herramientas presentadas, como Guix y Software Heritage, son esenciales para asegurar que el código fuente, base de muchas investigaciones científicas, permanezca accesible y verificable. Esto es crucial para la transparencia y reproducibilidad en la investigación científica, promoviendo un enfoque más sostenible y ético. Los diseñadores ecosociales pueden aplicar estas herramientas para asegurar la integridad y disponibilidad de sus proyectos de software en el tiempo. Sin embargo, persisten desafíos técnicos, como la necesidad de mejorar la compatibilidad de formatos de archivo y asegurar la disponibilidad de recursos computacionales suficientes para el archivo y recuperación de datos.
## Slides:
| | |
| --- | --- |
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_001.jpg\|300]] | La primera diapositiva presenta el tema de la sesión: 'Archivado de Código Fuente para el Rescate del Despliegue Reproducible', destacando la colaboración entre Guix y Software Heritage. Se mencionan a Simon Tournier como orador principal y a otros colaboradores clave. También se proporciona un enlace DOI para más información.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_002.jpg\|300]] | La diapositiva 2 resume presentaciones previas en la sala de desarrollo 'Open Research', destacando la evolución del trabajo conjunto entre Guix y Software Heritage desde 2021. Se establece un contexto para la sesión actual.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_003.jpg\|300]] | La diapositiva 3 continúa el resumen de sesiones anteriores, abarcando los años 2021 y 2023, y estableciendo una línea temporal que culmina en la sesión de 2025, mostrando la evolución y continuidad del proyecto.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_004.jpg\|300]] | La diapositiva 4 añade el año 2025 a la línea temporal presentada en las diapositivas anteriores, subrayando la continuidad y el desarrollo progresivo del trabajo en la sala 'Open Research'.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_005.jpg\|300]] | La diapositiva 5 introduce el concepto de la dualidad del software: código fuente legible por humanos y binarios ejecutables por máquinas. Se enfatiza la importancia de la transformación del código fuente en binarios y la transparencia a largo plazo.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_006.jpg\|300]] | La diapositiva 6 muestra un ejemplo de código fuente, un programa 'Hello World', para ilustrar la diferencia entre el código legible por humanos y su transformación en binario, resaltando la importancia de la transparencia en esta transformación.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_007.jpg\|300]] | La diapositiva 7 repite el ejemplo del programa 'Hello World', reforzando la idea de la dualidad del software y la necesidad de transparencia en la transformación del código fuente a binario.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_008.jpg\|300]] | La diapositiva 8 continúa con el ejemplo del programa 'Hello World', mostrando un extracto del binario resultante, subrayando la importancia de la transparencia en la transformación del código.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_009.jpg\|300]] | La diapositiva 9 reitera el ejemplo del programa 'Hello World' y su transformación en binario, destacando la importancia de la transparencia en la transformación del código fuente a binario.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_010.jpg\|300]] | La diapositiva 10 concluye el ejemplo del programa 'Hello World', destacando la importancia de la transparencia en la transformación del código fuente a binario y la necesidad de un seguimiento a largo plazo.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_011.jpg\|300]] | La diapositiva 11 presenta un escenario típico donde Alice publica un resultado en 2022 con el código fuente disponible públicamente, identificado como versión 0.9, estableciendo el contexto para problemas de reproducibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_012.jpg\|300]] | La diapositiva 12 describe un escenario en 2025 donde Blake necesita revisar el trabajo de Alice. Aunque puede instalar fácilmente la versión 1.2, tiene problemas con la versión 0.9, lo que lleva a resultados diferentes.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_013.jpg\|300]] | La diapositiva 13 continúa el escenario de Blake en 2025, destacando las dificultades para instalar la versión 0.9 y la variación en los resultados, planteando la pregunta de si Blake controla completamente las fuentes de variación.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_014.jpg\|300]] | La diapositiva 14 plantea preguntas sobre el entorno computacional necesario para el despliegue: el código fuente, las herramientas de construcción y ejecución, y las dependencias de cada herramienta.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_015.jpg\|300]] | La diapositiva 15 sugiere que responder a preguntas sobre el entorno computacional permite controlar las fuentes de variación, destacando la importancia de este control para la reproducibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_016.jpg\|300]] | La diapositiva 16 continúa explorando cómo capturar respuestas a preguntas sobre el entorno computacional, mencionando gestores de paquetes y otras herramientas como posibles soluciones.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_017.jpg\|300]] | La diapositiva 17 describe el despliegue de software como un gráfico acíclico dirigido (DAG), donde cada nodo especifica el código fuente, herramientas de construcción y dependencias, destacando la complejidad del gráfico completo.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_018.jpg\|300]] | La diapositiva 18 introduce a Guix, una herramienta de desarrollo de software que gestiona el despliegue funcional de software, ideal para flujos de trabajo de investigación reproducible, destacando su transparencia y verificabilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_019.jpg\|300]] | La diapositiva 19 explica cómo una revisión de Guix define un gráfico específico, permitiendo a los usuarios como Blake reproducir el mismo entorno de software que Alice utilizó, asegurando la reproducibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_020.jpg\|300]] | La diapositiva 20 detalla el proceso de despliegue reproducible, donde Blake puede usar Guix para instalar el mismo entorno de software que Alice, bajo la premisa de que el código fuente y las construcciones intermedias son deterministas.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_021.jpg\|300]] | La diapositiva 21 presenta una evaluación empírica del problema de 'link rot', mostrando que un porcentaje del código fuente se pierde con el tiempo, afectando la reproducibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_022.jpg\|300]] | La diapositiva 22 amplía el problema de 'link rot', destacando la pérdida de archivos importantes como openjdk y su impacto en las dependencias de otros paquetes.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_023.jpg\|300]] | La diapositiva 23 continúa explorando el impacto de la pérdida de archivos como openjdk, mostrando cómo esto afecta no solo a un paquete, sino a muchos otros que dependen de él.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_024.jpg\|300]] | La diapositiva 24 proporciona datos sobre la disponibilidad de fuentes a lo largo del tiempo, mostrando una mejora en la disponibilidad, pero aún con un porcentaje significativo de pérdida de archivos.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_025.jpg\|300]] | La diapositiva 25 sigue mostrando la disponibilidad de fuentes a lo largo del tiempo, destacando la pérdida de archivos importantes y su impacto en la reproducibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_026.jpg\|300]] | La diapositiva 26 ofrece una cronología de la disponibilidad de fuentes, mostrando mejoras en la preservación del código, pero aún con desafíos significativos por resolver.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_027.jpg\|300]] | La diapositiva 27 continúa la cronología de disponibilidad de fuentes, destacando la pérdida de archivos y su impacto en la reproducibilidad de la investigación.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_028.jpg\|300]] | La diapositiva 28 introduce a Software Heritage como una solución para el problema de 'link rot', preservando el código fuente y asegurando su disponibilidad a largo plazo.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_029.jpg\|300]] | La diapositiva 29 destaca a Software Heritage como la respuesta al problema de 'link rot', preservando el código fuente cuando repositorios como GitHub o GitLab desaparecen.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_030.jpg\|300]] | La diapositiva 30 enfatiza que Software Heritage es el archivo más grande disponible públicamente de código fuente, recolectando, preservando y compartiendo código para asegurar su disponibilidad.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_031.jpg\|300]] | La diapositiva 31 describe a Software Heritage como una organización internacional sin ánimo de lucro, apoyada por múltiples patrocinadores y alineada con la visión de preservación a largo plazo del conocimiento digital.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_032.jpg\|300]] | La diapositiva 32 introduce los Identificadores de Software Heritage (SWHID), una herramienta crucial para identificar y referenciar código fuente de manera precisa y confiable.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_033.jpg\|300]] | La diapositiva 33 continúa explicando los Identificadores de Software Heritage (SWHID), destacando su importancia para la identificación precisa del código fuente.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_034.jpg\|300]] | La diapositiva 34 proporciona un ejemplo de un Identificador de Software Heritage (SWHID), mostrando cómo se puede utilizar para referenciar contenido de manera precisa.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_035.jpg\|300]] | La diapositiva 35 destaca que los Identificadores de Software Heritage (SWHID) son un estándar emergente, proporcionando una especificación para la identificación precisa del contenido.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_036.jpg\|300]] | La diapositiva 36 reitera que los Identificadores de Software Heritage (SWHID) son un estándar emergente, proporcionando una especificación detallada para la identificación precisa del contenido.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_037.jpg\|300]] | La diapositiva 37 explica que Software Heritage opera un servidor direccionado por contenido, utilizando SWHID para asegurar la identificación precisa y a largo plazo del código fuente.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_038.jpg\|300]] | La diapositiva 38 describe cómo Guix identifica el código fuente, especificando el método, la ubicación y el hash criptográfico, asegurando que el código es direccionado por contenido.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_039.jpg\|300]] | La diapositiva 39 amplía la descripción de la identificación del código fuente en Guix, destacando que el código es esencialmente direccionado por contenido.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_040.jpg\|300]] | La diapositiva 40 explica qué sucede si una URI se vuelve obsoleta o hay un desajuste de hash, y cómo Guix puede trabajar alrededor de estos problemas.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_041.jpg\|300]] | La diapositiva 41 detalla cómo Guix puede trabajar alrededor de URI obsoletas, permitiendo a los usuarios encontrar el código fuente en otras ubicaciones si es necesario.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_042.jpg\|300]] | La diapositiva 42 continúa explicando cómo Guix puede trabajar alrededor de URI obsoletas, utilizando nuevas URL o servidores direccionados por contenido para recuperar el código fuente.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_043.jpg\|300]] | La diapositiva 43 describe cómo Guix puede utilizar servidores direccionados por contenido, como los proporcionados por los proyectos Guix, Nix o la iniciativa Software Heritage.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_044.jpg\|300]] | La diapositiva 44 presenta la arquitectura que conecta Guix y Software Heritage, mostrando cómo se integran para archivar y recuperar código fuente de manera efectiva.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_045.jpg\|300]] | La diapositiva 45 introduce Disarchive, una herramienta para resolver problemas con tarballs comprimidos, asegurando que los hashes criptográficos coincidan independientemente del método de compresión.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_046.jpg\|300]] | La diapositiva 46 explica cómo Disarchive aborda problemas con la creación de tarballs comprimidos, destacando la importancia de los algoritmos de hash y los serializadores de datos.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_047.jpg\|300]] | La diapositiva 47 continúa explicando cómo Disarchive resuelve problemas con tarballs comprimidos, destacando la importancia de los algoritmos de hash y los serializadores de datos.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_048.jpg\|300]] | La diapositiva 48 describe cómo Disarchive descompone los tarballs para extraer metadatos importantes, asegurando que el contenido pueda ser reconstruido de manera precisa.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_049.jpg\|300]] | La diapositiva 49 explica el almacenamiento separado de contenido de archivos en Software Heritage, y cómo Disarchive ensambla y desensambla tarballs para preservar el código.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_050.jpg\|300]] | La diapositiva 50 detalla el proceso de recuperación de código fuente utilizando el 'SWH Vault' y Disarchive, asegurando que los archivos se puedan reconstruir de manera idéntica.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_051.jpg\|300]] | La diapositiva 51 muestra la cobertura de revisiones de Guix a lo largo del tiempo, destacando las mejoras en la preservación del código, aunque aún con desafíos por resolver.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_052.jpg\|300]] | La diapositiva 52 describe el progreso en el soporte de SWH, mostrando cómo los mecanismos de recuperación están mejorando con el tiempo y cómo se manejan los tiempos de 'cocción' del 'SWH Vault'.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_053.jpg\|300]] | La diapositiva 53 concluye la sesión, recomendando citar y referenciar el código fuente usando SWHID y promoviendo el uso de Guix para la reproducibilidad en la investigación.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_054.jpg\|300]] | La diapositiva 54 enfatiza el objetivo de lograr una mejor 'Investigación Abierta' a través de la colaboración entre Guix y Software Heritage.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_055.jpg\|300]] | La diapositiva 55 invita a preguntas y proporciona contactos para más información, destacando que las diapositivas están archivadas con un identificador de Software Heritage.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_056.jpg\|300]] | La diapositiva 56 simplemente indica que es un apéndice, sugiriendo contenido adicional o información complementaria.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_057.jpg\|300]] | La diapositiva 57 proporciona un ejemplo de recuperación de VCS, mostrando el proceso de recuperación de un repositorio Git utilizando Software Heritage.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_058.jpg\|300]] | La diapositiva 58 muestra un ejemplo de recuperación de tarball, detallando el proceso de ensamblaje de un archivo comprimido utilizando Disarchive y Software Heritage.
| ![[FOSDEM 2025/assets/Guix-Software-Heritage-Source-Code-Archiving-to-th/preview_059.jpg\|300]] | La diapositiva 59 discute un ejemplo de errores, mostrando un problema de desajuste de hash y cómo se aborda en la discusión de los proyectos Guix y SWH.
## Enlaces
[Slides](https://fosdem.org/2025/events/attachments/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment/slides/237921/FOSDEM25-_lctdtLk.pdf)
[Video recording (MP4)](https://video.fosdem.org/2025/aw1126/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment.av1.mp4)
[Video recording (AV1/WebM)](https://video.fosdem.org/2025/aw1126/fosdem-2025-5897-guix-software-heritage-source-code-archiving-to-the-rescue-of-reproducible-deployment.av1.webm)
[Chat room(web)](https://fosdem.org/2025/chat/web)
[Chat room(app)](https://fosdem.org/2025/chat/app)