
Figure 1
Project hand-over illustrative summary.

Figure 2
Software stack dependencies: “Tower of Doom”.

Figure 3
Project hand-over illustrative summary for a larger project.
Table 1
Checklist for sustainable research software hand-over of small projects.
| SMALL SOFTWARE PROJECT HAND-OVER | ||
|---|---|---|
| ▪ | Minimal Requirements | |
| ▫ | Code availability | Where are source code, data and configuration files? |
| ▫ | Code ownership | Who owns the software and who holds rights? |
| ▫ | Execution environment | What hardware and software stack is required? |
| ▫ | Working example | How are the features of the code producing what results? |
| ▫ | Minimal documentation | What does a new developer need to know at the least? |
| ▪ | Optional Recommendations | |
| ▫ | Public release | Is a public open-source release possible? |
| ▫ | Version control | Are revisions of the software automatically tracked? Where? |
| ▫ | Basic code cleanup | Are constants, dead code and hard paths removed? |
| ▫ | Reproducible execution environment | Is a (virtual) machine back up available? |
| ▫ | Integration into larger project | Is inclusion into a larger project possible or planned? |
Table 2
Checklist for sustainable research software hand-over of large projects.
| LARGE SOFTWARE PROJECT HAND-OVER | ||
|---|---|---|
| ▪ | Minimal Requirements | |
| ▫ | Software license | Has a suitable (and compatible) software license been chosen? |
| ▫ | Code ownership of contributions | Who owns which parts of the code? |
| ▫ | Access to project resources | Are full permissions to all project resources granted to at least two persons? |
| ▫ | Management of development branches | Are there unmaintained development branches? |
| ▫ | Stable main branch | How is stability of the main branch ensured? |
| ▪ | Optional Recommendations | |
| ▫ | Division of responsibilities | Do all parts of the project have a responsible maintainer? |
| ▫ | Code maintainability | Is continuous integration/testing/benchmarking utilized? |
| ▫ | Changelog | Are the core changes of the releases tracked in a changelog or release notes? |
| ▫ | Code of conduct | What are the central points of the code of conduct and why? |
| ▫ | Contribution policy | How are contribution policies communicated? |
