Why the Wolfram Language Is (Like) Open Source
blog.wolfram.com
blog.wolfram.com
> You can use it for free
...Within certain restrictions. Also, lots of proprietary stuff is available for free or close enough.
> You can view the source code
There's actually sort of fair, although it only extends to the functions in the language; "Older or core functions written in C are not viewable this way", and I doubt this extends to the underlying engine.
> You can modify it
Again, provided you stay in the "userspace" parts and don't want to share your changes.
> You can contribute
... stuff that you built in Wolfram, but "we don’t really believe in user contributions to the core language".
> There is a supportive (and supported) community
https://community.oracle.com/hub/
https://social.technet.microsoft.com/Forums/en-US/home
Forgive me if I fail to be impressed.
> There is active development
Until there isn't, at which point the single point of failure suddenly does matter. Also, not much of a standard; IBM still develops Db2, y'know.
Because this development is sponsored by old customers; I haven't heard about anyone choosing DB2 for a new project.
Given that Wolfram Research is tightly held, what happens when the company ends? Does it "punch a hole" in computational mathematics? Does all of your code stop working?
This isn't idle speculation. I used to use a Symbolics machine. Symbolics Inc. failed. The Symbolics software still exists but you can only buy a copy that runs on DOS. I used Common Lisp on Symbolics. Common Lisp is a standard. There are open source implementations so all of my code survived.
Will your code survive when Wolfram Research dies?
(Full Disclosure, I'm the lead developer on open source Axiom)
That is true, but the choice of words is correct: Open Source software is not necessarily Free Software.
If they are right, it may make Wolfram more money, but it certainly makes Mathematica less successful.
I would think that Wolfram isn't trying to compete in the data science space, but more in the more abstract academic space.
Jupyter creator said (IIRC) that he was in fact inspired by Mathematica's interface, but it's not like Lisp, Smalltalk and APL weren't doing this at least a decade before.
Aside from this superficial similarity, Mathematica the language is a whole different... language. Imperative contructs are awkward to use and frowned upon, symbolic computation over expression trees is the default and very common, loops and with their exit conditons are expressed as either map-reduce style functions or recursive relations with multiple definitions. All code is literally just a tree of symbols that you can inspect and manipulate, you can enter "NonsenseFunction[1,2,3,4,5]+12" and the interpreter would just give it back to you unchanged, the execution model is simply implementing a rule-rewriting engine, if it can't find a rule to simplify an expression it simply returns the thing as is. This is very different from python or really any mainstream language, it's a fun mixture of Lisp and Prolog.
But the set of libraries for it will never compete with those of an open language.
wxMaxima is the most popular frontend for the software: http://wxmaxima-developers.github.io/wxmaxima/
I'm also taking the opportunity include a video that I made using to demonstrate my UI for it: https://peertube.functional.cafe/w/qnx1onPEx9LCtDP3wFqjWz
And yes, I think it is lacking a better UI (wxMaxima works but needs more polish I think) and particularly more appealing documentation. Your video is very interesting!
Nothing against the engine itself by the way, which is awesome.
It's perfectly valid to criticize the kernel maintainers for including binary blobs, it certainly annoys me, but it's not equivalent to what Wolfram does with Mathematica.
----
I actually used Trisquel for about a year. It was fine.
Why did you stop using it?
Kind of? The ability to "do whatever you want" with the code more or less embodies the experience of FOSS.
> Why did you stop using it?
I got a job at Apple, and roughly three months after I started there that laptop broke and I got a discount on a Macbook. I know I could put Linux on there, and maybe at some point I will, but currently my school requires that we either have a Windows or Mac computer, and since I don't want to go about mucking with virtual machines, I'm sticking with macOS.
There's an interesting discussion of actual attempts to create open source implementations of the Wolfram Language in Wikipedia under "Implementations" (see https://en.wikipedia.org/wiki/Wolfram_Language). The first attempt was 30 years ago by Fateman and he received an official cease-and-desist from Wolfram for his attempts; he did a lot of work on open source Maxima as a result.
I think right now https://mathics.org/ is the most complete open source Wolfram Language implementation, and it uses Sympy extensively under the hood. Mathics was dead for a while when the main author got hired by Wolfram (see https://github.com/mathics/Mathics/graphs/contributors), but during the last year there has been an enormous amount of new work on Mathics.
Pretty much all there is to say.I don't want to bash mathematica/wolfram language because i actually like them to a degree, and i also agree with the fact that you don't let everyone design your language.However,that degree is having an account to make in order to use certain things, even free, and other things that make it harder for hobbyists/students to use.Again, this is not even in antithesis with the "we have a business model suited for enterprises", which can definitely remain even if you were to further open the language, or make the tools free to download, without an account that asks for your address, phone number, etc.
Stephen has done truly something great with this project,and it shows, but let's not pretend this is not an attempt at trying to gain back some of the people who look at other popular solutions(like jupyter notebooks, and the dozen of other solutions derived from it) and say: this is more convenient for me.
Open source has become quite literally like some copyrighted posters exposed in the public space.