[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

persistent reproducibility ?

From: zimoun
Subject: persistent reproducibility ?
Date: Tue, 21 Mar 2017 12:15:25 +0100

Hi Guixers,

Disclaimer: my background is about numerical analysis (PDE, Krylov
solver, etc.) and I am currently working in some Core Facility about
biology and bioinformatic (NGS pipelines, flow cytometry clustering,
etc.). Orthogonal communities but same issues. :-)

The typical research workflow is:

- Alice proposes new method and/or algorithm, publishes a paper and
illustrates that by the software `foo'. Let the best case: Alice
provides a Guix "recipe", and all the material is stored in Github
(let say). This software `foo' depends on both `bar' and `baz', one
also in Github and the other one included in the Guix package tree.

- It is easy for Bob to check out and experiment. Guix allows him to
straightforwardly build the bit identical `foo' (all dependencies
included). Nice!! Repeatability is there for free.

- New features are added to `foo', `bar' and `baz'. All the codes
evolve, especially the research ones.

- Now, Joe is implementing the Alice's method; science means
reproducible. And Joe would like to compare his implementation to the
Alice one provided by `foo'. However, how ? The `foo' "ecosystem" has
changed with the new features. Therefore, Joe has to navigate in the
Git tree of the Guix "recipe" of `foo', `bar', `baz' to be able to
produce the bit-identical `foo' used in the initial paper. I mean, it
is what I understand to do, and it does not seem reasonable.

My question is: does Guix provide any mechanism to build reproducible
software over the time ?

Last, `foo' and `bar' are stored in two Github repositories. And they
should disappear.
( I am not talking if it is good or not to use github, right now, it
just is used by many teams of researchers )

Could we used the Software Heritage initiative to maintain a kind of
persistency ?

I do not know if my wishes make any sense.

All the best,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]