I’m happy being at “level 5 reproducibility” for most FOSS projects. What concerns me more is APIs are forever.
- -1: not reproducible
- 0: reproducible only by you, today
- 1: reproducible by others, with your guidance
- 2: reproducible by others, today
- 3: reproducible by others
- 4: reproducible by others, without internet access (package all deps into one binary so no reliance on
- personally I question this. There’s no problem relying on
tqdm==4.64.0 being always available on PyPI servers IMO. I’d prefer defining “level 4” as “no need to read installation instructions – it’s obvious just
pip install thing[all] is needed”. AFAIK truly packaging all deps into one binary is level 5 (below)
- 5: reproducible with Docker
- 6: reproducible with a VM (wrapping Docker in a VM)
- I’d question the value-added of this wrapping
- 7: reproducible on untouched hardware (VM on air-gapped physical hardware kept physically locked)
- preparing for armageddon, are we?