8 ms·
Seems like he's far from open sourcing it. His team just published a long blog post (https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-open-source-a-doz
by maliker 8y ago
Seems like he's far from open sourcing it. His team just published a long blog post (https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-open-source-a-dozen-reasons/ https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-op...) explaining why they're closed source.
- enriquto 8y agowow, I was expecting an intelligent list of reasons why he cannot explain how mathematica works internally (I'm sure there are many). Instead, this post is a ridiculous strawman argument against the open development model. For all the reasons he says, he could perfectly publish the source code of mathematica (e.g. under the AGPL) but still do not accept external pull requests. There are many successful open-source/closed-development projects out there.
- gmiller123456 8y agoI think you misinterpreted his point. It's not that he can't give Mathematica away as it stands now. His point is more that Mathematica couldn't be developed as a free and open project with just contributions from random people. The point he doesn't mention is that it costs money to develop it closed source, and giving away the source (or even the binary) would cut off funding. I'm obliged to agree with him, since there isn't anything free that comes close to Mathematica.
- carlob 8y agoHonestly I read most of those reasons as reasons for not being free and community-driven as opposed to not being open-source, and also more as a post-hoc justification than a prediction on what will happen in the future. As a matter of fact a large part of the Mathematica codebase is inspectable (the part that is written in Mathematica itself) [1]. Disclaimer: I'm a Wolfram employee, but these are my opinions and any decision on open sourcing the language would be way above my pay grade. [1] https://mathematica.stackexchange.com/questions/1742/what-is-the-most-convenient-way-to-read-definitions-of-in-memory-symbols-when-we https://mathematica.stackexchange.com/questions/1742/what-is...
- jordigh 8y agoMost of Matlab's source code is visible too and its license allows you to modify its visible source code and share it with other license holders too. But that's still not enough and that's why I still sometimes work on Octave (although I've been semi-inactive for the past few years). Freedom isn't a spectrum; it really is all or nothing. Unless we're all free all the way, none of us is. It's not fair of me to share Matlab or Mathematica source code with people who cannot have access to the software that runs it, especially from a mathematical and scientific point of view where reproducibility in software should allow anyone to acquire that software.
- IshKebab 8y agoThat's not true at all. Lots of the actual Matlab code (i.e. code written in matlab) is available. But none of Matlab itself is. That's where their value is. Octave has fairly easily replicated a huge amount of the mathsy part, but is their GUI or plotting code any good? Not when I last tried it.
- deleted 8y ago[deleted]
- jordigh 8y agoPrepare to have your mind blown, friend, try `type trapz` or `type cumtrapz` in Matlab and read Mathworks-written m-file code to your heart's content (but if you do, you're disqualified from ever contributing to Octave). Or even try `edit xlsread` to edit that source code. Less excitingly, read its EULA. I can't find a copy of it because they don't publish it, but I do remember a part that allowed you to modify and distribute Mathworks-written m-code to other Matlab license holders.
- carlob 8y agoOne of the directions the company is taking to address this is to allow for running some things as a free tier on the cloud. But I think the open vs. closed source discussion in academic research is not really about that: lots of Mathematica code is fairly concise and highly automated. Let me make an example: suppose you're minimizing some complicated function and you claim to have found some minimum with Mathematica. Your source code looks like NMinimize[complicatedFunction[x], {x, 0}]. If I wanted to reproduce your result I would not need to use Mathematica, but access to the internals would allow me to see what tricks I need in terms of minimization method used, whether or not extended precision was necessary, etc... Being able to rerun that black box minimization independently for free is not really reproducing my result, because we might both be observing the same bug in Mathematica.
- deleted 8y ago[deleted]
- nnq 8y ago...none of that makes any sense! There's a lot of open source tech out there with 90% centralized design and decision making. Most open-source databases. Haskell and OCaml programming languages also have small groups of core devs... I think even Julia development is controlled by a very small group of people. Open source the core language if you want it to survive, otherwise it will be completely forgotten and lost from history! Closed source programming languages have no chances of survival and increased adoption, even Microsoft and Apple know this now! (Sure, keep closed the UI + some modules with truly innovative proprietary algorithms, bc most of your paying customers will keep buying your paid versions, you won't loose the revenue stream.) Anyway, it's too late anyway...
- cwyers 8y agoThe thing is, looking at that list... most of it actually seems reasonable to me. Quality software costs money, and that money comes from somewhere. The problem is network effects. The blog post is right that if you are running a large deployment of things like R or Python, you are likely paying vendors and getting support contracts and all these things so that it's not really free-as-in-beer to you. But there are a lot of people not yet at that scale where it is free as in beer to them. An ecosystem based around R or Python has a lot of people who can't afford to pay for Mathematica. Those people are writing blog posts, or answering Stack Overflow questions. If I've just come up with a novel technique and I want to get it out there (either as someone in academia or elsewhere), my broadest reach is going to be to release R or Python code. Everyone with Mathematica can install R if they're curious, people who use R can't just install Mathematica on a whim to look at one research paper. If I'm an employee at a small company that is using Excel for analysis still, it's really easy to smuggle in R or Python and do an ad hoc pilot project that gets adopted, whereas it'll take me six months to get Mathematica through the approval process, and they'll probably tell me no. So more packages get written for the open source ecosystems, more documentation gets written, I can share my work with more people. Even if R and Python are in every other way worse than Mathematica, over time, the network effects will drive more and more people to R and Python.
- brianpgordon 8y agoSome of that list looks reasonable to me (mainly what you pointed out, that software development costs money), but there's a heaping dose of old-Microsoft-style FUD about open-source ("Because open-source projects are directed by their contributors, there is a risk of hijacking by interest groups whose view of the future is not aligned with yours") mixed in there too. The core argument, though, seems to be that the Wolfram Language is a special case and could never be built in any other way because it would be too hard. I don't buy it. Everyone thinks their own thing is a special case, and it rarely is. Contrary to his argument, the core language doesn't really need to be informed by subject matter expertise in graph algorithms or machine learning or whatever. They're really just libraries, no matter what he says. And it doesn't really require that extraordinary a leap to have some core types like points and intervals and curves that are shared across the system, without fragmenting. His arguments are just not that convincing to me.