Archiving Research Software

To offer software for reuse over long time periods, it has to be kept executable and to be described understandable.

Software is usually highly dependent on the computing environment (hardware, operating system, compiler, software libraries) for which it was developed. Because of the fast pace in the technical development, computing environments change quickly. Even after a few years, it is possible that software is not executable any more or a storage medium is not readable with actual systems. For long-time archiving of software it is not enough to save source code and executables. Rather is has to be checked and maked sure that the software is executable and so usable. One possible approach is the emulation of computing environments that reproduces a system.

In addition, research software has to be described appropriately to be findable and understandable for potential reusers.



Approaches

Emulation

Emulation aims to reproduce a whole computing environment on a different computer system to keep the included programs executable.

Encapsulation

Encapsulation combines a digital Object (the piece of software) with dependencies and metadata that is important for the access. Metadata shall include information about reference, presentation, provenance, fixation and context.



Projects and Services

The Software Heritage Projekt archives publicly available source code. Source code from public repositories (e.g. GitHub) are archived automatically. It offers the possibility to cite (parts of) source code specifically and permanently.

The University of Freiburg used Emulation as a Service to emulate for example computer games.

The Software Preservation Network of the University of Yale emulates software environments.



Literature

Holzmann, H., Sperber, W. & Runnwerth, M. (2017). Archiving Software Surrogates on the Web for Future Reference. doi:10.1007/978-3-319-43997-6_17 , arxiv:1702.01163

Matthews, B., Shaon, A., Bicarregui, J. & Jones, C. (2010). A Framework for Software Preservation. IJDC, 5, 91-105. doi: 10.2218/ijdc.v5i1.145