
William Stein on the struggle for open source funding in pure mathematics [pdf] - adenadel
http://www.ams.org/journals/notices/201805/rnoti-p540.pdf
======
jordigh
I still can't believe that they decided that the best use of their money to
fund "open source" was just to give everyone Magma licenses. I hope they
reconsider that choice some day.

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.

~~~
darkmighty
I'm an engineering student an I can say with property that, although I don't
know much about Sage, a good symbolic math project (in particular Open Source)
is sorely needed. It would be _far_ from a curiosity. Most students use
Matlab/Octave where I study, and all it does is allow for numeric computation.
We've had huge advances in computing and it's been long since numerical
integration was our best aid! More math heavy engineering subjects will often
encounter large symbolic manipulations needed to arrive at some result, and
common sense is that there's no good tool to help with that. Common sense is
there is some limited symbolic manipulation in some HP calculators, and
Wolfram Alpha, although it often refuses to work once you start playing with
larger expressions.

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.

~~~
ivan_ah
Check out SymPy:

    
    
        >>> 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)  ]
    
    

More info:
[https://minireference.com/static/tutorials/sympy_tutorial.pd...](https://minireference.com/static/tutorials/sympy_tutorial.pdf)

~~~
darkmighty
I will, thank you vm :)

------
leongrandote
A personal anecdote, yesterday I was thinking about using Maxima versus R
(using rstudio) for a three session of 1.5 hours (total 4.5 hours) to cover
statistics and probability. Using dice = sample(1:6,100,rep=T) and table(dice)
you hit a wall, there isn't an intuitive way to extract the counts, and you
need something like as.data.frame(table(dice))$freq, which I don't like.
Maxima use ":" for assignment, R can use "=" or "<-". I would like to see "<-"
as a general symbol for assignment and using "=" in maxima and R for other
uses like equations and default parameters. I prefer seq(1,10) or 1:10 to
makelist(i,i,1,10). What I am trying to communicate is that all those open
source projects use different syntaxes and that is not a good design for
users. Mathematica wins in this field because it unifies the syntax. But
Maxima and R are both inspired by Lisp, and Julia has also some macro
capabilities. If someone is able to unify the syntax it would be great. We
have data.frames and data.tables and non standard evaluation and a lot of
concepts that to be useful must be framed in a common context, otherwise we
are doomed to a babel tower, or in more practical terms, users are going to
choose propietary software because it is designed to make them productive.
Python with numpy and pandas is another option but for 4.5 hours I prefer the
simplicity of lm(y ~ x) to create a linear model model to other options. I
don't know if a smooth transition can be established between a simple language
(rich context) and a general one.

------
Syzygies
Bill Stein is a genius programmer, and Sage is quite the accomplishment. I
wish he was more Chern, less Yau. I go to talks where people credit Sage where
I know decades of Singular effort were responsible. (I coauthored a similar
system; this is a life's work one is dismissing.) Sage was just the envelope,
until he could replace the content, in this case unlikely to happen. I wish he
was more interested in fixing this sort of user confusion. Draw your own
conclusions.

~~~
zeth___
Sounds like the old "linux isn't linux, it's gnu/linux/x/firefox" debate.

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.

~~~
wbl
The problem is that projects like Singular depend on listing papers that have
been written with them to get funding and attract contributions. These
represent a very significant amount of work. Sage doesn't handle a lot of
stuff directly: anything more then basic arithmetic often goes to a
specialized package.

~~~
williamstein
It is not true anymore that "anything more than basic arithmetic goes to a
specialized package" (it used to be true back in 2005). The Sage library
itself is nearly a million lines of code and is very deep after contributions
by over 500 people during 14 years--it's far more than "basic arithmetic".

------
williamstein
This is mainly about my struggle for open source funding in pure mathematics.

~~~
dang
Ok, since we have authorial authority for it, we'll put that in the title
above.

------
daly
The thing that open source lacks is a funding source. Is someone here in a
position to know people who have money and want to change the world?

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 known criteria.

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 and measured.

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.

