Another issue is "sustained development". I collected over 100 "computer algebra programs" on a CD. I distributed this at a computer algebra conference. All 100+ were academic attempts, usually by small groups or one person. They are amazing programs that will never get widely used.

Mathematics, Maple, Axiom, Maxima and other programs are large, multi-person, multi-year, multi-million dollar efforts with contributions by PhD-level researchers.

Axiom, I estimate, has about 300 person-years, over many years at IBM Research, with an estimated cost of 42 million dollars. People who invented new areas of computational mathematics were primary contributors. IBM sold Axiom and it was a commercial competitor to MMA and Maple. It is now open source (due to the good graces of the Numerical Algorithms Group, NAG)

Magnus, which I was also involved in, is much smaller and very specialized. It was originally developed by government grants but development fell off once that ended. Magnus was developed at City College of New York.

Based on that experience I feel that computational mathematics development requires company backing to develop any well-maintained and well-documented system.

The downside is that companies tend to die in less than 15 years:

"The average lifespan of a company listed in the S&P 500 index of leading US companies has decreased by more than 50 years in the last century, from 67 years in the 1920s to just 15 years today, according to Professor Richard Foster from Yale University."

and that's for LARGE companies. Small companies die quicker.

So what happens to computational mathematics when Wolfram Research (Mathematica) or Cybernet Systems (Maple), etc. dies? Does your MA* research die? Is there suddenly a huge black hole in the middle of computational mathematics? Can you no longer reproduce your results?

Mathematica won't be open sourced when WR fails because software is now considered a company asset. Even if it was open sourced, my contacts tell me that the internals are not well documented. Computational mathematics is REALLY hard to reverse engineer.

Somehow we need to make it possible to maintain, modify, and extend existing systems. This requires a few things, in my opinion.

We need academic (and grant funded) programs that specifically target computational mathematics. The goal is to develop a stream of people who have the necessary background, not to develop a new system.

We need to deeply DOCUMENT the ALGORITHMS so they can be reproduced in any of the existing systems. Theory is fine but programming involves design tradeoffs, such as a choice of representation, available functions, test suites, boundary conditions, reference results, etc. There are a dozen equations for things like the gamma function but some are better than others for implementation.

We need government focus. Computational Mathematics is vital and is fundamental research. We need a "summer of mathematics" workshop that involves all of the players presenting a reasonably unified approach. OpenDreamKit in Europe is doing something big about it now. The U.S. should step up and participate in some official capacity. Computational mathematics benefits everyone and should be an international effort.

I hope that SageMath can bring these things into focus and lead us to a better place.