
The Origins of SageMath; I am leaving academia to build a company [pdf] - acidflask
http://wstein.org/talks/2016-06-sage-bp/bp.pdf
======
ddumas
I'm glad William included slide 10 calling attention to the hostile and
insulting attitude Wolfram Research has toward mathematicians and reproducible
science in general. (I think some of Sage Math Inc's other closed-course
competitors likely have similar attitudes, but Wolfram Research seems to be
the worst.)

"You should realize at the outset that while knowing about the internals of
Mathematica may be of intellectual interest, it is usually much less important
in practice than you might at first suppose. Indeed, in almost all practical
uses of Mathematica, issues about how Mathematica works inside turn out to be
largely irrelevant. Particularly in more advanced applications of Mathematica,
it may sometimes seem worthwhile to try to analyze internal algorithms in
order to predict which way of doing a given computation will be the most
efficient. But most often the analyses will not be worthwhile. For the
internals of Mathematica are quite complicated."

Reference:
[http://reference.wolfram.com/language/tutorial/WhyYouDoNotUs...](http://reference.wolfram.com/language/tutorial/WhyYouDoNotUsuallyNeedToKnowAboutInternals.html)

For comparison, if you want to audit the Sage Math algorithms that your
research depends upon, all you need to do is fire up a text editor (or browse
their github). And you won't find any statement in the Sage Math docs telling
you not to bother because you're too dumb to understand what you're reading
anyway.

~~~
bitwize
This is why when Big Bang Theory debuted, I thought Sheldon Cooper was
specifically supposed to be a parody of Stephen Wolfram.

In math, how you came by the results you came by is _always_ relevant. Don't
tell mathematicians they don't need to know that. It's their _job_ to know
that.

~~~
carlob
Well, no. They are not at all alike. Stephen Wolfram has a lot more _people
skills_ than Sheldon Cooper. Sheldon Cooper is the stereotype of the Asperger
scientist who succeeds despite his inability to interact with people, while
Stephen Wolfram has been at the helm of a tech company for 30+ years, and
that's not something you can really do without having to interact with other
people.

~~~
x0x0
An acquaintance who worked directly for him would disagree with you.

~~~
carlob
I still do and I beg to differ. I'm not saying he's the most personable human
being I've met but he's certainly not autistic like Sheldon.

~~~
gohrt
While you are here, would you care to offer any other diagnoses of people
you've never met or who don't actually exist?

------
dharmon
This story reminds me of Prof. Tim Davis of Texas A&M, formerly Florida, who I
heard had a hard time getting tenure, after making the software and
mathematical world a much better place.

He (and his group) developed CHOLMOD and UMFPACK and other sparse solvers used
everywhere. Basically, when you type A/b in Matlab, it calls his code.

It was an incredibly challenging task going from sort-of/kind-of being able to
solve linear systems to where we are today. Hardly anybody thinks about it.
Again, you just type A/b, even when A is poorly conditioned. You can write a
crappy solver in less than 100 lines of code, but if you read his papers,
building a rock-solid solver was a very difficult task.

Unfortunately this kind of work is important, but pretty thankless.

~~~
sampo
> _when you type A /b in Matlab_

x = A\b gives the solution to Ax=b, and x=b/A gives the solution to xA=b. But
when would you type A/b ?

~~~
ves
He definitely meant backslash.

------
cs702
It's SHAMEFUL that academics like Stein who dedicate their lives to developing
amazing open-source software do not get funding and frequently fail to get
tenure. These individuals truly are making the world better!

~~~
algeom
Most academics do not get funding or tenure. Most funded academic
mathematicians lose funding at some point. The funding rate for NSF grants in
mathematics is certainly less than 33%, and one can only submit a standard
proposal once per year. The competition is FIERCE. (I've been on panels: it is
terrifying to see who doesn't get funded.) Ask any mathematician -- theorem
prover or software writer -- about excellent people she knows who have lost
their grants. You will instantly get multiple examples.

Mathematicians who write software are no more likely to be "truly making the
world better" than those who prove theorems and teach hundreds or thousands of
students every year.

I'm not saying anything about Stein here. He's a rare mathematician: strong on
theory and practice, a passionate advocate for his causes, and a respected
teacher. But there is a danger of missing the real point here -- most good
things don't get funded or recognized. This has gone on for centuries. The
funding situation now in the US (for both theory and practice) is better than
it has been almost everywhere for almost all time.

~~~
douche
It seems trivially obvious that a better use of funds at many universities
would be paying for actual academic research at a few hundred K per year, vs a
big-name football coach, with all the associated staff, assistants, equipment,
etc, for tens of millions per year.

~~~
niels_olson
Except the ROI on the football program is obvious and huge compared to
literally any department at the university.

~~~
tmptmp
Since when it has become acceptable that the goal of academic institute
is/should be dirty ROI? And then why just football? Start funding cabaret,
rave parties and poll-dance events as they surely will have more ROI.

Sports has been the undoing of US education in schools [1] earlier and now it
seems even in higher ed. The sooner they get rid of sports from educational
institutes the better for them.

[1] [http://www.theatlantic.com/magazine/archive/2013/10/the-
case...](http://www.theatlantic.com/magazine/archive/2013/10/the-case-against-
high-school-sports/309447/)

~~~
gohrt
High school is not the same as college.

Also, The Atlantic is not a reliable source. It prints garbage like this:

"Football at Premont cost about $1,300 a player. Math, by contrast, cost just
$618 a student."

even though everyone at the school takes math, very few play football, and not
everyone involved in football is a player.

~~~
tmptmp
>>Also, The Atlantic is not a reliable source. It prints garbage like this:

Atlantic may or may not be a reliable source. What about this? A coach is
given a whooping $7,004,000 salary.

Michigan head coach Jim Harbaugh is in his first year with the Wolverines and
sits behind Saban with a $7,004,000 total pay. [1]

[1] [http://www.si.com/college-football/2015/10/08/highest-
paid-c...](http://www.si.com/college-football/2015/10/08/highest-paid-college-
football-coaches-salaries-list-nick-saban-jim-harbaugh)

------
bluenose69
Setting up a company can help because it will let other researchers support
the project by buying the software on research grants. A grant can also pay
for consultant-style improvements to software. It doesn't really matter if the
software is also being given away for free. The important thing is to have an
invoice to give to the university financial services staff.

I'd prefer it if the granting agencies supported this sort of software
infrastructure directly, but, lacking that, a company is a way to hire people
to tackle some of the weaknesses of Sage, whether they be in its core
functionality or its UI.

~~~
williamstein
"Setting up a company can help because it will let other researchers support
the project by buying the software on research grants." This is absolutely
correct, and has happened many times now in the last few months (I started the
company itself a year ago).

~~~
peterarmstrong
By the way, another way to get financial support for an open source project is
to sell a short tutorial book. For example, the creator of Laravel did this on
Leanpub (disclosure: I'm a co-founder of Leanpub) and did pretty well:
[https://leanpub.com/laravel](https://leanpub.com/laravel) is #7 in lifetime
earnings on Leanpub. (Also, one of the core contributors on Laravel has done
even better: [https://leanpub.com/codebright](https://leanpub.com/codebright)
is #2 in lifetime earnings on Leanpub.) Similarly, the creator of Trailblazer
is doing pretty well recently with his Leanpub book:
[https://leanpub.com/trailblazer](https://leanpub.com/trailblazer) is #9 in
revenue over the past week.

Anyway, my point is that even if you're in a niche, if you are the clear
expert in that niche (say if you created the framework, or in your case, the
software), then a book may be one worthwhile component of a monetization
strategy. If you can sell a $30 book to 4000 people, you can earn some decent
money. (The royalties on a $30 book on Leanpub are $26.50, so multiplying by
4000 results in over $100K.)

~~~
ianai
Even more if you can tie it in with enough topics for a textbook.

~~~
peterarmstrong
Hopefully one day textbook prices can return to a sane level, say between $30
and $80. Today's textbook racket (I don't want to call it a market) is
obscene.

------
hypeibole
For other people confused about the meaning of BP in this context, it means
Benjamin Pierce Fellow.

It appears this talk was given in the context of the Benjamin Pierce
Centennial Conference:

[http://www.math.harvard.edu/conferences/bp/](http://www.math.harvard.edu/conferences/bp/)

~~~
williamstein
Yes, exactly. And I haven't given the talk yet! I'm giving it 2 hours from
right now, and I'm pretty nervous.

~~~
acidflask
I'll be there for moral support, if I'm allowed to crash!

~~~
williamstein
Please come!

------
maweki
The problem with Sage, while it's an amazing piece of software, that it is
abysmally documented. As is maxima. Sure, there's an example on how to do
integration and anything on a high-school level but every time I wanted to do
something a little bit more complex, I was completely lost. I found the
Mathematica documentation to be miles ahead.

~~~
williamstein
You are of course completely right. Almost everybody who works on Sage does so
as part of some research mathematics project, often in their spare time, and
they just don't have time do the massive amount of work to bring the
documentation to the same level of user friendliness as Mathematica. I hope
SageMath, Inc. will be able to makes strides to improve documentation for open
source math software. Also, this by Greg Bard is a bright spot:
[http://www.gregorybard.com/Sage.html](http://www.gregorybard.com/Sage.html)

~~~
zhte415
A quick fix for this would be recording screen while working on something. And
promote work you're doing in the process.

------
noobermin
I hate to be that guy, but this needs to be said. The guy on page 15 was
right. Sage _should_ have at least put a little more effort into their
applications, because if it did, it would be much more popular and thus more
developed.

Back in 2011 or so, as a young undergrad, I latched onto sage and used it for
an undergrad research project. My BS was from a tiny university (one year, I
was the only Physics major in the school)..and I tried to turn all my friends
and profs onto sage, being small meant there was no dept. standard, so I tried
to impress it on the dept. (3 people really) but they stuck with mathematica
because sage didn't even have an easy to use ode solver! For pete's sake... I
understand that sage is a niche project for the math community, but if that's
the case, that's the only place you'll find funding and devs from.

This is often said here amongst the startup nerds: make sure you have an
audience willing to pay. Hey, many of us in the "more applied community" would
love to have a FOSS tool that rivals mathematica, we exist! But it needs to do
things well, or at least well enough that in linear combination with the fact
that it is open source, the overall goodness vector for the project's value
has a timelike norm. Then, we'd clamor for it, you get downloads, and one day,
the funders will go, "hey, that's good shit right there, I better be a part of
it!"

They don't need to do things for others, or for others' interest. But then, no
one should be surprised when such efforts don't get funding. I mean, doing
something niche implies that less people will be interested which implies that
less people will fund it, right? It's almost a direct consequence of choosing
to serve a niche.

~~~
paulmasson
As a developer who has recently begun contributing to SageMath, I have to
concur with this comment. It's taken me some time to realize the extent to
which Sage is geared toward pure mathematicians. The recent changes, for
example, in Sage's piecewise() function have made it much less friendly in
numerical evaluation than Mathematica's Piecewise[]. If Sage is to have a
wider audience, transitions between symbolics and numerics need to become much
more expedient.

Perhaps I can help in making that happen. And so might other people reading
this thread!

~~~
williamstein
Please, please help! We _desperately_ need input from you and people with
similar numerical/applied experience. Sage is geared toward pure math, only
since that's the backend of nearly all the contributors. But our mission
statement has always made it clear that we very much want Sage to be of value
outside of pure math.

------
phamilton
William and I both presented at a RethinkDB meetup this last fall
(SageMathCloud leverages RethinkDB changefeeds in awesome ways) and I got to
talk to him a bit about some of these frustrations. It really is a rough spot
to be in and I wish him all the best.

~~~
williamstein
Every time a user types anything into any document in SageMathCloud, RethinkDB
changes propagate those changes to all other users of the document. We use
RethinkDB heavily at all levels of SageMathCloud.

------
gtycomb
Prof. Stein's earlier post that had appeared here on HN
([http://wstein.org/mathsoftbio/history.pdf](http://wstein.org/mathsoftbio/history.pdf))
is enormously absorbing reading also. It has much more to tell about the
significant challenges that stand in the way of developing high quality open
source math software.

------
williamstein
[https://youtu.be/6eIoYMB_0Xc](https://youtu.be/6eIoYMB_0Xc) is a screencast
from the actual talk, including many questions at the end.

~~~
p4bl0
Thanks. A lot of the important questions not addressed in the slides are
answered starting at
[https://youtu.be/6eIoYMB_0Xc?t=3041](https://youtu.be/6eIoYMB_0Xc?t=3041).

------
doug1001
Mr Stein released the first version of SageMath some time ago--not sure how
long but maybe 2007.

among other things, SageMath reconciled the confusing namespace soup that is
scientific python (numpy, scipy, and matplotlib--three brilliant libraries
with partial overlap in functionality and in package names) which SageMath
gathered (along with other libraries like SymPy) and put them under a single
rubric, 'SageMath'\--one (large) install and you have all of scientific
python.

SageMath also included a notebook

seems not such a big deal now with Anaconda and Jupyter notebook, but in 2007
it certainly was.

------
fsloth
Does make sense - academia is about theory, businesses are part of
implementing end user solutions. most of academia runs on a tech stack
delivered by commercial entities anyway. Building products is not as much
about creativity as delivering a fixed product with a service plan and support
chain in addition to product development. Companies have various operations to
create full fledged products - academia can supply only the r&d part. And this
is a good divisionoflabour, IMO.

~~~
banach
What you are describing is the status quo, but it is certainly possible for
government to fund software development. As William points out in his
presentation, it is already being done indirectly through software license
purchases. I think it would be interesting to see what academics could achieve
if they were offered some modest grants aimed at developing and maintaining
viable open-source alternatives to all commercial software for which
government is currently paying license fees.

~~~
fsloth
"I think it would be interesting to see what academics could achieve if they
were offered some modest grants aimed at developing and maintaining viable
open-source alternatives to all commercial software"

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.

~~~
banach
Academics already perform a lot of repetitive and mundane work (e.g. teaching,
writing grant applications). A fallacy of the current academic climate is that
academic results must be novel. This has lead to pathological behaviour where
researchers flood publication venues with incremental results portrayed as
breakthroughs. Performing a public service such as maintaining a widely used
software package is at best seen as a second-tier achievement.

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.

------
TJSomething
I like the idea of SageMathCloud. I had a numerical methods class that I took
where we used a web-based Python math environment that the professor was
having his grad students build. It was pretty buggy and would go down
sometimes.

Last I heard, they switched back to MATLAB. Having taught MATLAB, I wouldn't
wish that on anyone. But if SageMathCloud had been around, it would have been
a good option.

------
mungoid
This is why I love sagemath, and open source in general. I cloned the repo a
few weeks ago after hearing him mention how he is mainly the sole developer.
It's a huge undertaking and i know how draining something like that can be for
motivation.

I may not have time to do a lot but i am gonna join in and help as much as
possible. Documentation, bug fixes, whatever. This project deserves it imo

~~~
williamstein
Minor clarification -- I'm definitely not "mainly the sole developer" of Sage.
There are over a hundred people that have contributed to Sage during the last
year, and our release manager (not me) works very hard putting together these
releases. I did most of the work on SageMathCloud though...

~~~
mungoid
Ah yeah my mistake. I worded that poorly and SMC is what I meant. Either way,
great work and the rest of my comment still applies! :-)

------
ssivark
If you're reading this @WilliamStein, firstly, kudos for the whole effort. I
think the providing Sage as cloud math software is a powerful strategy,
especially with the trend of end users preferring low power devices.

I have some thoughts regarding the comment on Slide15 (making Sage good for
some applications): I see that python and Jupyter are very popular for machine
learning and allied computations. Can SAGE leverage this to provide a service
that a large audience would happily pay for -- and then use that to bootstrap
a full fledged mathematical software? (Also, on that note, is there any
coherence between the leaders of Sage and Jupyter?)

~~~
williamstein
I'm reading this. The business model of the company is basically exactly what
you're suggesting. Yes, there is very strong coherence between the leaders of
Sage and Jupyter. (The founder of Jupyter is just to the right near the back
in the picture of Sage Days 1 in slide 16...)

------
qrv3w
SageMathCloud is amazing:
[https://cloud.sagemath.com/](https://cloud.sagemath.com/), for those that
want to try it out. Lots of neat bonus features like Python notebooks, Latex
support, and even terminal access. The free tier works great for most
applications.

~~~
keithpeter
[https://sagecell.sagemath.org/](https://sagecell.sagemath.org/)

Basic interface with no requirement to log in, mentioned elsewhere in this
discussion. Probably best for 'calculator' mode tryouts.

------
jordigh
Will, I have been looking for ways to build a company around GNU Octave too.
If you find a way to make money, please let me know. Matlab is one of the Ma's
that needs a direct replacement. There's so much free Matlab code out there
that needs a free environment to run on.

~~~
williamstein
Hi Jordi! Here's what we are doing:
[https://cloud.sagemath.com/policies/pricing.html](https://cloud.sagemath.com/policies/pricing.html)
I have so far found a way to loose money. However, I _hope_ that if we can
grow usage sufficiently that we'll start making money. You and I are on the
same team.

------
shiven
Good luck and Godspeed!

Academia totally sucks in this deeply ingrained ivory-tower mindset that metes
out rewards/tenure/grants based on outdated performance metrics.

(Excuse the vitriol, former academic here.)

------
arca_vorago
I'm not a math guy, but I am a GNU guy who wants to learn more, and I'm
curious what all the math geeks think about GNU Octave? How does it compare to
matlab and mathematica? Any quitks or catches that make it unusuable for
certain situations? Stuff like that...

~~~
chestervonwinch
Octave is nice, and it compares well with matlab in my experience. However, I
haven't used it in quite some time, as I switched from octave+gnuplot to the
scientific python stack some years ago (and I prefer it immensely).

~~~
arca_vorago
I've heard quite a bit of preference for the python stack, any reasons that
come to mind? Is it just the usability of the language or what?

~~~
travisoliphant
Everyone has their own story around this. For me, the reason I did not go with
Octave when I chose to migrate from Matlab to Python was that I wanted to be
part of a general-purpose language community. Octave had the nice advantage of
being very close to the Matlab syntax --- which has some nice properties (e.g.
easier matrix-math expressions and matrix-building expressions)

However, I felt there would be more innovation around the programming language
itself (think decorators, generators, futures, compilers, and coroutines). The
boundary region between "applied-math-programming" and general purpose
computing requires a lot of sometimes tedious work. Having a general purpose
computing language would mean that more people would be available for that
work.

Even now, one of the principal challenges of NumPy which is the foundation of
the Python scientific stack is that it combines applied math (fft, linear
algebra, polynomials) with computer-science (type systems, data-structures,
and multiple-dispatch functionals). Maintaining all of that with one group of
people is difficult.

If we could re-factor the NumPy code base into 1) a data-declaration type
system --- i.e. look at datashape.pydata.org which is a generalization of
dtype, 2) a multiple-dispatch generic function system (the ufuncs) and then 3)
a container object. These could all be maintained by separate groups (and even
#1 and #2 could be pulled into the Python language itself). See the libdynd
project for a reference example of what it could look like.

Then NumPy could be maintained as a set of math libraries on top of that.

Then, it would be relatively straightforward to build the octave DSL on top of
the Python computing stack and we would be able to share work.

~~~
tanlermin
I can't overplay the importance of a octave like DSL.

Julia is gaining marketshare and mindshare among grad student not just due to
its speed, but because it is a more fun and intuitive environment in which to
code mathy stuff.

These people will in turn filter into industry and if not them, then atleast
their code.

Also macros. As Julia gains more utility for run of the mill data science, Its
Dplyr like DSL abilities will be very attractive.

Do you see this type system and generic function library as useful for general
purpose programming as well? How would that play with mypy and type hints?

------
chestervonwinch
What is the difference between running sage math vs ipython / jupyter and
importing all the relevant mathematical packages?

~~~
sdenton4
There's a lot more stuff in sage, like good support for graph theory and group
theory, which iPython doesn't even touch. It also wraps a number of other
pieces of excellent open source projects.

~~~
chestervonwinch
I see. I've always thought of sage as ipython+sympy+numpy+matplotlib+scipy ...
sort of an enthought type of deal.

~~~
hasch
sagemath is such a distribution, but also a rather thick layer of algorithms
on top of that. many of them are actually written in cython, to make them fast
and to have a good binding with those libraries, etc.

~~~
mseri
Also a syntax pre-parser to support more "standard" mathematical notation (one
among the many: exponentiation using ^)

------
infinity0
I hope they improve their software development practises. Packaging SageMath
for Debian has been impossible; they use about 100 dependencies and have re-
invented their own internal package manager to build all of these with sage-
specific patches.

~~~
williamstein
In 2007, Tim Abbott (before founding ksplice and zulip) beautifully and
properly packaged Sage for Debian, and in fact Sage was included in Debian
standard! Unfortunately, he stopped working on the project (when he started
those projects), and of course we had no money to hire somebody else to
maintain what he did. If I had money, it would be a total no brainer to spend
it on supporting packaging SageMath for Debian. Your remarks about it being
impossible because of our package manager and dependencies aren't correct,
because things we the same in 2007.

~~~
infinity0
More details here:
[https://wiki.debian.org/DebianScience/Sage](https://wiki.debian.org/DebianScience/Sage)

It would be great if you do pay someone to work on this, but please also keep
in mind my points about _continual costs_. To reduce these, Sage upstream
(you) does have to change some of its practises.

~~~
iguananaut
I'm actually one of the few people being paid to work on Sage, and this is one
of the tasks I have interest in.

Although my personal work is more focused on Windows support for the time
being, this is definitely on the docket. We had a workshop about two months
ago in France focused specifically on packaging Sage, and there are some
excellent folks from LogiLab who are making serious progress on the Debian
packing. I hope to circle back around to that myself after I've made more
progress on Windows.

~~~
infinity0
Great! Could you elaborate what LogiLab are doing? There is creating .debs,
and there is creating a .dsc source package for inclusion into the official
Debian archives. If you guys want to do the latter, you should talk more to
the other people mentioned here:

[https://anonscm.debian.org/cgit/debian-
science/packages/sage...](https://anonscm.debian.org/cgit/debian-
science/packages/sagemath.git/log/)

The main barrier at the moment, is that sage patches many dependencies. It is
better to upstream those patches, not only because it's good engineering
practise, but also because it's unlikely that Debian policy (in practise: the
admin, infrastructure, and security teams) would allow us to include (e.g.) a
duplicate maxima-with-sage-patches in Debian, just to satisfy Sage.

OTOH if you "just want to" create .debs, the task is much easier. But then
there's no chance of it entering Debian officially.

~~~
iguananaut
No, the goal is to have it actually in Debian. One argument that's been made
against this is that Debian moves to slowly, and an old (but supported!)
version of Sage is not useful to its current core user base of research
mathematicians who often need the bleeding edge and/or are developing new code
directly in Sage.

My counter argument is that we want to expand Sage's user base beyond a small
core of researchers, and improve its usability as a Mathematica replacement
for students and some scientists who are less interested in things like
bleeding edge combinatorics research (they _might_ be but not necessarily the
majority). As a Mathematica replacement Sage isn't there yet, but it's good to
get a head start on making easier to package and install, as part of that
effort. Like for me, if it can solve some differential equations for me and do
some integrals I don't care if the version I got through apt is a couple years
old.

As for the upstream issues part of the problem there is that some of the
upstream dependencies of Sage refuse to accept patches needed for them to
integrate with Sage. That's a long story. I think the best approach there,
which has already been tried in past approaches to patching for Debian, is to
maintain Sage-specific forks of that software that include the necessary
patches (IMO they should also be swappable with the originals via update-
alternatives if possible). As far as I know there's nothingf legally
preventing that, but more the effort involved in maintaining a fork and a
package for that fork.

In the long term, I think, it would make sense to completely replace and
rewrite some of the code that these external dependencies are used for. But in
many cases there's an enormous amount of work involved, and that would only be
possible with significant funding. And quite possibly not worth the effort
compared to other ways that effort could be spent.

~~~
infinity0
Perhaps we should continue this by email - you can contact me at
infinity0@debian.org

> Debian moves to slowly [..] My counter argument is that we want to expand
> Sage's user base [..]

Beyond that - "too slowly" applies only for "Debian stable"; and users that
are OK with less stability can use "Debian testing". Usually this is quite
bug-free; things only enter testing if it's been in "Debian unstable" bug-free
for 5-10 days.

It's also much easier to get your software into Ubuntu, if it's already
available in Debian testing/unstable - and that would likely expand your user
base quite a lot.

> some of the upstream dependencies of Sage refuse to accept patches [..] [we
> could] maintain Sage-specific forks of that software [..] swappable with the
> originals via update-alternatives if possible [..] [or] completely replace
> and rewrite [it] [..]

Yeah, the situation is complicated. We could try different approaches for each
dependency too, and perhaps some of them will change their mind. Debian does
(on purpose) make it quite high-cost to maintain forked packages, in the sense
that we would have to argue our way through many layers of admins of different
systems, to incentivise us to get patches accepted upstream.

When you have time, could you write up the details of the situation on your
end? Something similar to the wiki page I posted earlier - or you could also
just edit that directly, if you wish.

~~~
williamstein
I also definitely want Sage in Debian, and don't think the "Debian moves too
slowly" argument is valid anymore for Sage. It was a compelling argument in
2007, as mentioned elsewhere, but Sage is much more mature now. infinity0 --
thanks for your encouragement from Debian!!

------
macawfish
I love Sage! I used it to find this fractal:
[https://vimeo.com/155587929](https://vimeo.com/155587929)

------
emmelaich
Good luck to William.

I have another perspective though; I knew Allan Steel (Magma guy) as an
undergrad at Sydney University. He is an extraordinarily smart person and
humble and genial as well.

Everyone should be thankful to him and the University of Sydney for having the
wisdom to fund the development of Magma.

~~~
williamstein
Allan Steel is awesome!! I really like him and have learned so much from him
-- it's one reason I put his picture up for Magma in that slide. (I think you
might be overestimating the extent to which U Sydney funds development of
Magma.)

~~~
emmelaich
Quite possibly! Just after this I had a read of the Wikipedia page of Magma
and it says that it is funded on a cost recovery basis only.

------
et2o
Why did he have to leave academia to start a company if he has tenure?

~~~
acidflask
As Stein explains in the slides: because he couldn't sustainably pay people to
work with him on SAGE, and there is only so much you can do alone.

~~~
et2o
But you can be a professor and also start a company simultaneously

~~~
williamstein
I have tried for a while now, and I thought I could do both. But... (1) It is
difficult on a personal level--for example last month SageMathCloud got hit by
a major DDOS attack 15 minutes before I had to teach a class. I have family
and though I love to work, there are only so many hours in a day. (2) There I
am at a big old state university, and there are many complicated byzantine
conflict of interest and IP rules, which have been a pain to navigate, and our
university commercialization office isn't the best. (3) Investors greatly
prefer that the person/company they are investing in is not just a side
project for the person running it. All that said, the mathematics department
at University of Washington is full of supportive faculty; I'm doing what I'm
doing more for the people I want to hire than just for myself.

~~~
Cyph0n
Why not take a leave of absence to at least get the company started and
acquire some funding? After that, you could just have a consulting role with
the company.

~~~
williamstein
I did during my 2014-2015 sabbatical. Building a successful company is vastly
more difficult and demanding of attention than I could have imagined. Maybe
I'm just not as good at doing multiple difficult things at once as other
people.

------
keithpeter
So is the business model likely to be similar to that of RStudio where
organisations can buy an annual 'commercial licence' to support the project
(in _addition_ to the GPLed version being freely available as mentioned
below)?

~~~
tamana
Free software , paid hosting

------
FLengyel
All too familiar. I am reminded why I stopped writing software for academic
research. It's considered low-academic-value work, on a par with system
administration or I.T. helpdesk work.

------
Ericson2314
This is a prime example of the tragedy of the commons with FOSS. People wonder
what academic or corporate incentives need to change, but I'd argue in many
cases this work lies between research and business and that's OK. I think the
closest physical-world analogue is civil engineering of public works, and we'd
be wise to make something of this (in the US they perhaps both underfunded,
hmmm).

------
crb002
Congrats. I have mixed feelings about Sage. I regularly shell out to Python
for many of the underlying libraries, but I rarely use the Sage GUI.

------
aerioux
Question: why would anyone Sage > Magma (even though it's now a company. i.e.
since there already is a clear and ahead forerunner?)

~~~
cottonseed
Magma is closed-source.

~~~
acidflask
See Slide 4 for why it's important to be open source.

TL;DR: Researcher A finds things he wants improved in Magma (closed source)
but can't. Researcher B tries to write improved FOSS implementation, but lost
his job, likely in part by spending too much time writing said code and not
doing other things like writing papers. Researcher A moves on and has a
successful academic career. Moral: writing FOSS can cost you your academic
job; it's safer to find something else to do.

------
arghbleargh
Wait, so will Sage still be open source?

~~~
williamstein
Absolutely YES. Sage is and will always be 100% open source. To ensure this,
the GPL copyright is spread amongst over 500 people. Also, the software
written by the company SageMath, Inc. is also completely open source
([https://github.com/sagemathinc/smc](https://github.com/sagemathinc/smc)).

~~~
dorfsmay
This is great!

What will be the source of revenue? Dual-license? Support?

~~~
williamstein
It's explained here. Sage itself is 100% open source, but we have a cloud
hosted environment people can pay (a very reasonable amount) to use.
[https://cloud.sagemath.com/policies/pricing.html](https://cloud.sagemath.com/policies/pricing.html)

~~~
tamana
Please charge an unreasonable amount, to secure a good source of funding for
your work.

~~~
csense
This. $200 for 4 months for 25 users works out to $2 a month per user. You
could double or triple it and still be less than the personal plan.

Those large multiuser plans probably come out of grants, departmental budgets,
etc. So they're likely not all that sensitive to price. Pretend you were still
in academia, and had found online some great cloud-hosted software you wanted
to use in a course, would it change your / your department's decision about
purchasing that software if covering 70 students for a semester cost $400 vs
$800 vs $1000?

------
davesque
Slightly off-topic: Does anyone know if Sage allows for lisp-style meta-
programming like Mathematica?

~~~
sold
It's Python - you can do a lot of meta-programming with it, though unlike Lisp
and Mathematica there's a division between expressions and statements.

------
sgt101
How does the trajectory of SageMath compare to Julia?

~~~
acidflask
This question keeps me up at night, as I presume it does for my colleagues at
Julia Computing. Not that switching to a fully commercial model is necessarily
a bad thing, but Julia Labs, like any academic group, always has to worry
about where funding will come from.

~~~
sgt101
I think that the problem is that the old model (proprietary development) is
pretty unworkable too - but the effects are distributed less starkly. In the
old days we had compilers from various vendors at a range of obsolescence,
source code would work under a particular compiler and the compiler license
was associated with that component. There was no budget for buying a new
compiler for a particular project and maintenance gradually got worse and
worse, meaning things had to be rebuilt eventually. Good for developers, good
for vendors, bad for the bottom line and wider economic development. I wonder
what the right size of operation for implementing, innovating and supporting a
project like Julia is (not what people would dream of, but the operation that
would just about do the job effectively) and I wonder what models could be
created to sustain that kind of operation over the right kind of timescale.

------
bradlys
I hope it goes well, William. It was nice to take a couple classes from you at
UW in 2014.

------
ianai
Just make sure to add in some DoD specific modules and I think you've got a
winner.

~~~
williamstein
DoD is the only organization that is currently providing me with grant
funding... (and not much). Microsoft also donated some money to Sage this
week! And of course there is Google Summer of Code, which is sponsoring many
students to work on Sage this summer.

[Edit: Added Microsoft/Google.]

~~~
ianai
I'm not familiar enough, but is there any path for you make it more marketable
with things like: -some sort of iOS/android app -somehow tying in computing
modularization? I'm thinking like tensorflow or other such things -picking off
modeling tasks as use-cases. I get this from my step dad whose lab work has
been in modeling..well, this:
[http://esd1.lbl.gov/research/projects/ascem/](http://esd1.lbl.gov/research/projects/ascem/)

------
amluto
I wonder if a simplified variant of SageMath / SageMathCloud would make sense
as a Sandstorm app. IPython on Sandstorm is a generally excellent experience,
and the sage notebook is a similar concept.

------
rfurmani
The video is now on Youtube
[https://www.youtube.com/watch?v=6eIoYMB_0Xc](https://www.youtube.com/watch?v=6eIoYMB_0Xc)

------
boulos
Glad to see you take the leap! (I launched preemptible VMs at Google and have
admired your work from afar)

~~~
williamstein
Cool! We use preemptible VMs a lot in SageMathCloud -- they are extremely
useful for big mathematics computations, which are often easily resumed.

------
daly
(disclosure: I'm the Axiom Lead Developer)

I really applaud William's effort to build a company. I wish him all the best
and will be willing to provide what help I can.

I wrote an AMS diatribe
[http://www.ams.org/notices/201202/rtx120200320p.pdf](http://www.ams.org/notices/201202/rtx120200320p.pdf)
about publishing computational mathematics, making several points, one of
which was that

"Algorithm implementations are proprietary. This needs to end. Science is not
done behind a curtain. At least, it has not been hidden since Tar- taglia and
Cardano fought over solving the cubic."

However, even if the Ma* software were suddenly open sourced it would be
obvious that there was a huge problem.

Mathematics rests on several pillars which are currently absent in
computational mathematics.

Mathematics rests on proofs. Where are the proofs for computational
mathematical software?

Mathematics rests on research papers, books, and references. Where are the
explanations of the theory behind the code? Where are the explanations of the
design choices, such as which version of an equation was used and why?
Computational mathematics needs much more than bare code.

Mathematics rests on courses and students. There may be one course but a whole
focused curriculum on computational mathematics needs to exist.

Mathematics rests on funding. Universities, government, and some government
organizations, like Oak Ridge, are the primary support.

William and I have had several discussions around our common problem of
finding funding. I was the lead on Magnus (Infinite Group Theory) at City
College of New York. We struggled for funding all the time. Axiom can't be
funded because there is no organization to handle receipts. Funding agency
like accountants.

Indeed, accounting is vital to open source funding. I contacted several large
organizations asking them to set up an "open source accounting firm" (OSAF)
which would accept and administer the grants to open source projects. OSAF
would accept the grant, maintain the account, disburse funds for valid
receipts, and maintain financial records for inspection. Such an accounting
organization is needed if an open source project is going to get government or
company funding.

If SageMath could handle the OSAF issue then the various contributing projects
used by Sage could apply for grants from companies or government, knowing that
there is an organization capable of managing the funds. This has the non-
trivial side benefit of making SageMath the primary focus.

Oh, and SageMath could take the "overhead" (more than 50% at most schools) for
"paperwork". My provost lived rather well on the grants.

~~~
williamstein
Thanks for posting. (1) I strongly agree that the problems of rigorous
computational mathematics are far, far deeper than anything I even begin to
hint at in my talk. It's daunting. (2) I think
[http://www.numfocus.org/](http://www.numfocus.org/) \-- a new org I think
Travis Oliphant co-founded -- may be an attempt to solve some of the
accounting organization issues. What do you think of what they are doing?
Maybe the best thing is to work with them.

------
rodionos
Not being familiar with the software itself, but how is starting a company,
which is just a legal interface around the effort, would advance the effort?
Several comments here indicated that documentation was an inhibitor. Would the
company structure fix that?

------
master_yoda_1
Thanks for doing this.

------
penglish1
Best of luck! Sage is fantastic, and the world needs it.

------
RhysU
Jack left?

~~~
zzazzdsa
Yeah, as of a month ago he works at Google.

Source: current Stanford PhD student

