But then later they walked it back a little and claimed they are "like open source" [2]. Funny there are 12 reasons for being closed source and only 6 for being "like" open source. And the reasons they're like open source are pretty weak. The first one (free use) has a lot of restrictions like the way their cloud product locks you out of your files 60 days after they're created.
It's cool what Wolfam has achieved, but it's hard to justify going with a closed tool these days with all the interest in open science and the capabilities that are now available in the open source world.
[1] https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-op... [2] https://blog.wolfram.com/2021/11/30/six-reasons-why-the-wolf...
OSS or not, I fear for its future after Stephen Wolfram passes. Hopefully he has a good succession plan that's focused on the product and users rather than shareholders.
But what he's missing in his points is that Mathematica is led by a company! They get to design it, they get to organize it, so they have full control of it still. Look at Terraform: it's horrible usability-wise and has tons of limitations. If it was open source, it would have had auto-import from day one, adding a version or depends_on to modules would've happened from day one, and something like CDK probably would have already been built in, so Pulumi probably wouldn't exist either. But since Hashicorp controls it, it only works the way they want, in spite of open source.
As long as Stephen's company is developing Mathematica, they can maintain full control (of their distribution of it), and it's extremely unlikely for any fork to be successful.
I also wonder (could download the trial version and find out) how Mathematica would be for things like hardware testing and lab automation. That's more of a side issue than directly related to the points of the blog post.
But you're probably right about trying to fork Mathematica. Python may owe its success to forking ideas from Mathematica, Matlab, etc., without vying head to head with the mother ship.
Being a company also has its drawbacks, such as having to invest a certain amount of effort into marketing-driven development such as trying to keep people buying upgrades. But maybe a company with a BDFL at the top of it can avoid that issue.
A modern python (e.g. anaconda?) distribution is a pretty formidable tool (for some things I'd definitely take Mathematica any day, but I don't really code in mathematica vs. sketch) - the people using that distribution however may also not know anything about good practice. Python unfortunately is far too allowing of this, too, so some scripts are a genuinely hell. I'm a physics student currently working as a programmer, 2/5 lines of code I see in my department would be enough to request changes from a patch. I daydream about teaching them but that's never going to happen.
At work we actually developed a functional language (nee DSL) specifically to funnel people down exactly the places we want.
The practice in my team is that you can start out any way you want, but you're expected to begin learning batter practices as your projects mature. And we have a couple people who can teach you. Though I was the one who introduced Python to my work site, I'm also one of the ones who needs to continue learning better programming practices.
It's sad that there is virtually no decent training for scientists who want to be better programmers. There's certainly a cacophony of advice, much of it conflicting or too complicated to be credible. Maybe it's not widespread, but when "scientific" programming is mentioned, there are always a lot of comments to the effect that we shouldn't be programming at all without a license. Likewise for the use of Excel. Instead, scientists are left to figure things out for ourselves, like we've been doing anyway since the dawn of time.
Also in the context of numerical/scientific programming I don't understand what is the issue with the packaging system. It's been working fine for myself and many others I know of.
Linux kernel, LLVM, Blender, TensorFlow, Stockfish, Firefox, etc etc