top | item 19970333

Free Wolfram Engine for Developers

606 points| GWOLF | 6 years ago |blog.stephenwolfram.com

337 comments

order
[+] reikonomusha|6 years ago|reply
> Why Aren’t You Using Our Technology?

It’s not open source.

Even if the engine is “free”, I don’t want to build an open source product with it and hope to be granted a “free production license.” If I build something on my own time I don’t want to ask my employer to purchase a “production license” as soon as it becomes useful.

Wolfram believes that mathematics software (or “computational knowledge” or whatever he calls his entire enterprise now) must be proprietary and paid-for in order to exist. Maybe it’s true; all of the successful and wildly popular computer algebra systems are closed source. (wxMaxima is rough to use, Axiom has 3 or 4 different forks, each with fewer than 10 developers, SymPy just isn’t there, Sage is absolutely wonderful but not polished or easy to deploy, ...) But that’s completely at odds with how most software engineers work these days. Most software is grounded in an open source development and deployment tool chain. There is a market for proprietary developer tools, but it had been dwindling since its prime-time in the 90s.

I think Wolfram needs to think quite hard about how he wants to get his technology in the hands of developers while maintaining a business. Not that my opinion matters, but if he can manage to do it by open sourcing Wolfram Language, Wolfram Engine, or something like that, while keeping his business intact, I might again consider him to be the genius he was lauded to be in his 20s.

[+] carlob|6 years ago|reply
Disclaimer: Wolfram employee here. Opinions here are mine, and not the company's.

Having used the Wolfram Language and Mathematica professionally for over seven years I think this is much cooler than the people who greenlighted this within the company realize. If there is one thing I love about the Wolfram Language is how fast it is to prototype something with it.

Given the scope of the language (or what you call standard library), most things that would require finding some external dependency, then writing some shim, are there out of the box. Whenever I have a weekend project idea it's always very very fast to prototype in the Wolfram Language.

Now, you don't want to use it in production because it's not open-source, fine. This license doesn't even allow that use anyway. But if you want to do a prototype, some MVP for an investor demo, a hackathon, then it's free and it's extremely powerful.

Most of the complaints here are about why you wouldn't build a company on our tech stack or why non-libre software is bad in production, but building production software is not what is being given away here, all the rest is.

[+] reikonomusha|6 years ago|reply
Anything you, as an employee of Wolfram, create or prototype or whatever with it can have a future. You would have no questions asked. And as an employee I presume you also get the possibility to inspect the source, and perhaps even email the dev teams directly to fix or modify things as you see fit. In such an environment, even simple things like prototyping are great.

Actually, the cases you described, making an investor demo or the like can be argued to be prohibited by the license! Does an investor demo or MVP count as commercial use? I’d say so. Would an MVP potentially produce data that I might use in the production of a “real” system? Likely so. Both of these are expressly prohibited by the license, straight up in the first section.

“Yeah but you’ll get away with it fine.” Will I? I also must respond to Wolfram with a record of my use within 10 days of being asked.

How is this an attractive state of affairs to build anything, even for paltry testing of an idea?

[+] leiroigh|6 years ago|reply
Well, apart from the incredible standard library, there is an interesting programming language.

What I think is missing is a stripped down open source implementation / interpreter. What Gnu Octave is to Matlab. That stripped down variant could or could not share some code with the proprietary implementation (realistically, Wolfram would need to open some parts of their code).

I think octave is invaluable for helping Mathworks: Professional users will almost surely buy a license, but a lot of matlab/octave code can be run and hacked on without a mathworks license (albeit slower, and missing a lot of cool features).

The way it is now, all code written by scientists in the Wolfram language is essentially hostage to Wolfram. An octave equivalent would permit people to trust that they continue to meaningfully own their own code.

It is super unlikely that a stripped down slow but open implementation would ever improve to the point of being a meaningful competitor: The thing Wolfram has built is impossible to replicate in the open source world.

Sure, there are other computer algebra systems and other frameworks / languages, but these have very different strengths and weaknesses that make them appropriate for different niches. E.g. sage permits seamless interfacing with the entire python ecosystem (never write a parser or networking code in mathematica! Everybody and his dog publishes python bindings to their C++ libraries nowadays). Or julia with its multiple dispatch and late-AOT/JIT approach that permits permits to write super fast dynamic code that is Fortran / C / C++ level fast.

[+] eigenspace|6 years ago|reply
Personally, I've found thing since learning Julia I've become pretty distrustful of the whole notion of prototyping in one language and then doing a full implementation in another.

It just seems so unnecessary when you have a language where you can start out in a highly interactive state that seems a lot like Python or Matlab but then you can seamlessly start optimizing or generalizing functions and end up with something that runs basically as fast as C but retains all the dynamic advantages from the prototyping phase.

Yes, Julia's namespace isn't as polluted as Mathematica's is and I think that's a good thing. It's got an amazingly vibrant package ecosystem and packages are treated on such a first class level that as soon as you load a (well made) package, it composes so well with everything else, including other packages that it feels built in. I've never really felt like I was 'writing some shim' to utilize code from a julia package.

[+] JMTQp8lwXL|6 years ago|reply
I fail to see how you build a business around this technology when you expect people to use it for predominantly investor demos and hackathons.
[+] manigandham|6 years ago|reply
MVP for investor is commercial use.
[+] AlbertoGP|6 years ago|reply
Sounds reasonable, although I think this term in the license will discourage many people:

“Audit

You will maintain accurate records of Your use of the Free Engine sufficient to show compliance with these Terms and Conditions, and Wolfram will have the right to audit such records to confirm compliance therewith. Upon written notice of an audit from Wolfram, You shall respond within ten (10) business days.”

https://www.wolfram.com/legal/terms/wolfram-engine.html

[+] reikonomusha|6 years ago|reply
> Open-source projects approved by Wolfram.

“You can’t use this free thing to make other actually free things.”

[+] lallysingh|6 years ago|reply
Is this anything more than keeping version control and responding if challenged with 'git log?'
[+] cs702|6 years ago|reply
Translation:

"We're losing mindshare and customers to open-source alternatives."

Great open-source alternatives to Wolfram products can be found in the ecosystems of projects like Jupyter, Scientific Python, TensorFlow, PyTorch, and Julia, to name a few.

Major sponsors of such alternatives include Alphabet, Facebook, and Microsoft.

It's hard to compete against that.

[+] Jeff_Brown|6 years ago|reply
If you're making software to sell, the licensing problems are real, but if all you're doing is quantitative investigation, WL is like a dream.

When I was a grad student in economics, we had to solve really, really long algebra problems as homework. I used Mathematica to see if I was doing the right thing, getting more feedback, and more personalized feedback, earlier than anyone who had to wait for the next class.

[+] eigenspace|6 years ago|reply
Okay, so I read the post and I'm still not clear on what the actual difference is between Mathematica and the Wolfram Engine. Does anyone have any insight here?

Presumably this isn't intended to cannibalize Mathematica sales so I'd expect that many of the things I'm used to doing in Mathematica wouldn't work here but I don't really see any discussion of what it can't do.

[+] tux1968|6 years ago|reply
Came here to ask the same question, and even with the answers you've already received, it still seems very murky.

If you look on their web site for Mathematica[1] it has several bullet points that includes the Wolfram Engine. One of the other separate points is "Wolfram Algorithmbase"[2], so presumably all those algorithms are not part of the engine and only available if you buy full Mathematica.

[1] http://www.wolfram.com/mathematica/

[2] http://www.wolfram.com/algorithmbase/

[+] szhorvat|6 years ago|reply
For practical purposes, nothing. If you have used Mathematica in the past, and know what it is: the "Wolfram Engine" is basically the Mathematica kernel.

Note that this free version only includes the kernel, not the notebook interface. But there is nascent support for Jupyter, so productive use is very much possible.

"I'd expect that many of the things I'm used to doing in Mathematica wouldn't work here"

What's amazing is that this isn't true. There are no _technical_ restrictions. You can't do Manipulate because the notebook interface is no there (or rather: it's there but it's read-only). But all the computational power is available.

[+] jdiez17|6 years ago|reply
Mathematica is basically a programming environment for the Wolfram Language. You can think of Mathematica as a desktop version of Jupyter Notebook for Wolfram Language.
[+] argd678|6 years ago|reply
I think the adoption would be better if they had a Community Edition like JetBrains does. It’s trickier with their products though since their main market is academic, but there may will be “enterprise” features that can be added to make it worthwhile for a University to buy licenses and individuals to not have to. It’s a great piece of technology I wish I had been able to play with starting as a child along side BASIC.
[+] demarq|6 years ago|reply
Am I the only one who gets tired of, "oh look something free on HN, okay time to shit on it, it's not open source".
[+] eggxbox8|6 years ago|reply
FYI: After downloading and installing a 3GB executable, the software needs to be activated with a developer ID. Knowing that could've saved me the trouble.
[+] szhorvat|6 years ago|reply
There's lots of ideological discussion here. I would have loved to read some experiences based on actually trying the thing!

You don't have to settle for the command line. It works with Jupyter, which seems to be the most pleasant way to use it.

[+] pron|6 years ago|reply
Can anyone explain the difference between the Wolfram Language and Matlab/Julia? I understand it has a better story for symbolic mathematics, but how often do people need that? Personally, I've found numeric computation more useful in 99% of the cases; do others have a different experience?
[+] abc_lisper|6 years ago|reply
This is very nice. I just tried it with Jupyter and it works. https://imgur.com/VoHXMtS

You can also write a inline script. https://pastebin.com/TYWfS3gk

Is there a limitation of running only one kernel per machine? I had an instance of wolframscript running, and when I ran a script file, I got this error:

> ./test.wl

Connection closed by WolframKernel. This generally means the product is unregistered.

[+] cahotswh|6 years ago|reply
Look. Wolfram has had his day. The company has been struggling from a heavily intoxicating ego and work conditions. Should a few recent cases be highlighted. A long term employee committing suicide for instance which could have easily been prevented; lawsuits drama back and forth for something that isn’t even novel. Allegations that mathematica invented symbol computation. Dude, get real. Also get real about these claims that the front end or notebook was invented by wolfram . Wolfram did not . various other cas systems already had similar things in place noteably MathCaD. What really makes my stomach turn around is how this person can always add intoxicating little lies on almost everything and given his status, little people like us start believing it . Uggggghh
[+] JustFinishedBSG|6 years ago|reply
I'm a PhD student, I've always wanted to buy Mathematica because it's cool as fuck but

1. It requires a significant time investment

2. I can't see how it will be in any way useful to me.

Can people using mathematica ( PhDs, pros, mathematicians, engineers... ) tell me what awesome things they do with it ?

[+] jonhendry18|6 years ago|reply
Seems like a great way to take advantage of this would be to use Mathematica (and its GUI) on a Raspberry Pi to explore and figure out how to do what you want to do, but then actually run it in Wolfram Engine on a more powerful computer.
[+] dmitriid|6 years ago|reply
> Why Aren’t You Using Our Technology?

- It's arcane/esoteric

- Its capabilities are largely unknown (I have mixed results with wolframalpha even for simple queries. Perhaps programmatic model is more deterministic)

- Its licensing model is murky and needlessly complicated

[+] arnoud-buzing|6 years ago|reply
Wolfram|Alpha and Wolfram Language are two completely different things:

Wolfram|Alpha is a natural language computational engine which takes queries and computes custom answers based on back-end knowledge databases and a large amount of Wolfram Language algorithms.

Wolfram Language is a computational (programming) language. There is a good 'fast introduction' for it here:

http://www.wolfram.com/language/fast-introduction-for-progra...

The full reference documentation for the Wolfram Language is located here:

https://reference.wolfram.com/language/

(It's extremely well-documented with extensive examples for every function).

[+] mgoetzke|6 years ago|reply
Would love to try it and potentially integrate it. But to be honest the pricing structure is really not clear to me.

The developer page says try it for free and integrate it. Ok. Then it says commercial options for various scenarios exists. Ok. It shows a few scenarios. Ok.

Doesn't show a price though. When searching for prices it suddenly becomes "Find out about full applications" or "Contact Us " ?

Just looking at the dev engine you offer for download. what is the price of that ? What IS Wolfram|One ? What is the difference to the other options ?

Instead of making an easy decision as to whether its worthwhile to use some downloaded tech (which I still have to integrate no less) I have to wade through the page and different products or contact the sales people ? I also don't have any info as to how self-contained the engine is. How self contained is it ? Etc.

I was thinking of integrating WA before but had the same issue. Not something I would just add as a potential feature without making it a larger project with a specific customer in mind to be worth it for me.

[+] lootsauce|6 years ago|reply
A couple of friction points right now trying to install. One its a 3GB app package on the mac but I guess i'm not surprised based on all that is included, would be interesting to see what, if any, options there are for a modular deployment. But sadly after I signed up for a wolfram account I am unable to activate the install from the terminal :-(