It's strange that nobody said this already, but a lot of this is caused by
Sage the distribution intertwined with Sage the library too much.
The right way forward is to decouple these two.

I tried to propose something like this years ago, but didn't get far.

In a nutshell, shift the non-Python things, as well as things like vendored
Python, into Sage the distribution project, and use it (or the needed
pieces of it) to build Sage the library.

This way Sage the library can still use more or less the same build system
(but much simplified, e.g. the broken C++ compiler should just trigger an
error, rather than the quest to build gcc/g++), and also Sage the
distribution won't need too much build system modification.
The latter will consume wheels built by Sage the library.
As well, Sage the distribution, ideally, could be replaced by e.g. Conda.

How precisely the partition should look like remains to be worked out, of
course.

Dima





On Fri, 23 Jun 2023, 21:02 Michael Orlitzky, <mich...@orlitzky.com> wrote:

> On Thu, 2023-06-22 at 14:41 -0700, William Stein wrote:
> >
> > WebAssembly is not an experimental linux distribution, and it has very
> > little overlap with linux distributions.  The WebAssembly ecosystem is
> > built from the ground up, primarily on the LLVM (and Rust) toolchain, and
> > an ecosystem of free software that is much more liberally licensed (and
> > smaller) than what is typically in Linux distributions.    WebAssembly
> > is neither better nor worse than Linux distributions; instead it is a
> > different thing that solves different problems.
>
> Yes, I know what WebAssembly is. The phrase "pip installability" is a
> essentially euphemism for running a binary linux distribution on pypi
> using pip as the package manager. On top of the many architecture and
> libc-specific binaries that we'll have to build and ship and secure
> forever, you're also suggesting that we maintain LLVM/Rust
> infrastructure that allows us to ship pre-built WebAssembly targets for
> all of those packages as well.
>
> In addition to the usual sage distribution, and now the pypi
> distribution, that would mean also maintaining our own LLVM/Rust-based
> webassembly distribution. It's recreating exactly what Conda, Nix,
> Guix, etc. all do, except with a more experimental toolchain. That's
> the main problem: we don't have time to maintain our one existing
> distribution, and the installation process is already too complicated
> and confusing. With three, it's going to get more complicated, more
> confusing, and more bitrotten as we all start to drown under the
> increased maintenance burden.
>
> The second issue is that WebAssembly doesn't actually solve the
> problems we have, it only pushes them one layer of abstraction up. You
> can run an entire OS in WebAssembly in a browser sandbox in docker in a
> virtual machine. So what? Now you have two computers to maintain. To
> avoid duplicating work, you start to move more and more things into
> that browser. Eventually, you're right back where you started; things
> conflict, etc. Except now everything doesn't work at half the speed
> that it originally didn't work at. There's no way to sweep these
> problems under the rug, they're fundamental. And instead of focusing on
> them we keep getting distracted by squirrels.
>
> --
> 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/281e65d5ebeb2884b7638a340233db5855d43285.camel%40orlitzky.com
> .
>

-- 
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/CAAWYfq3fjsXJcm7brQtUnNrggqs1EC%2Bd%3DpFgHu-TTBtz5QKf7A%40mail.gmail.com.

Reply via email to