I've reposted this last message in a separate thread. On Wednesday, April 26, 2023 at 5:05:56 PM UTC-7 Matthias Koeppe wrote:
> Thanks, John. But I think it's more productive to ask: > **What was/is/will be the *purpose* of maintaining the Sage distribution?** > (Historically; as of today; and looking forward by a year or two.) > > Here are some of my thoughts on this question: > > 1. Ease of installation. > > Historically, an important purpose was to make loads of software packages, > including many poorly maintained math software, easy to install. > In particular -- easy to install for a user on a shared machine ("big > department compute server") without root access. > And in particular -- on shared machines with long outdated distributions > ("Department IT installed it when the machine was bought, 10 years ago.") > > As of today, it is plausible that such situations still exist. There are > definitely still "shared compute server" situations (in particular, HPC > clusters) where users cannot use container technology such as Docker and > lxc, and therefore cannot use Linux distribution packaging solutions > (archlinux, debian, ...). Overall I don't think we have sufficient insights > about our worldwide user base to be sure. Here the Sage distribution still > may have a value for users. Another option is non-root installable > packaging: essentially, conda-forge (although nix and guix may be other > options). But as I wrote earlier, there are still loose ends regarding Sage > development in a pure conda environment (note that it is still marked as > "experimental" in > https://doc.sagemath.org/html/en/installation/conda.html#using-conda-to-provide-all-dependencies-for-the-sage-library-experimental), > > and also optional packages are missing. > > Going forward, if the loose ends are ironed out (I'm mixing metaphors for > comical effect) and missing packages added, I think that Sage installation, > use, and development can be fully supported on top of conda-forge. This > takes engagement and work; and this could certainly be done faster if a > decision to abandon the Sage distribution on a specific release / date is > made, because then substantial resources are freed. A time frame of a year > or two could be realistic. > > (I am also working on another deployment path using Python wheels, but > this is much more work than just fixing the remaining conda-forge problems.) > > > 2. Control of dependencies and the "many upstreams - many downstreams" > problem. > > For Sage developers, the Sage distribution is a way to have direct control > over all dependencies -- that's the Sage distribution's role as a > "reference distribution". > > (This role has been weakened since we introduced the spkg-configure > mechanism of working with system packages, of course. This is an activity > that does make sense one package at a time, but details such as how strict > we are in what we accept from the system matter; see Michael's thoughts in > his message.) > > But still the following points apply: > > a) If a critical bug is discovered, we can patch it and don't have to rely > on people and infrastructure "outside the project" to fix things for us. > Of course, we have been very lucky that packagers for many distributions > have been consistently highly engaged with the project; but this is not > something that we can take for granted. > > b) And, of course, more Sage developers can become contributors to the > packaging communities; but there is the real danger that taking care of > both upstream development *and* downstream packaging for the same project > can lead to developer burnout. > > c) There is a danger that our project's endorsing of a particular > packaging solution (e.g. conda-forge) could alienate highly engaged > packagers for other systems. And if left unchecked, it could also lead to > the re-introduction of code that is too tightly coupled with the specifics > of conda-forge packaging. > > > > On Wednesday, April 26, 2023 at 3:52:43 PM UTC-7 John H Palmieri wrote: > >> In an attempt to make this less of a religious war and more akin to >> something like a rational discussion: >> >> - The status quo is that we include Python3 and gcc. If you want to argue >> for their removal, you need to provide evidence that this will not cause >> problems for people on supported platforms. What's the evidence? In >> addition, what sort of evidence would convince you to change your mind and >> admit that these packages need to be kept for a while longer? >> >> - On the other side of the coin, if you have opposed removing these >> packages, what sort of evidence would convince you to change your mind and >> admit that these packages can be removed from the Sage distribution? >> >> >> On Wednesday, April 26, 2023 at 3:27:36 PM UTC-7 Matthias Koeppe wrote: >> >>> On Wednesday, April 26, 2023 at 1:46:41 PM UTC-7 Dima Pasechnik wrote: >>> >>> On Wed, Apr 26, 2023 at 9:06 PM Matthias Koeppe >>> <matthia...@gmail.com> wrote: >>> > 2. I'm not in favor of chipping away 1 package at a time in the name >>> of unsubstantiated, vague notions that a package is "ballast slowing down >>> Sage's progress". >>> >>> It's not vague, it's very concrete. It has been done in the past, cf >>> e.g. R/rpy2, tar, etc., it can be continued just fine. >>> >>> >>> Right, each of these was separately and concretely substantiated with >>> facts. >>> - tar was dropped after it was found that on all supported platforms, >>> the standard system tar did the job. >>> - R/rpy2, as I just explained in a message above. >>> >>> For context for the general readership of this list: >>> gcc/gfortran/python3 are directly tied to what platform support we can >>> claim (note that gcc/gfortran are the same package except for how the >>> scripts are called). >>> I document this platform support in the release tours (see >>> https://github.com/sagemath/sage/wiki/Sage-9.8-Release-Tour#sources) >>> based on the tests that run on GH Actions. Changes to platform support of >>> the Sage distribution are tracked in >>> https://github.com/sagemath/sage/issues/32074 >>> >>> -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/a38e450b-27df-4cbe-b98c-e0c7261a90d9n%40googlegroups.com.