Also, what is Fateman's problem? His constant negativity is really grating. I used to experience it when I was more involved with Maxima. I don't know if he thinks his cynicism is helpful or not, but all it ever did was make me unhappy.
I also know that some fields like ANNs (AI) research rely heavily on automatic symbolic differentiation, although I'm not sure the tools they use.
>>> x, a, b, c = symbols('x a b c')
>>> solve(a*x**2+b*x+c, x) # solve(expr_eqal_to_zero, var)
[ (-b + sqrt(-4*a*c + b**2))/(2*a),
(-b - sqrt(-4*a*c + b**2))/(2*a) ]
If people use sage to get the work done, they are using sage. I don't see intel wanting recognition for every scientific paper ever written on their chips.
"Used as foundational block of the Sage library, used in the following papers: [...]" then list every paper that used sage. No one can't prove that Singular wasn't called at least once in the writing of that paper.
Then sage gets more recognition, singular gets way more recognition and the suits in admin are happy.
There are work horses and show horses ...
Consider the idea of "open source accounting". Here's the idea
in more detail and how to facilitate it.
Open source needs the ability to apply for, receive, and manage grant
funds. The management is key. With grant funds a lot of open source
software can afford to devote more resources to higher quality output.
Find someone with money who wants to change the software world.
Form a non-profit organization to manage grant funds.
Set up an office with, say 3, accountants. With overhead, I estimate it
at about 1/3 Million per accountant, so 1 million per year.
Get the money source to allocate, say 10 million, in "seed funding".
This would be broken into 200 50k grants or even more smaller grants.
Contact open source firms, like Red Hat, Canonical (Ubuntu), the
Open Source foundation, etc. Get them to advertise the grant organization
and kick in some of the 10Mil funding. That way the "seed" funder does
not have to actually show up with the full amount.
Sponsor a "Useless-S-Grant" conference where people who attend
bring their projects, their grant applications, and report results. Set
up a USG journal to record reports. Let conference attendies vote on
which grants should be funded.
Require projects to have realistic criteria, such as a commitment to
develop some coordinated work (e.g. a Jupyter interface), or a new
facility (move their software to an app), reduce their bug list by half,
etc. That is, grant funding needs a REALISTIC grant proposal with
Require projects to have a github account. In fact, get Github to be
one of the sponsoring organizations. Or sourceforge, or GNU.
Require projects to submit progress reports and give an end-of-grant
year talk at the Useless conference.
Have companies give grants (aka pay for, with accounting) for fixing
specific issues with an open source project. They might, for example,
want the project port to their platform, include a specific feature, or
fix a specific bug.
Limit, track, and require receipts for all funds in motion. Handle things
like tax reporting. Limit grants to pay for conference attendence, travel,
hardware, cloud costs, but NOT salary. But allocate "minimum grants"
(e.g. $500 / $1000) to registered students (similar to Google's Summer
of Code grants).
Put pressure on large companies (IBM uses Linux in its Z-series, for
example) that use open source to support the Useless organization.
Find someone who understands the open source money landscape
for advice. I recommend William Stein of the SAGE project. We have
had several discussions about money. He left a University position to
try to save his project once he could not get grants anymore.
The net effect is that open source software would have a well-known
funding source. Projects with grants get publicity which means more
people will want to associate with them. Real progress can be tracked
I am not connected to anyone who knows anything about accounting,
setting up a non-profit, or anyone who knows anyone who could pony
up 10 million dollars for the glory of it. You might.