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/875a411f-8e40-4e65-8faa-81bf91fbd858n%40googlegroups.com.

Reply via email to