Skip to content

Commit

Permalink
feat(paper): Add Flemisch paper citation and mention xSDK in the intro
Browse files Browse the repository at this point in the history
  • Loading branch information
cheriimoya committed May 2, 2024
1 parent 23269da commit 5a53261
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
9 changes: 9 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,12 @@ @article{OpenFOAMpreCICE
doi = {10.51560/ofj.v3.88},
url = {https://doi.org/10.51560/ofj.v3.88}
}

@misc{koch2023sustainable,
title={A sustainable infrastructure concept for improved accessibility, reusability, and archival of research software},
author={Timo Koch and Dennis Gläser and Anett Seeland and Sarbani Roy and Katharina Schulze and Kilian Weishaupt and David Boehringer and Sibylle Hermann and Bernd Flemisch},
year={2023},
eprint={2301.12830},
archivePrefix={arXiv},
primaryClass={cs.SE}
}
5 changes: 4 additions & 1 deletion paper/paper.tex
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,17 @@ \section{Introduction}
It is not scalable and highly inefficient to make every researcher to tediously recreate the exact same environment with traditional approaches.
This calls for a more efficient and automated solution.

Attempts were made to solve this situation by using Docker\footnote{\url{https://www.docker.com/}}, a software which describes software environments with the help of text files.
Attempts were made by scientists like Koch et al.~\cite{koch2023sustainable} to solve this situation by using Docker\footnote{\url{https://www.docker.com/}}, a software which describes software environments with the help of text files.
Those text files are made up of imperative commands which are run inside of containers, one layer at a time.
The result are several different layers which are all combines into a single output image that can be instantiated to a running container.
Docker images can be copied to different hosts and should then provide the same environment on different machines.
An issue that arises here, is that usually those images are based on one of the official Docker images\footnote{\url{https://docs.docker.com/trusted-content/official-images/}} all of which bring traditional package managers like \texttt{apt}.
When a user specifies to install the \texttt{python3} package with a traditional package manager today, the package manager could yield python3.8, whereas running the same command two months from now could yield python in the version 3.9.
This could potentially lead to different results when a user wants to only add a single dependency but has to rebuild the whole image, thus rendering it useless in terms of reproducibility.

Another ongoing effort, to at least make it easier to build scientific software, is made by the xSDK community~\cite{xSDK2023}.
The xSDK declares policies that a scientific software framework or library has to satisfy to be officially part of the xSDK ecosystem.

In the past years, the Nix package manager~\cite{Dolstra_2004} and NixOS~\cite{Dolstra_2010}, a Linux distribution built around it, have emerged as promising solutions to address these challenges.
This paper explores the use of Nix/NixOS to improve the reproducibility of scientific software.

Expand Down

0 comments on commit 5a53261

Please sign in to comment.