07 December 2009

The story of Sage

William Stein has written a personal account of how he ended up writing Sage (the free software computer algebra system).

For many years, Stein worked on various bits and pieces of mathematical software to satisfy his own research needs. But with just him and a couple of other people working on it, they kept very low expectations for what would eventually become Sage. After all, how could a small group of people match the work of the thousands of engineers and mathematicians who were hired by the proprietary math software companies?

Stein only decided that Sage had to succeed when his license for Magma was terminated, and he realized (1) how insane it was to be dependent on proprietary secrets for math research and (2) how much leverage proprietary software makers had over him and his career:

Isn't it weird that mathematics can be done that way? In 2004, almost everybody in the world doing serious computations with elliptic curves, modular forms, etc., were using Magma. Magma was the industry standard, Magma had won for the forseable future. David Kohel and I were a big reason why. And yet what kind of mathematics is it, when much of my work fundamentally depends on a bunch of secret algorithms? That's just insane. [...]

Anyway, John Cannon's email [...] seriously scared me. I wasn't in any way confident that Sage would ever replace Magma for my work and teaching, and I had big plans involving interactive mathematical web pages. These plans were temporarily on hold as I was drawn into Sage. But there were still there. What John did with that email is tell me, in no uncertain terms, that if I was going to create those interactive mathematical web pages, they couldn't depend on Magma. "This is to formally advise you that your permission to run a general-purpose calculator based on Magma ends." I was scared. It was also the first time I saw just how much power John Cannon had over my life and over my dreams. That email was sent on a whim. I hadn't got any official permission to run that Magma calculator for a specific amount of time (just open ended permission). What John made crystal clear to me was that he could destroy my entire longterm plans on a whim. I looked around for other options, and there just weren't any. Sage had to succeed. But still I was certain that it just wasn't humanly possible, given that I had to do almost all the work, with limited funding and time.

No comments:

Post a Comment