On Tuesday 8 October 2024 at 13:20:54 UTC-7 marc....@gmail.com wrote:

On Tuesday, October 8, 2024 at 1:23:55 PM UTC-6 Nils Bruin wrote:

 - the examples we have of bits of software  developed as part of sage that 
ended up as library components of other projects are peripheral, 
interfacing parts that were spun off into independent libraries.

 - we don't have examples of core functionality of sage getting adopted as 
a component of another project


The most obvious reason for this is that it too hard for a project to adopt 
core functionality of Sagewith the current organization of Sage.  Making 
that easier was one of the main motivations for the modularization 
project.  So this is circular reasoning.


Indeed, it being hard to use the sagemath core in other projects would be 
an obstacle to doing so. However, it is not obvious to me that this is the 
only obstruction. It could be that there is simply no demand, regardless of 
how easy it is. And, as pointed out, licensing could be another 
obstruction. So it seems to me that the opportunity of benefit to sage from 
use in other projects is an unknown quantity at the moment.

On the other hand, it seems there are other ways in which making sage more 
modular may bring benefits. As you're pointing out, sage still fits within 
10GB in source, so it looks like sagemath could just be one pypi package. 
And yet, a debian packager is enthusiastic about being able to do it in 
smaller bits. 

Personally, I've seen sage develop as this monolithic, tightly interlinked 
library, where even the order of imports is delicate because of 
circularities. It seems to me that splitting that up comes at a 
considerable cost to actually perform. Particularly if, in addition, we get 
extra load imposed because all doctests now have to declare their 
prerequisites.

To get buy-in from a lot of other developers, there will need to be a clear 
and obvious benefit to implementing this modularization. I think it will be 
much easier to get that buy-in by exhibiting some sure or nearly sure 
pay-off from the investment. The hope for a post-fact pay-off in the form 
of code reuse will probably be a bit too nebulous for many developers to 
put up with the extra costs.

-- 
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/463f8081-b2a0-4160-a58f-85324cce4f30n%40googlegroups.com.

Reply via email to