I mean, yes. But, also no.
You do not know me, but you have been an inpiration to me. I came across several of your books during a year of post-bac study. They spoke to me, especially "Algebraic Number Theory,
a Computational Approach". They also steered me toward your home page, and your work on Sage Math. I thought to myself, "yes. yes!"
Though I'm not punk as fuck, I'm definitely a 'walk to your own drum beat' believer, and a skateboarding professor that heads an open source project taking on Mathematica would make an awesome lodestar. I was 32 when I quit a great job at a very well know Wall Street investment firm (back-office, not master-of-the-universe stuff, but definitely a good place to be) so that I could study nothing but math for a year. I should point out, my math grades up to this point were:
- D in my senior year in high school
- C in the only undergrad math course I had to take
So, everyone was like, "You're effin crazy, what the eff are you doing, you're making an effin bad decision..." Etc. Well, it was the best decision I ever made. Two weeks after leaving my job I was in a dorm room with an 18 year old football player (very, very awkward), but a year later I was a class or two away from a degree in math. My wife and I decided to add moving (again), wedding planning, and another thing to our life, so I didn't quite finish a degree. I received a bunch of As and a few Bs. It was a miracle. (No, it was a lot of hard work, and having seen the light which is the beauty of mathematics).
I've thought many, many, many long hours about the issues of open source development and how it might be made sustainable. I've had to, as it relates intimately to the reason I left my job and went off on this new path. I've got a couple ideas that I believe are very realistically workable. In short, the first go I'll be making at one of these ideas is, software is developed by a community which then makes the source code open source but not compiled into programs, and with no beautify logos or easy to use UIs. They then copy right that code for a month and charge non-members a small (think Spotify) amount to have access to the compiled, bundled, UI'ified versions that are encrypted with a monthly key. Then, at the end of the month, that software is all marked as "old", put in the public domain, and the keys are "unlocked". If the software is useful, the price is right, and the user is not a programmer, then they'll hopefully pay $10 or $15 a month even though they could use last months software for free. Also like Spotify, paying this fee would gain a user access to all the communities software. The subscription fees will be allocated to programmers who will be paid to work on software per rata according to some weighted combo of votes from users and votes by community members. Community members are, of course, free to work on whatever they'd like to in addition to that. Community members receive a payout from the subscription, basically whatever subscription revenue there is minus that paid out for paid development (per previous mentioned mechanism) minus operating expenses. You can only have your software in that "repository" if you are a member, and you must buy in to be a member, sorta like a co-op.
So, that was a very sloppy explanation, but hopefully you get the general points. My main point however, is, please don't go corporate. Even companies like Patagonia, though it is a "B-Corportation" for the public benefit, are clearly driven by the bottom line. How else could one explain why they charge $35 for 40 different types of hats. We don't need 40 different types of hats. But, it drives their bottom line, so that's what we get (albeit, in addition to the great things they also do).
"You know what I hate about f*cking banking? It reduces people to numbers..." You know, the line from "The Big Short". It's not just banking. It's any venture that is driven by the profit motive. Pure and simple.
Profit motive => Reduce everything to numbers
Not right away. Not in a loud and crash fashion. Not one person. But systematically, insidiously, creeping, all together, a step at a time, with the flash of amazing marketing departments and the financial soundness of a well disciplined finance department. Whatever it is you think you're doing, will be metamorphosed into the fungible unit of exchange, like something out of a Kafka book, both absurd and meaningless, while at the same time horrifying.
This 'comment' is very sloppily written because it is being written with some urgency because, (god bless HN, where else will I get to randomly interact with Prof. Stein?) I sincerely believe that you have changed the center of gravity in the world and this is an impassioned plea to keep on keeping on when it comes to helping us that are building a future where (given that intellectual property will clearly make up the bulk of our wealth) the wealth is a well tended commons and not a well guarded garden.
(Speaking briefly to the "academic" angle of things. I understand a bit what the atmosphere is like. I'm going through a divorce at the moment, and my wife just successfully passed her major comps exam and is on her way to a Ph.D. from Johns Hopkins in their political theory department. I am very happy for her and wish her the best, but my point is that, I get the pressures in academia to prioritize certain things while other things, which should really be valued and promoted, are totally overlooked or even punished. But, the business world is not the answer.)
That is such a ridiculous constraint. Do they mean that, if I start selling tapped water for $100 a gallon, the government can not provide its citizens with an alternative? Obviously it both can and does in many important areas (water, education, electricity, roads and defence to name a few). The decision on whether government should be active in a market should be based on an analysis of the benefits it can bring to society – be it savings, innovation or equality of opportunity.
I think this would be a waste of academics. Commercial software is not expensive (mostly) because of some secret sauce. It's because delivering a functioning product requires lots of work that is thoroughly mundane and repeatable.
Analogously, one could employ chemists to bottle coca cola or metallurgists to package hammers but that would be just a waste of everyones assets.
Should government make it's own pencils? I don't think so.
Good products require lots of work that is hard to be intrinsically motivated of.
I am not suggesting that the government should be involved in making pencils. But I do think funding independent development of open tools for research, education and other government-funded work is a good idea.
To support my claim, compare the cost of healthcare in the US, where the government relies on the industry to keep medical products and services cheap, with the price in countries where the government provides its citizens with an alternative.
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.