Thursday, August 2, 2007

Letter to the editor of the AMS Notices

This was written with William Stein:

Mathematical software has greatly contributed to mathematical
research, enabling exciting advances in mathematics and providing
extensive data for conjectures. Perhaps three of the most well-known
applications of computation to mathematical research are resolution of
the four-color conjecture by Appel and Haken in 1976 (though it is
now reproven without computers by N. Robertson, D. P. Sanders,
P. D. Seymour and R. Thomas), Thomas Hales's proof of the
Kepler's conjecture, and the formulation of the Birch and
Swinnerton-Dyer conjecture, which grew out of extensive numerical
computation.

Open source software has had a profound effect on computing during the
last decade. Careful funding of open source mathematical software
can lead to a lower total
cost of ownership in the research and education community, and to more
efficient and trustworthy mathematical software.

``I think we need a symbolic standard to make computer manipulations
easier to document and verify. And with all due respect to the
free market, perhaps we should not be dependent on commercial
software here. An open source project could, perhaps, find better
answers to the obvious problems such as availability, bugs, backward
compatibility, platform independence, standard libraries, etc.
One can learn from the success of \TeX\ and more specialized software
like Macaulay2. I do hope that funding agencies are looking into this.''

-- Andrei Okounkov, 2006 Fields Medalist
(see "Interviews with Three Fields Medalists,''
Notices of the AMS, March 2007, Volume 54 , Number 3 (2007)
405-410).

The term open source is defined in http://www.opensource.org/,
but basically it means anyone (including commercial companies or
the defense department) should be able to inspect open source software,
modify it, and share it with others.

A key difference between mathematical theorems and software, is that
theorems require little maintenance (other than perhaps submitting an
errata list to the publisher for typos), whereas {\em mathematical
software requires substantial and potentially expensive maintenance}
(bug fixes, changes in the underlying interpreter/compiler, updates
when the underlying algorithms are improved, and so on). Mathematical
research usually generates no direct revenue for researchers, and
likewise open source mathematical software does not directly generate
revenue. The financial support of the NSF (and other organizations)
is thus critical to the success of open source mathematical software.