unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kyle <kyle@posteo.net>
To: Simon Tournier <zimon.toutoune@gmail.com>,
	Spencer Skylar Chan <schan12@terpmail.umd.edu>,
	Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: Google Summer of Code 2023 Inquiry
Date: Tue, 04 Apr 2023 14:32:11 +0000	[thread overview]
Message-ID: <0DE0A1F6-58C0-47AD-BBDA-D99E4CD4213A@posteo.net> (raw)
In-Reply-To: <86ttxwvx8q.fsf@gmail.com>




>I do not know what you have in mind with “working satisfiable
>configurations” or with “a variant of the solver”.  To my knowledge,
>this implies some SAT solver.  Well, before going this direction, I
>would suggest to read some output of the Mancoosi project [8].
>Especially this part [9].  From my point of view, the direction “working
>satisfiable configurations” or “a variant of the solver” would break the
>reproducibility of a specific configuration for the general case.  Part
>of the problem about computational environment reproducibility is
>because package manager implements solvers for installing some packages.

Yeah, we definitely don't want a solver for instantiating a profile. We want that explicit already in the manifest.scm. However, my understanding is that the role of an importer is to create a manifest.scm or, more realistically, help a user get started creating it. There will probably usually need to be additional tweaking related to the intended application the computational environment supports. The CRAN importer, for example, cannot yet detect non-R dependencies. So, the profile author has to figure those out for themselves. It's still very useful despite not being perfect. 

>Last, considering all Guix the version fields, I am not convinced it is
>straightforward to guarantee some “nearby” or newer versions.  It can
>only be heuristics working with more or less accuracy; see “guix
>refresh” and all the updaters.

Sure, but as is shown with "guix import cran" as I previously mentioned, it doesn't have to be perfect to be really useful in many cases.

>All in all, I am not convinced Guix should try to implement a way to
>“specify the exact software version”.  Because it leads to false
>considerations that label versions are enough for reproducing
>computational environments, when it is far to be.

It definitely is not enough, but that is where its up to the profile author to flesh out many examples of what their software is supposed to do and verify those still work under Guix.

Having tools to benchmark against existing, but not long term reproducible, software environments would help in this import case because that is the goal with conda. Researchers should not expect to go from "good enough" for now to guaranteed reproducibility without also doing a lot of empirical testing. 

Researchers have to start somewhere and convenience often trumps other considerations at the beginning since most new projects fail. To get researchers to start from Guix, they need either an army of packagers willing to assist them with packaging or for there to be so much convenience in Guix to package new software such that it isn't much of a hassle for the researcher to do it. I hope for both, but feel like working towards the latter would bolster the chances of the former. You could imagine Xapian being used to suggest also additional package inputs just as "guix build -f" already suggests missing scheme modules.


  reply	other threads:[~2023-04-04 15:07 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-07  1:31 Google Summer of Code 2023 Inquiry Spencer Skylar Chan
2023-03-11 13:32 ` Simon Tournier
2023-03-14 10:10   ` Simon Tournier
2023-03-22 17:41   ` Spencer Skylar Chan
2023-03-22 18:19   ` Ricardo Wurmus
2023-03-22 21:44     ` Spencer Skylar Chan
2023-03-23  7:58       ` Ricardo Wurmus
2023-03-30 23:27         ` Spencer Skylar Chan
2023-03-31  0:52           ` Kyle
2023-03-24 18:59       ` Kyle
2023-03-30 23:22         ` Spencer Skylar Chan
2023-03-31 15:15           ` Kyle
2023-04-04  0:41             ` Spencer Skylar Chan
2023-04-04  6:29               ` Kyle
2023-04-04  8:59               ` Simon Tournier
2023-04-04 14:32                 ` Kyle [this message]
2023-04-04 17:15                   ` Simon Tournier
  -- strict thread matches above, loose matches on Subject: below --
2023-03-08  2:33 Spencer Skylar Chan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0DE0A1F6-58C0-47AD-BBDA-D99E4CD4213A@posteo.net \
    --to=kyle@posteo.net \
    --cc=guix-devel@gnu.org \
    --cc=rekado@elephly.net \
    --cc=schan12@terpmail.umd.edu \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).