|
|
|
|
|
by gertlex
2880 days ago
|
|
Regarding "thick archive files or containers" for reproducibility: I'm curious what (at least in your view) the solution to reproducibility looked like prior to easily shareable containers like Docker? (I'm also not sure what a "thick archive" would be.) For a brief window of time, I was aware of colleagues distributing ubuntu virtualbox VMs for providing complex software environments to students, which sounded like it mostly worked. Not sure if such was used to package up reproducible research, too. |
|
So you might create an archive with a whole compiler toolchain and shell scripts / makefiles to invoke it locally on the host machine.
Usually a project would have a build system that auto-generated these archives for any combination of platform / compiler options targeted for support. So you’d choose the MacOS archive if you use a Mac (maybe further separated based on your architecture’s precision and which compiler, etc.)
It leads to a Chinese Menu problem of multiplicity: archive files for X platforms times Y precisions times Z compilers, etc. (especially painful for embedded devices).
It’s a reasonable way to ship the entire build artifacts though.
VMs are a perfectly good way to distribute reproducible research. Though I think containers are the best way currently because of the usability of most container APIs (standard recipes & build experience, managed container repos, etc.).
In principle you could build convenience APIs around thick archives or VMs too, it just seems less common for whatever reason.