It also stings a little when people say that it's completely obsolete because Matlab itself is "legacy" and we should all be abandoning the language, Octave included... and yet, even though I like numpy and Python and matplotlib and Julia and R, I still find myself reaching for Octave whenever I need a quick visualisation of some data.
Octave’s “business model” is “give away for free an inferior clone of a commercial product”. Why is anyone surprised that that isn’t lucrative? Anyone who has the money to spend on Octave is likely to just pay for Matlab. The defining feature of Octave users is that they want to use Matlab’s library ecosystem but they’re too cheap or broke to pay for a copy of Matlab.
Because Matlab is expensive. Very expensive. Especially if you want to run it on servers or clusters, which is something people want to do. We're talking a single company paying millions of dollars per year for Matlab licenses, versus paying thousands for Octave (this does happen, and some companies do pay for Octave, but very few). My last job consisted in fixing Octave enough to be able to run some classifiers in servers, which would have been prohibitively expensive in Matlab and it would have also been much too expensive to rewrite in a different language. It was cheaper to pay me to fix Octave just enough for this code to run.
As to the "inferior" part, it really depends. Some people really like the Octave-exclusive features, but most are unaware they even exist.
It's a bit of a problem to innovate too much with Octave, because Matlab may decide to implement a feature we did first, but they'll do it slightly differently, forcing us to redo our work to match theirs.
You're crazy if you're spending millions on matlab licenses. Just buy a copy of the matlab "compiler" mcc (not much of a compiler - more of packaging system after compilation to byte code, as I understand it). It's quite expensive, but you only need one license for your whole cluster.
I was unclear, sorry. The companies that I know that are paying millions are more concerned about copies of Matlab that they can give to their engineers (actual engineers that work on hardware, not Silicon Valley "engineers" that work on ads), of which they need hundreds to thousands, and they keep running out of copies to give to their employees.
On the other hand, one of the other major data analysis platforms went the other way: R is a free implementation of S language. TIBCO still sells S-PLUS, but my impression is that R is much, much more popular.
My impression is that Octave always lags a little behind Matlab, both in terms of features and performance, since the matlab language is essentially whatever The Mathworks says it is. R and S-PLUS both have a somewhat formal definition in the form of books and articles, which might help keep them in sync.
R's and Octave's story is very different. Essentially one of the key originators of S, John Chambers, started to work on R. That would be like Cleve Moler being a core Octave contributor.
How much money does R make? Are the main R contributors working as processional academics, do they have corporate jobs that pay them to work part-time on R, or are they funded full time by donations/grants, or is R just a hobby side project for them?
I’m not saying there’s anything wrong with Octave, or R, or GIMP, or ..., only that it’s difficult to make money on it.
This is especially true for Octave though, because someone who wants to do exploratory numerical computing and doesn’t have a specific need for Matlab’s library ecosystem is likely to use Python or Julia or R or ...
I'm not sure either, but I would guess it's a mix. It seems like it's most of Hadley Wickham's career, for example, and there's clearly some work being done by the RStudio and Revolution Analytics folks, but a lot of the packages are clearly the product of people working on their academic or corporate jobs. My impression is that this is also true for most matlab toolboxes (though obviously not the core language), which doesn't quite explain why people use Matlab (but not Octave), versus R (and not S-PLUS)
Why should you need a business model? You should get a grant and then a tenured position at a publicly funded institute for providing a massive public good to the science community. Unfortunately the science community as it currently is, isn't designed to do that. Luckily there is hope for change in the future.
Partly it's more familiarity with Octave than ggplot, but partly also that the Octave syntax is just about the easiest there is out there. Type something, immediately see some graphs. Type some more, gradually modify that graph. The simplicity is a big selling point. Julia's syntax comes pretty close, but I'm not as familiar with it yet.
Remember that Matlab's and Octave's biggest audience consists of not-a-programmer programmers, that is, people who consider using Matlab or Octave as being something different than using a "real" programming language. I call them not-a-programmer because that's what I've often heard them call themselves, even as they write Matlab or Octave code.
Matlab/octave also include everything but the kitchen sink, especially if you're on an academic license. You can certainly replicate this with a python stack, but it involves a fair number of external libraries.
You might like matplotlib for visualization. It's a Python clone of Matlab's plotting tools. And it's compatible with numpy if you need to do linear algebra or operate on big datasets.
https://news.ycombinator.com/item?id=13603575
It also stings a little when people say that it's completely obsolete because Matlab itself is "legacy" and we should all be abandoning the language, Octave included... and yet, even though I like numpy and Python and matplotlib and Julia and R, I still find myself reaching for Octave whenever I need a quick visualisation of some data.