From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: persistent reproducibility ? Date: Tue, 21 Mar 2017 12:15:25 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cqHlA-0002RS-GS for help-guix@gnu.org; Tue, 21 Mar 2017 07:15:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cqHl9-00041q-D1 for help-guix@gnu.org; Tue, 21 Mar 2017 07:15:28 -0400 Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]:35663) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cqHl9-00041Z-6i for help-guix@gnu.org; Tue, 21 Mar 2017 07:15:27 -0400 Received: by mail-wm0-x22a.google.com with SMTP id u132so9486109wmg.0 for ; Tue, 21 Mar 2017 04:15:27 -0700 (PDT) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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 ? https://www.softwareheritage.org I do not know if my wishes make any sense. All the best, -simon