Hacker News new | ask | show | jobs
by jordigh 3854 days ago
> it looks like the biggest loser to Julia's rise might be Octave.

It's not a competition. Julia is our friend, not a rival to Octave. We're on good terms with their developers. Occasionally we share ideas and patches back and forth when it makes sense. They've asked me for help with their Octave benchmark and I've gladly provided it.

Octave being unnecessary is Octave's ultimate goal. When nobody cares about Matlab, probably nobody will care about Octave either. But as long as people care about Matlab, Octave will be relevant. Or perhaps, in a perfect world, enough people will stop caring about Matlab that Octave can start leading in fixing the biggest stupidities in the programming language (we already do this to some degree, but keep relenting and replicating Matlab's bugs because code depends on those bugs).

If Julia is gaining the minds of people in scientific computing, great. It's going to take them away from Matlab and Octave to equal degree. If we can all do our computing unfettered by proprietary licenses, I don't care if it means we end up using Octave or Julia as long as we stop using Matlab.

And many of Matlab's alleged proponents keep turning to Octave. Octave still fills a niche that Julia does not: being able to use Matlab code freely.

4 comments

It's good to see people that have a goal beyond wanting their personal project to succeed, but rather to keep the original reason they started the project at the for front.

Too often large enterprises and projects forget the reason they were started and simply try to keep themselves relevant.

Well, Octave wasn't started with the goal to take down Matlab. That became a goal later in the project's lifetime as it became clear that users were demanding it.
Just thought you might like to hear this---I love octave and use it regularly in my academic work. It is the perfect language for me to rapidly prototype out a calculation.

That said, I think the future lies in porting over octave libraries and plotting capabilities to Julia.

Respectfully, maybe it should be a (friendly) competition. Competition motivates people. It's commonly accepted as one of the central drivers of capitalist markets. Perhaps if competition were injected in open source projects in some form it'd help the open source community compete with the proprietary community.
We already have fearsome competition: Matlab. We don't need in-fighting within team Free Software.
Respectfully disagree with the phrase "infighting". I believe healthy competition would be good for OSS.
You're applying a broad principle (competition is good) without considering lots of specifics.

First of all, within free software, collaboration is a lot easier than competition. Sure, we should all try to be the best we can be, but if our "competition" is also free, we can just grab their stuff and re-use it. We cannot, however, grab whatever we want from Matlab and re-use it, so we do have to compete against them.

Secondly, even if I agree with you that competition is great even in this case, how do you want me to modify my behaviour? To stop collaborating with Julia? To view them with more suspicion? To refuse to help them when they ask for help?

I already try to match features whenever possible. The feature I'm most envious of is their JIT compiling, but it's very difficult to implement this. Vice versa, I don't think they have a goal to match our features, such as a native Qt GUI or an exact implementation of the Matlab language.

Julia and Octave have lots of ideological differences too. For one, Octave is a GNU package, so it tries to adhere to the GNU coding standards and ideals. In particular, we prefer to call ourselves free software, not open source, even if both terms mean the same thing. I think the most important thing is to enable unfettered scientific computing. Julia's main goal is to provide a better language for scientific computing, while ensuring user freedom is a secondary goal. So far they have not compromised user freedom, and I hope they never do. So, there you have it, we're already competing on something?

Hmm. Sigh.

It is frustrating and saddening how often I encounter the same broken assumptions and nonconstructive disagreement on HN. I'm beginning to disengage.

I have considered many of the specifics, but yes, I was applying a broad principle in a broad manner, because it has broadly been shown to be beneficial. Even in child play, competition is good. When two children play one will almost always have an advantage relevant to the game at hand, and so the "winning" child must learn to temper their play while the "losing" child must learn to lose beneficially. When the Petronas Towers were being built the teams were placed in competition, with rewards at stake, to complete their tower first. This helped keep the project moving forward at a fast clip. Militaries of different sovereign states participate in "war games" to foster their relationships all the time. Both Russia and China have been invited to participate in the RIMPAC war games, for instance. So, if the idea of friendly competition holds for childhood development, construction, and war, I'd say it holds fairly broadly.

I'm not going to bother getting into the remaining details of your response, because you honestly don't seem open to the discussion. I've got about a 1000 things requiring my attention and energy, and so I try to prioritize those that don't require me beating my head against a wall in vain. But, as a purely "release of stress" exercise, I'd like to point out that OSS is getting its butt kicked in the consumer market. It's getting it's but kicked by proprietary software and software as a service, which is hardly unequivocally empowering to the user, which is one of the most important components of OSS. So, you hate me, you disagree with me, whatever; if you give one flying fuck about OSS, put your ego aside for one short second and realize that OSS is losing to proprietary software and enabling software as a service unabated, while always getting the scraps from the table. Stop with the cognitive dissonance already and do something about it.

As someone forced to do matlab/octacve in college, this is incredibly refreshing to hear. My respect for the octave team just went up considerably.