Hacker News new | ask | show | jobs
Why the Wolfram Language Is (Like) Open Source (blog.wolfram.com)
32 points by tableofzero 1666 days ago
15 comments

Reason's it's "like" FOSS:

> 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.

> 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.

Sure? Is Wolfram going to be developed if there's no money in it? (I mean, maybe, purely as a point of pride for Wolfram the man, but I certainly wouldn't depend on it)
The current average company lifespan is 21 years (https://www.statista.com/statistics/1259275/average-company-...). It has slowly decreased over time.

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)

Free as in beer, maybe. Not free as in speech. I cannot fork the language and use it however I please. Maybe Stephen Wolfram has the best intentions, but he won't live forever. What then? What are the guarantees that Oracle won't buy it and screw over the users?
> Free as in beer, maybe. Not free as in speech.

That is true, but the choice of words is correct: Open Source software is not necessarily Free Software.

Soon the book "A New Kind of Open Source" by Stephen Wolfram
Didn't convince me. No, it's not. You can pry SymPy and SageMath from my cold, dead hands.
Mathematica is really good. If it were Open Source it might have a chance at competing with Jupyter and Python. As it isn't, nobody is going to build businesses around it and the community will be limited.

If they are right, it may make Wolfram more money, but it certainly makes Mathematica less successful.

I haven't done a ton with Mathematica, but my understanding is that it allows for more powerful and abstract programming than something like Jupyter. Am I wrong?

I would think that Wolfram isn't trying to compete in the data science space, but more in the more abstract academic space.

They are not really comparable. Jupyter is more like a repl where every cell is a seperate python script that nonetheless share the same interpreter instance and the binding enviroment. The reason it often draws comparisons to Mathematica is that this is the default mode of interaction with Mathematica (on a PC at least), the IDE opens into a text-editor-like interface and any valid mathematica expression can be entered into an input cell and eval'd seperately from the rest of the script, but it permanently mutates the global state of the running interpreter. This is so much the de facto default that a lot of people don't even know how to interact with the language otherwise.

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.

I used it more than a decade ago, as a grad student. It was magic with symbolic algebra. It was also a solid general purpose language, great for audio and graphics (although probably not realtime).

But the set of libraries for it will never compete with those of an open language.

There are open source alternatives. The one I'm somewhat involved in is Maxima which is one of the oldest open source projects that is still being developed.

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

Maxima is a treasure!

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!

Wolfram language is basically as open source as Mongo or Elastic. Which is to say, the source is open and they want the clout of being open source, but it isn't open source.
Less, I think; last I looked, Mongo and Elastic were actually publishing all the source code for the core of the application, albeit under questionable licenses, where Wolfram (in spite of the article's attempt at misdirection) lets you see the scripting language on top of the (C?) core code, which is totally unavailable.
"It's open source, except that the source isn't open."
Isn't it only possible to install as a binary blob, so not open source?

Nothing against the engine itself by the way, which is awesome.

Linux has blobs, is it not open source?
There are plenty of distros of Linux that have fully removed binary blobs [1]. As far as I am aware, it wouldn't be allowed to fork Mathematica and remove all proprietary blobs.

[1] https://www.gnu.org/distros/free-distros.en.html

Realistically though nobody uses those, and every project like that such as BSD gets used as a base for proprietary software. Do they even support TRIM?
Sure, but that doesn't really take away from my point. I think people are more willing to say that Linux is "open source" because they are allowed to fork it and make their own thing, embodying the spirit of FOSS.

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.

Is the ability to fork the essence of what makes a project open source?

Why did you stop using it?

the blobs certainly aren't. but thats just certain drivers. everything else is.
Not even drivers, AFAIK; it's firmware blobs that have to be loaded to the device in order for it to run, but nothing on the actual "host" computer side. So like, if you have a wifi card with blobs, you have to hand it a firmware blob to "boot" the card, but once it's up you can talk to it using a fully GPLv2 driver in Linux (which talks to the proprietary wireless firmware over PCIe or whatever).
I'm having a hard time understanding why such posts. You won't change the open source advocate's minds and all others don't care. I guess they value open discussion, which is good.
Perhaps they do, and that is good. I found the editorial from the American Math Society at https://www.ams.org/notices/200710/tx071001279p.pdf to have been a persuasive contribution to that open discussion. (FYI, one author has spent years building SageMath.)
I'm one of the authors that spent years building SageMath; indeed, the goal of our project is to create a viable free open source alternative to Mathematica (etc.).

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.

"How can I tap in to that virtuous do gooder cache from open source software without giving up the cash from proprietary software?"
bollocks. this is what "open souce" and real foss software differ, no bullshit promises and no sweet talk of oh well look but dont touch.
Thanks Wolfram, but I like my freedoms uncurated.
It's really a shame the wolfram language _isn't_ truly open source. It was my first introduction to a computer algebra system in college and I was able to do a lot of powerful stuff with it, all useless now since it's behind a paywall and all the things I would use it for are personal and/or open search-style research where I want other people to be able to use it.
"So it’s not the “free to do anything” of open-source software, but it is free in many cases."

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.