[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: AMS Notices: Open Source Mathematical Software

From: William Stein
Subject: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
Date: Sun, 18 Nov 2007 13:32:03 -0800

On Nov 18, 2007 12:59 PM,  <address@hidden> wrote:
> David Joyner and William Stein published an opinion piece in the
> AMS Notices raising (yet again) the issue of mathematical results
> that depend on closed source symbolic mathematics. They would like
> to see open source efforts funded.
> <>

Hi, thanks for reading our short opinion and pointing out our opinion
piece on axiom-developer for discussion, and thanks even more for
formulating your thoughts about it.

> They raise the issue (raised here many times in the past) about
> funding open source mathematical software. SAGE is a university
> based project and has a funding model that NSF recognizes. Axiom
> and other projects don't fit any model and neither the NSF nor
> INRIA is able (as far as I know from direct discussions) to
> consider funding open source projects like Axiom, which are not
> supported by standard institutions, such as Universities.
> My direct discussions with the NSF, on several occasions, raises the
> point that the NSF claims that it does not fund projects which compete
> with commercial software. This position is frustrating on several points.

It's tricky how Sage gets any funding from NSF.  I've spent countless painful
hours writing the applications -- some of which were rejected -- and some
that have got some funding, so maybe I'll comment.
To date NSF funding for Sage has meant:

    * specific funding to get undergraduates involved in research with
       faculty, which just happens to involve using and improving sage,
    * hardware -- the computer, whose primary
      purpose is research, but which also gets used a lot by sage developers,
    * conference and workshop support.
    * a 50% postdoc -- Clement Pernet.

The postdoc is by far the single biggest chunk of funding for Sage from the
NSF.  This, as you say, fits very much into the academic context.  What made
hiring him palatable to NSF is that Clement Pernet is doing very interesting
cutting edge work on exact linear algebra and publishes papers about this.
Thus hiring him supports the NSF mission in fundamental research.  It just
happens he will also do work that will improve Sage as well.   So far
NSF has never given us blanket money "for Sage", yet.  I wish they would, but
I don't really see that as being likely.   Much more likely is that
they fund specific
research projects, which have improving open source mathematical software
as a pleasant side effect.   More examples below.

It's worth mentioning that NSF has funded Macaulay2 a lot over the years...

By the way, I was recently at an NSF workshop, and I got the strong
impression that NSF doesn't really "like" funding the purchases of
commercial software
very much.  Also, some NSF programs will in practice actually reject proposals
that say they won't publish the software that comes
out of their work as open source... I had the impression that there is a new
sort of grass roots movement
by actual mathematicians that advise NSF toward supporting open source.
This was very surprising to me, but it's actually what appears to be happening,
very slowly but surely.   This is good news for us.

> First, the NSF funds the purchase of commercial software at universities.
> Thus they explicity fund software that competes with open source.
> Second, (as I understand it) SAGE is an effort to create an open source
> competitor to the current closed source systems.

You are correct.  That is our primary goal, though I much prefer the word
"alternative" to "competitor": "provide a viable alternative to Ma*..."

> I applaud their efforts
> and think this is very valuable. However, I'm not sure how much funding
> they can get from the NSF with such commercially-competitive goals.

I think we can get a drop in the bucket, but it is an important one.
It will take other funding sources besides NSF, or funding other projects
that just happen to have a positive impact on open source software, to
really accomplish what we want.  For example, I recently applied with
several people for a big "FRG" (focused research grant) on L-functions
and modular forms -- if it were funded it would advance
number theory research, but it would also have as a side effect advancing open
source mathematical software.    And there are other funding
source, e.g., tax-free donations, which do help, and have directly benefited
sage already.

> Third, even if the NSF funded SAGE, how would those funds benefit the
> various subprojects like Axiom? Open source is mostly volunteer work
> done in "spare time". While it is amusing to daydream of being paid to
> develop open source computational mathematics on a full time basis, it
> seems unlikely that this could lead to more than just small
> grants. The expertise and continuity needed to do research work
> requires longer term funding.

Great questions and comments.  There aren't easy answers.
One possibility is selling "support"... which could bring in
money to support people who are out of country.

> Fourth, most of the work on open source projects like Axiom is
> multi-national. I don't see that INRIA and NSF have a joint-funding
> model. How could a project like Axiom give grants to people in France
> out of NSF funds (or INRIA-funded U.S. workers)? In my experience,
> this usually involved "visiting scientist" arrangements but open
> source has no place to visit besides a website.

Indeed, I absolutely can't use my NSF funds (for Sage) to pay people in Europe.
This has caused some frustration, but it's the way it is.

> Fifth, Axiom is NOT intended to compete with software like Mathematica
> or Maple. Axiom's goals are long term scientific research ideas, such
> as proving the algorithms correct, documenting the algorithms, following
> a strong mathematical basis for the structure of the algebra hierarchy,
> etc. None of these goals compete with MMA or Maple. The NSF is intended
> to fund this kinds of scientific research but apparently cannot.

It's good that the Axiom goals are so nicely complementary to Sage's goals,
instead of competing with them.

> Sixth, computational mathematics, which currently rests on closed
> source commercial efforts, will eventually suffer from a massive
> "black hole" once the current software dies. Suppose Wolfram Research
> and Maplesoft go out of business. That might seem unlikely but there
> are very few companies that last more than 50 years. Since software is
> now considered an asset it cannot be simply given away. (Even if the
> software was opened-sourced it is poorly documented according to
> people who know the source).  We could have the situation like
> Macsyma, where the company folded and the source code is never
> released. Is this what the NSF sees as the correct long term basis for
> a fundamental science like computational mathematics?

I think you're right to be worried about exactly these things.    Some people
in my research area (number theory / arithmetic geometry) are
worried about this right now in the context of Magma, whose longterm future is
hazy at present.   There are actually many examples like this already, e.g.,
Mupad doesn't seem to be doing so well commercially, and maybe
researchers who have written a lot of mupad code aren't so happy about this...

> Seventh, if not funding the work directly, isn't it possible to at least
> fund things like an 'Axiom workshop' so that open source developers could
> have their travel and lodging paid for by grants? Face-to-face meetings
> would greatly help the development work.

Workshops are a great thing to fund.   Particularly good is choosing a specific
research topic and doing the workshop on that.   E.g., I think there was
an Axiom Combinatorics workshop last summer, which is good.  IPAM (which
is funded by NSF) is hosting a Sage Combinatorics workshop in February,
which they are funding.

Best regards,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]