reikonomusha 6 years ago

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

  • criley2 6 years ago

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

    Imagine saying this with a straight face. Maybe in web development, but the vast majority of programmers are using closed source tools to produce closed source software.

    You're either thinking of a tiny picture vs the whole picture (web devs vs programming in general) or you honestly have zero concept of what programming looks like outside of web apps.

    • reikonomusha 6 years ago

      I’m open to being wrong, but my domain is not and has not been web apps. It’s mostly been things like satellite antenna control software, quantum computers, scientific computing, and AI. Each of those domains, in my experience, has been firmly grounded in open source. (It does not mean, of course, that the end product is open source.) I recognize there are some domains that are steeped in closed source solutions with closed source developer tooling with no viable alternatives, but IME—as limited as it may be—it’s uncommon.

      What programming language stack do you (and a lot of other developers) use that’s closed source with no realistic open source alternative? It’s not C, Python, Java, Ruby, JavaScript, Lisp, Fortran, C++, PHP, Perl, Go, SQL, Rust, Objective-C, or Swift? (All of these, of course, not only have industrial strength FOSS implementations, but the first or second most popular implementation is the FOSS one.)

      • gricardo99 6 years ago

        I'm not disagreeing with you, just answering your honest question:

        >What programming language stack do you use that’s closed source?

        Verilog/System Verilog (generally HDL/FPGA/ASIC design/verification).

        Yes, it's a niche (some may even say it's not software, it's hardware, but it is indeed a large code base that requires a software engineering environment/toolchain/practices/etc...). Again, just answering your question for the benefit of the discussion. It would be interesting to hear of others such closed source areas.

        • reikonomusha 6 years ago
          • gravypod 6 years ago

            Kdb is a very niche product that has open source alternatives that are made use of by the rest of the software industry outside of FinTech. It's not bad, it's just not what the market wants to use because it's a closed box.

            Wikipedia has an article on Time series databases and they contain a short list of popular TSDBs [0]. On that list 11 are libre-software to some degree and 4 are commercial. Relational TSDBs are new to the open source space but they're still being built despite there being the existing kdb+. This shows that people will spend considerably more funds to engineer a replacement (and give that replacement away for free) to avoid using a closed source product for this use case.

            [0] - https://en.wikipedia.org/wiki/Time_series_database#List_of_t...

            • atemerev 6 years ago

              Unfortunately, there are no open source alternatives to kdb+. Effortlessly handling hundreds of terabytes of data on a single machine, while consisting of only a 300 kB (yes, kilobytes)... Nobody even came close.

              Market adoption could be better, but the license costs around $100,000/year (probably the most expensive software per kilobyte). Fintech can afford it, other industries can’t.

              • JackFr 6 years ago

                You'll also end up spending at least that much on consultants. While KDB is remarkable in many ways -- the first time I saw it I thought the demo was fake, the performance so great -- it is very difficult to develop in.

                They have a an SQLish interface, that allows non-specialists to get work done, but anything serious needs to move beyond that.

                I haven't used it in a few years, but queries had to be carefully optimized -- swapping the order in a where clause could cause order of magnitude differences in performance. Also it is append-optimized. If you need to update or insert data, it is a nontrivial exercise.

                • atemerev 6 years ago

                  Regarding being append-only — these days, where reactive programming, immutability and FP are all in vogue, this is a feature. As for the rest, yes — K/Q are idiosyncratic, but they are simpler than it looks at first sight (and second.. and fifth). :)

              • spopejoy 6 years ago

                > Effortlessly handling hundreds of terabytes of data on a single machine

                Single machine, because it can't handle parallel queries, at all, and there are no options to scale it.

                Every financial institution I've worked at is busily unwinding their investment in q/kdb. It's legacy tech.

                • Volt 6 years ago

                  What are they moving to?

                  • spopejoy 6 years ago

                    Other TS products like OneTick, RDBMSs for TAQ (esp. if you need non-TS indexes), streambase for UI backends

                    I even met a programmer who hacked something together in Java using the same columnar kdb layout but, you know, multithreaded, so different basket optimization jobs could run simultaneously on the same store.

              • vthriller 6 years ago

                kdb is frequently described as an in-memory database, or with great emphasis on how efficiently it utilizes a ton of RAM. I've no idea how much does its performance actually drop when the amount of data goes past, say, 2x the amount of available memory, but I'm pretty sure hardly anyone can afford multiple terabytes of RAM in addition to the software license these days…

        • equalunique 6 years ago

          You wouldn't happen to be a commentor/author for this Reddit post[0], would you? Your sentiment here seems quite similar. I have no experience at all with hardware design, but it seems like that domain is especially geared towards closed-source for specific reasons.

          [0] https://www.reddit.com/r/FPGA/comments/a5pzs5/prediction_ope...

          • daveguy 6 years ago

            That is an interesting post. I think there are two other potential ways FPGA tools could become open source:

            1) If there are some widely used open hardware devices or open standards. The fact that FPGAs are proprietary designs and can't be copied is a significant barrier. If there was an analogue of ARM in the FPGA world that could open up open source dev tools too.

            2) DIY FPGA. This one is almost certainly much further down the road than any of the other options. But if fab and design tools of the chips themselves become a commodity then there will be open source dev tools. It used to be pretty difficult to make a custom PCB, but now with PCB as a service open tools are seeing more use. I think the reason this is so far down the line is because fpga offers cutting edge performance for specialized applications. If you wait several generations or are ok with reduced performance then you can stick with generic CPU/GPU. With Moore's law running down there may be more and more things that aren't possible without fpga. And I don't think it would be until then that open source dev tools follow more diy fpga.

          • gricardo99 6 years ago

            No, that's not me. Interesting points though.

            For my comment I was thinking about HDL simulators, which are very expensive/proprietary tools (vendors like Synopsys, Cadence, Mentor Graphics), with a lot of vendor lock-in, but yet are based on standard/open languages: Verilog/System Verilog. I know there are some open-source simulators that have been around for a while, but they aren't widely used, and the big 3 EDA vendors still seem to have a strangle hold on the HDL simulator market.

            Simulation is generally more important for ASIC hardware than FPGA hardware, since you can quickly iterate on an FPGA design with logic/design fixes, whereas with ASICs design iteration can be prohibitively expensive and time consuming.

        • sweeneyrod 6 years ago

          I think hardware stuff is an expected exception because there are basically no open-source architectures.

          • pabs3 6 years ago
            • earthboundkid 6 years ago

              RISC-V was explicitly created to solve the problem of their being basically no open source architectures, and it's still fairly new, so it really is the exception that proves the rule.

            • sweeneyrod 6 years ago

              Yep, but AFAIK they don't see much use in industry. There are people trying to change that, but they haven't succeeded yet.

          • gricardo99 6 years ago

            I agree in terms of the equivalent of standard libraries. Ex: if you want a DMA engine, a PCIE interface, Ethernet, etc... you either have to build that from scratch, or buy IP from a vendor, there's not a lot of open source. There is opencores.org, but when a company is investing a lot in their own hardware design, then tend to want higher quality, or more recent/updated designs.

            But the IC/hardware toolchain is a separate issue from the design itself. It's largely proprietary, probably due to the niche market and large R&D costs involved in some of the tools.

        • pabs3 6 years ago
          • gricardo99 6 years ago

            If you know of any chips taped-out, and shipping in volume, that used any of these as their primary tool, I’d be very interested to know more about that.

            I’m aware of chisel used to verify some RISC-V cores that were fabricated, but that’s a research POC, not a volume/production ASIC.

            • palmerdabbelt 6 years ago

              All of SiFive's chips use Chisel, it's our primary design language. We use commercial tools post-Verilog (ie, synthesis and place+route). We use Verilator for some simulation, but also use commercial Verilog simulators.

              We have chips shipping in volume.

            • orbifold 6 years ago

              Chisel was used to do Google‘s Coral TPU, although most likely they used commercial simulators as backend.

      • garmaine 6 years ago

        Those are still mostly scientific domains, and science has been rooted in open source. Most mechanical and civil engineering, on the other hand, is done in Matlab scripts and proprietary simulation frameworks. Matlab is Wolfram’s chief competitor, not Julia, R, or Sage.

        • new4thaccount 6 years ago

          Yea, AutoCAD is huge for Civil Engineers and Matlab is also pretty big for many engineering students, academics, and research professionals. I think most of the heavier users in industry used it all through grad school and then brought it over into industry. Most of us engineers that just have a bachelor's degree weren't as firmly rooted in Matlab and just picked up Python as our first post academic language. Both are good. Matlab has some advantages like bundling suitesparse (world class linear algebra subroutines)and handling the license of that so you don't have to get one yourself (assuming you want to sell your product).

          I think Python definitely wins as a scripting language lingua franca though. It is free as in beer, open-source, available on any OS I care about, and most of the software I use has a built-in Python API.

          Mathematica is big in academic math and physics programs, but I haven't seen it in industry as much as Matlab. Believe it or not, my company had a major accounting application written in Mathematica, so it does pop up in weird places.

      • rch 6 years ago

        An exhaustive list would get tedious pretty quickly, but I'm imagining that using this engine would be roughly equivalent to building around Rogue Wave IMSL libraries or Mapbox Atlas.

        It seems like using the SDK in your language of choice would be a reasonable way to leverage the engine where it makes sense.

      • Rebelgecko 6 years ago

        >It’s mostly been things like satellite antenna control software

        IME even getting binaries from an antenna vendor can be like pulling teeth, are there some good open source solutions out there?

        • reikonomusha 6 years ago

          I was involved in the software stack for developing antenna software for the antennas themselves, which used a Linux stack with C (and even Lisp!).

      • astura 6 years ago

        >What programming language stack do you (and a lot of other developers) use that’s closed source with no realistic open source alternative?

        Matlab?

        • danaur 6 years ago

          There are open source alternatives to Matlab like gnu octave

          • Insanity 6 years ago

            And also Scilab I believe. Though last time I used them, Scilab felt quite inferior to Matlab. (6-7ish years ago)

          • Double_a_92 6 years ago

            Matlab lives from all the other toolboxes around it. It's not just the "coding" part.

      • billfruit 6 years ago

        Even when proprietary software is used in these types of fields, like vworks,the source is available for you to build. I wish more proprietary software would include the source when you purchase a license.

      • r_singh 6 years ago

        >What programming language stack do you use that’s closed source?

        MATLAB

      • rusticpenn 6 years ago

        Cadence, Synopsys, mentor, code-meter, muneda and many more

    • palebluedot 6 years ago

      You're either thinking of a tiny picture vs the whole picture (web devs vs programming in general) or you honestly have zero concept of what programming looks like outside of web apps.

      To give some more pushback on this assertion... I've been developing software for 21 years now, and the only positions I had where there was negligible open-source software were in the first couple of years (in the automotive firmware space [OnStar], and a brief stint in some defense contracting). For the last 18-ish years--firmware, systems, enterprise, virtualization, demos, security--everything I've worked on has largely been based on open-source software, or the product was open-source itself. What I've never done professionally: Web app development.

      Honestly, I think it would be hard to overstate the prevalence and impact of open-source software in the field of programming (and really, the entire tech field).

    • acdha 6 years ago

      You could have phrased that in a far less confrontational manner. Claiming someone you don't know has “zero concept” is unnecessarily confrontational, all the more because you're doing that while simultaneously claiming to represent a huge and varied field with absolutely no cited sources for that claim.

      • sa46 6 years ago

        > you're doing that while simultaneously claiming to represent a huge and varied field with absolutely no cited sources for that claim

        I suspect it was phrased strongly because the GP made the same claim in the opposite direction: "Most software is grounded in an open source development and deployment tool chain".

    • romantype 6 years ago

      > you honestly have zero concept of what programming looks like outside of web apps

      Are you serious? I don't do web apps. But almost 100% of our stack is based on open source technologies. Python, Twisted, Go, etc. Every single thing we use is open source.

      It is ironic that you are accusing someone else of having zero concept of what programming looks like outside of web apps when one could easily think the same thing about you.

      • AshamedCaptain 6 years ago

        And then you go and quote three examples whose primary use (and for 2 out of 3, their creators and/or creator companies where web developers).

        And even most Go software is proprietary, hidden behind Google's bar.

        • snazz 6 years ago

          You can create closed-source software using open-source software. That’s how Google made so many billions and that’s probably why the AGPL exists.

          GCC was so revolutionary because it brought a pro-level (although not at the start) compiler toolchain for free and allowed developers who were so inclined to improve and modify it.

          And lots of Python code is for things like machine learning, Go runs lots of DevOps/neo-infrastructure stuff, and I can’t comment on Twisted.

    • simias 6 years ago

      The parent goes too far in one direction and you go too far in an other. I work in embedded linux development and my entire toolchain (kernel, userland, compiler, flashing tools, and desktop environment) are 100% open source. I suspect that people who target Windows or Mac OS might be in a different situation but that's to be expected, when you target a closed proprietary environment you end up having to use closed proprietary tools.

      Admittedly I go out of my way to avoid including closed source components in my work but that's not just an ideological decision. As the parent points out, and especially when you're a developer, there's a massive amount of freedom and power to open source tools. Don't like something? You can tweak it any way you like. You don't have to worry about the IP owner pulling the rug from under you without notice. I want to use that code on my MIPS32 target? I can try to port it, I don't have to beg the vendor to release a version just for me.

      If anything in my experience the archetypal "modern web dev" crowd (the one that got into programming through Javascript, basically) is the one that benefits the least from this because often they don't dare to patch their window manager or their shell to customize them. These days C is often considered a weird arcane language, something like the Latin of CS (including in this very forum) so people don't feel empowered to modify these applications. The fact that modern DEs like to treat their users like slow children instead of exposing the tools that could help them become "power users" probably doesn't help.

      Then of course for people who don't actually try to read or modify the source of the programs they use "open source" is more of a political statement than anything else. There's no real benefit for them.

      I'm making generalities of course, I'm not saying that all web devs fit this description.

      I hope this trend will change as newer, more "friendly" languages like Go and Rust make forays in the system programming space. Hopefully that'll motivate the new generation to get over their fear of system programming and start embracing and customizing the tools their use.

      • r-w 6 years ago

        Using a Mac. Can confirm that almost everything that’s actually built upon by other stuff is open-source. Even much of Apple’s development software is open-source.

        • jonhendry18 6 years ago

          "Even much of Apple’s development software is open-source."

          Not at the GUI level. Xcode and Instruments make use of open source toolchains underneath, but aren't open source themselves, nor are the Apple frameworks they're built on.

    • bdowling 6 years ago

      There are many programmers making closed-source software using open source tools. For example, anything that runs on an embedded Linux platform is built using open-source tools (e.g., GNU compilers and open-source libraries) and is usually closed-source. There is also anything that runs on an open-source interpreter (e.g., Python), which includes a lot of things that aren’t web apps.

    • enriquto 6 years ago

      In applied math, data science, statistics, the OP is right: free software is the norm.

      • LolWolf 6 years ago

        I’ll add to the list: mathematical modelling, optimization, control, essentially all machine learning, etc.

        Except for perhaps optimizers (which some of the best are closed source, e.g. Mosek), the entire rest of the stack is open source.

        • new4thaccount 6 years ago

          Yea, I was going to say that many solvers are closed-source and incredibly expensive and have very restrictive licenses (basically all the good ones).

          • enriquto 6 years ago

            Cholmod is arguably the best solver for linear systems and it is free software.

        • kgwgk 6 years ago

          CUDA is not open source.

          • muyuu 6 years ago

            Without the proprietary and exclusive hardware, something like CUDA would DoA. Wolfram is trying that, as MathCad and Maple did back in the day and still MATHLAB kind of pulled off (Octave is coming though). This is a pretty steep slope they're fighting against because many programmers don't want to give away that sort of control easily. I remember when closed-source SmallTalk was the norm in the 90s, also Fortran systems or EIFFEL. Borland, Delphi, Watcom did okay for some time but they didn't lock you in so hard - it was "something standard with extensions" (a bit like C# which by the way, I avoid on these grounds alone).

          • LolWolf 6 years ago

            Sure.

            Neither is the hardware, nor is Intel’s or the Motherboard’s, etc. Would it be ideal? Sure. Is it possible to have every level be completely open source? Maybe, but you’d struggle.

            I still believe the point is clear, though.

            • kgwgk 6 years ago

              Ah, you're right! The whole stack is open source if you ignore the non-open-source parts. (Intel compilers are also popular, by the way.)

              • LolWolf 6 years ago

                Look, the point here is to be as open as it is to be practical.

                In my lab, we attempt to use as much open source software and parts as is possible without literally spending years waiting for RISC-V to become mainstream along with fully open source GPUs and computing cores, open motherboards, RAMs, etc... this doesn't even include fabrication or other useful software which runs our machines (do you want to have a several-million-dollar photolithography machine running on poorly maintained OSS?). Yes, should that machine be open in a perfect world? Of course, that would be incredible and in the spirit of verifiability. But right now it is not and there is little we can do about it.

                It's clearly impossible (or completely and utterly impractical) to pretend that somehow everything can be done in a fully open source way, and it's easy to go down the rabbit hole pretending to be on the high horse of "our stuff is more open." My point is that what can be made with OSS, we almost always attempt to make with OSS, not everything we make is perfectly open and transparent, because it literally cannot be without so much effort as to render the entire thing completely useless.

                So, sure we use Mathematica in some things when the OSS alternative is mostly unworkable or unusable, but by and large we attempt to be as open as possible such that people can verify our results without needing to spend thousands of dollars on software whose internals we don't generally know. Do we rely on Intel software and hardware which could have another floating point bug? Sure. But it's hard to be at all productive if you don't at least assume a bare minimum, even if that standard is not completely open.

            • jforberg 6 years ago

              No, your point is still extremely muddled. Cuda and Wolfram are both compilers/runtimes, they fill exactly the same role of translating high-level code into something that can run on hardware.

            • brobdingnagians 6 years ago

              But I'm not so sure it would be ideal. There are things which thrive better as closed source. I prefer closed source IDEs, they tend to be better designed with better long term vision. Most open source projects suffer from a lack of long term vision, tight design, and funding. There are some which do well in those, but not the majority... There are quite a few things that thrive better as closed source which would have little chance as open source projects.

              Proprietary closed source has a built in mechanism for funding. That's a major plus.

      • mruts 6 years ago

        Excel? SAS? Stata? Matlab? All are very popular tools in data science and statistics. You could argue that open source tools have become more popular recently, but I would hardly call open source software the "norm."

      • nfoz 6 years ago

        Really depends which niche you're in. Matlab for example is also a major player.

        • RosanaAnaDana 6 years ago

          Not in production environments. Push is (as it should be) towards open source.

          • kgwgk 6 years ago

            Mathworks' revenue is $1bn, it has doubled in the last decade. Someone may be using Matlab.

            • Spivak 6 years ago

              A ridiculously large number of people use Matlab as a tool. I can't think of a single engineer that doesn't curse its name regularly but I've yet to encounter any actual applications written in it.

              It's Excel for engineers.

              • gmueckl 6 years ago

                I have seen people doing amazing and complex things with Matlab, including fancy GUIs and stuff. But it is almost exclusively used for internal tools as far as I know.

              • new4thaccount 6 years ago

                I think this often happens anytime there is a large amount of legacy software written by folks that had software has a tertiary skill on their tool belt.

                The Matlab IDE is not bad though and is a lot like Python's Spyder IDE. Also, a lot of Matlab commands have fully browsable source provided I've been told.

      • ras_west 6 years ago

        I think there are people in applied math data science and statistics who use Windows and OSX.

    • opportune 6 years ago

      Most programming languages are open source (or have an open source skin). Most frameworks in any language are open source. As are most commonly used libraries.

    • jasonhansel 6 years ago

      Really? OpenJDK, .NET Core, gcc, etc. are quite popular outside of web dev. What we really need is an open source implementation of the Wolfram language (a side project idea I've had for a while.)

    • mhh__ 6 years ago

      C, C++, Fortran, Haskell, ML, Anything .Net, Rust, Java, Go, Linux etc. Are all open source so I think you are correct but way off in terms of scope

    • linsomniac 6 years ago

      That is true, to some extent, but the cost of commercial software makes my company think really hard before we go that route. It has to have a clear and obvious value, or we are reluctant to seriously consider it.

      I'm not talking about the dollars, that's relatively minor. It's all the things around it, especially with licenses becoming more complex, including core counts, including all these weird provisions related to when and how and what features can be used in dev and staging and production, what versions of other software they can work with, etc...

      The software that we can buy and just use without thinking about it is great, but it's really few and far between these days.

      We can spend weeks or months analyzing the things surrounding the commercial licensing for a product, and that is spending one of our most valuable resources: attention.

    • bborud 6 years ago

      Wolfram Engine is not an IDE, or a photo editor, it is a programming and runtime environment so you can't compare these things. They exist in different worlds. If you want lots of money for people to even use and learn your language, you have to provide a free alternative to get people onboard. You can choose not to, of course, but they you will limit the reach and the importance of the product.

      (No, being able to use a sandbox is not sufficient to properly learn any language because that's not how you use languages to build stuff)

      And before anyone says how important Wolfram Engine is and that this is the going rate for specialized software: nobody cares. Because you are probably wrong if history is any guide. Lots of software used to be niche software and isn't today. Things change. If it's expensive and only available at a steep price, then only those who need it will buy it. The curious will get their kicks elsewhere.

      There used to be a time when database professionals stomped their feet and yelled if you suggested Oracle might consider a Linux port of Oracle. "Impossible! People who use Linux aren't into paying for stuff!". And then it got released and then Linux became its most important platform.

      Things change.

      In order to get people to include it as an infrastructural component you probably have to ensure that it is free for non-commercial use. I'm not sure if you have to open source it. I use lots of stuff that is free for non commercial use - and then I use it commercially and pay for a license. Occasionally really expensive licenses.

      I've looked at Wolfram Engine a few times, but in the end we never used it because it just didn't have a great enough following among programmers. I couldn't just tap into a talent pool when recruiting. It was hard to find experience.

      I tend to choose tools based on the _people_ I can find to use them. In fact, usually the people I find choose the tools. That goes for how I choose languages, software, cameras, cars, motorcycles...you name it. No vibrant community means I don't buy in. And sure, there are lots and lots of cameras that are better than mine in that price range. But the cameras are not all that important. The people are. Who I can collaborate with, who I can learn from, who can help me solve problems.

      Also, it tended to be a bit on the expensive side for what I wanted to use it for. Sure, I could have contacted Wolfram and said "look, we want to use it for this, but the licensing model doesn't quite fit", but how many developers do this?

      (I remember thinking about buying Mathematica several times to tinker with it, get to know it and then perhaps see if I could use it for something. But it was expensive, and I'm not spending that amount of money for something I'll maybe going to play a bit with and then perhaps forget for a year. This too makes Wolfram Engine a bit of "interesting, but I'm not going to invest time in it".

      And I can't say I've ever blamed Stephen Wolfram for it. He has a product that makes a bunch of users happy and him rich. Who am I to tell him that he should do things differently? So he exists over there and I exist over here and everyone is happy.

      I'm excited about this change. I wish it had happened sooner so it could have had more of an impact. It certainly put Wolfram Engine back on my radar.

    • shawnz 6 years ago

      Can you give some examples of industries where the development tools are NOT mostly open source?

  • alain94040 6 years ago

    I don't care that it's not open source, it's a unique technology. Actual algorithms solving actual problems correctly. None of that fuzzy search that you'd get if you used Google. It's an amazing tool in its domain.

    • reikonomusha 6 years ago

      I absolutely don’t contend that it can’t do incredible things, and I think a huge swath of developers would be eager to take advantage of these capabilities were it under more permissive circumstances. I’m also happy for you that you have the latitude and willingness to build software in a programming language toolchain that is not under your control, both technologically and legally. I know at the companies I’ve worked for, including it as a part of the product would not fly with so many departments, most notably legal, exec leadership, and most SW developers.

      The reason for its dismissal goes a bit deeper than the simple fact that it’s not open source. We pay for other software (like E&M solvers), why not this? Because its use is not compartmentalized. It’s a programming language with the world’s most expansive standard library. Just as is the case with—say—Python, folks using this have no end to what they would build, including company IP. The code would absolutely not be portable, and your tech stack would be vendor-tied. That’s a danger zone for any serious enterprise.

    • msla 6 years ago

      My problem with it being closed-source is that it doesn't form a stable platform for my work. If they decide to change their product in incompatible ways in the future, I'm sunk. I have no recourse, I cannot fix the problem if it goes deep enough, and there are no other implementations.

      I learned this lesson (albeit from a distance) when Microsoft killed off Visual Basic 6 and replaced it with Visual Basic .Net.

      • dangoor 6 years ago

        I've got no stake in this, but I'll note that from the claims Wolfram has made, they've got a 30 year track record in which notebooks going back to 1.0 still run in the latest version.

        • reikonomusha 6 years ago

          But does your version 1.0 you purchased still run? Or have you been forced to upgrade over the years?

          • r-w 6 years ago

            I don’t think being forced to upgrade is as much of a concern as receiving incompatible upgrades, or not receiving anything at all. Remember, Wolfram is trying to reach industry here, not just individual software developers.

      • angrygoat 6 years ago

        I agree. Plus, you can't peer into the layers underneath your software – if I'm writing code in Python or R, everything underneath me is there for inspection, if needed.

        A closed source solution, where all you have is documentation (potentially flawed), including manually authored change information, just feels archaic at this point.

        • quickthrower2 6 years ago

          A lot of people use AWS though, right? It's about trust. Not trust in a "Amazon are good people I trust them" but more like "Amazon incentives are aligned with mine for this project, and I trust that using their platform wont f' me up down the line".

          Companies should derive that trust factor from other factors based on their unique circumstances. If you are Amazon's competitor for instance it is probably not wise to use AWS for anything, but if you are a startup it could be very wise to take a bit of lock-in to avoid rolling your own infrastructure. If you are an established company maybe use AWS but in a way that you could move to another provider without too much pain, but balance that against some of the goodies you get by staying locked in.

          I guess the same nuanced considerations have to be made to decide to use Wolfram Engine or not. There is no clear answer that suits all end users.

          I've been reading as much as I can on RMS's site recently because I want to expand my mind on these sorts of topics. I really want to understand how "free" software can work at a practical level, where you say "here is a piece of software, it's $1000 from me, and you are free to give it to your friends, modify it, and resell it, even to people who would have paid me $1000, but now they wont need to" and how that ties in with making a sustainable business. I think it takes some luck and good imagination to make such a business work by selling some by-product such as consulting services or whatever. But for a lot of companies non-free is required in my opinion to exist as a business. Happy to have my mind changed.

          • msla 6 years ago

            AWS is more of a commodity, right? You use it for compute and storage and networking, but how much of what you write is intrinsically tied to AWS? With what we're talking about here, there's a language and a bunch of libraries where, if the company decides to change things, your code stops working, and there's no way to make your code work again without rewriting some arbitrary amount of that code. Maybe the company decides that a whole kind of activity is now bad, and you can't do it at all on their platform.

            With AWS, you can pack up and go to a different cloud provider, and get the same Linux and the same gcc and the same TCP/IP stack. There's probably some other code you'd have to change, but the essential core is non-proprietary and nobody can take it away from you. Abstracting further, if Linux decided to go in a weird direction, you can get a POSIX-conformant Unix-like OS from other groups, like FreeBSD or Illumos. The Linux codebase can be forked as well, providing an even stronger insurance relative to what happens when some company's or business unit's incentives no longer align with yours.

            And that part about aligning incentives is powerful. In the closed-source world, it's also fragile: One company being bought out can shift things tectonically for all of the software that company made. It becomes a treadmill, or a movie routine of constantly jumping from platform to platform as each of them dies off or is pulled out from under you as "corporate synergy" realigns strategic chakras feng shuis your old codebase into worthlessness.

            • johannes1234321 6 years ago

              > fahre dann mit dem Taxi zu einer Villa am Stadtrand. Ein bedienster steht am Eingang,

              If you are "seriously" using AWS: A lot. Value of AWS is not that it offers compute nodes. But a full catalogue of further services and tooling APIs and migrating of that can be a big project.

    • enriquto 6 years ago

      lol it's not unique

      maxima has existed for ages, maple has very similar fatures

      • throwawaymath 6 years ago

        It's not unique in that there literally exist other computer algebra systems (CAS), sure. But it is unique in two meaningful ways:

        1. It is arguably the most sophisticated CAS available. Open source tooling has crept up in performance and completeness in recent years, but Mathematica still dwarfs every open source system in performance and feature availability. Competing proprietary systems like Maple are capable of beating Mathematica in certain specific domains (like PDEs), but that leads me to my second point.

        2. Mathematica isn't just a CAS. It also supports sophisticated data analysis and ingestion, visualization, (some) machine learning, natural language processing, speech recognition, signal processing, climatology, meteorology, geography, financial analysis, and limited forms of convex optimization.

      • ras_west 6 years ago

        Some things that Wolfram Language does that maxima doesn't: machine learning, image processing, audio processing, time series analysis, user interface construction, build-in data, geo computation, natural language processing....

        Maxima is just a computer algebra system- one small part of what Wolfram does.

        • gmueckl 6 years ago

          Are Maxima's CAS algorithms comparable to Mathematica's? I have tried to used Sage and other systems in the past, but Mathematica has always been better at finding solutions for what I tried to do. But I have never used Maxima for real.

          • reikonomusha 6 years ago

            Maxima is a serious CAS and can do serious work, but it’s a few decades behind the latest R&D. It can do algebra and calculus usefully.

      • alanbernstein 6 years ago

        Can you explain which features are similar? I am not an expert, but I suspect you are discounting some significant features of Wolfram.

        • enriquto 6 years ago

          Computing symbolic derivatives and integrals, simplifying algebraic expressions, arithmetic with arbitrary length integers, solving simple ODE, computing limits and series, things like that.

          • reikonomusha 6 years ago

            Maxima is a fine piece of software, and I’m a huge proponent of its development, but doesn’t compete in the breadth or depth of Mathematica (or Maple) at all.

            • enriquto 6 years ago

              It certainly competes due to the fact of being free software, which is a strong requirement of my workflow. I can try Mathematica and Maple (and love them), but ultimately I have to end using a free software solution.

              • enraged_camel 6 years ago

                >>It certainly competes due to the fact of being free software, which is a strong requirement of my workflow.

                The parent said it doesn't compete "in the breadth or depth of Mathematica" and you responded with "it does compete because it's free!"

                Your response does not refute the parent's argument.

              • reikonomusha 6 years ago

                Indeed, being open source is a major advantage!

              • r-w 6 years ago

                > Maxima… doesn’t compete in the breadth or depth of Mathematica (or Maple) at all.

        • fkwolfram 6 years ago

          You don’t get it do u ?

      • fkwolfram 6 years ago

        I agree. But folks here are from the wolfram company so

  • brobdingnagians 6 years ago

    You seem to have an axe to grind. They have made a very nice ecosystem over the course of 30 years, they are opening it up more. They are proud of "how uniform, elegant and stable a design we’ve been able to maintain across the whole language." It is difficult to get that in an open source project and ecosystem. This has some marvelous qualities that come from its closed source nature. It is special because of that. Having both open source and closed source projects in the world complement each other. Use the best tool for the job. Sometimes the best tool is to be closed source, sometimes open source. There are pros _and_ cons to _both_. I think it is great and applaud them for making such a nice tool, and now making it more widely available. Maybe it wouldn't be so great if it started out open source, or would be similar to open source things and not be distinct enough, so I'm grateful for what it is and what it is not.

    • reikonomusha 6 years ago

      No axe to grind. I’d like to think I’m a representative sample of my fellow software engineers. I don’t even want to make statements about open vs closed source generally. But as it pertains to developer tools (compilers, interpreters, debuggers, runtimes, standard libraries), open source has been hugely successful, hugely popular, and both individuals and corporations depend on that fact. You’re right, and I think I fairly painted a picture of Wolfram’s thesis about Mathematica being a commercial closed source product: He has the best general-purpose CAS on the market right now. That’s real value! But it’s not persuasive enough to spend my (or my employer’s) time, energy, and other resources into making it the source language of my (or my employer’s) product, IP, services, open source libraries, etc. Under discussion is a tool to write and run code in Wolfram Language, with a premise that providing the tool free of charge for use in a limited set of legal circumstances is useful. I argue that the legal framework around the usage of the tool is more consequential to its adoption and use than the cost.

      With that said, I don’t speak for everyone! If folks find this tool useful, love writing Wolfram code, have no expectations about the portability or maintainability of the code, trust Wolfram and the contract to which they’re agreeing, then by all means! More value for people is better!

      • szhorvat 6 years ago

        "I’m a representative sample of my fellow software engineers"

        I'm a bit puzzled about how strongly you seem to be feeling about this topic. Given your comments, you seem to be quite far from the target audience of Mathematica. It's not for software engineers. Most productive work done with Mathematica is not "building software" ...

        But given all this hostility, have you downloaded it, and have you tried it? Or is all this just philosophical (i.e. the least interesting) criticism? There seems to be no experience backing your comments.

        • reikonomusha 6 years ago

          I do computer mathematics. I’m the author of a computational group theory package [2], and my day job is in quantum mechanics and quantum computation, but in that I’m building packages in a software engineering capacity. The algebra gets pretty gnarly. Check out a recent paper, which includes both a math [0] and SW [1] component. Perhaps because of this I’m unusually representative of the intersection between math and software.

          I hope folks aren’t finding my comments hostile. I have used the Mathematica product before in their GUI and at the command line, and some of my colleagues use it for various calculation tasks. I’ve opted to stick to open source alternatives like Sage, wxMaxima, GAP, and Axiom/Fricas.

          The engine doesn’t give you a license to Mathematica, so I don’t presume the target audience is the collection of folks who want to do differential equations with plots. The article emphasizes lots of software things (languages, integrations, etc.), so actually I do believe they’re targeting software engineers.

          You should note that I have not criticized their features, but rather restrictions on the use of the product in the first place . Maybe that would be interesting to read, but instead I have commented on the leading question in Wolfram’s article. I have not and will not download their Wolfram engine in its current state though for the reasons I’ve outlined. Do recall that using it means I’m bound to a legal contract, and that’s not one I’m willing to engage with.

          [0] https://arxiv.org/abs/1904.10541

          [1] https://github.com/rigetti/quilc/blob/master/src/compilers/a...

          [2] https://github.com/stylewarning/cl-permutation

          • ycombinete 6 years ago

            I think people are confusing your certainty with hostility. I've read all of your follow up responses in this thread, and don't see any kind of hostility. What I am seeing is a lot of ad hominem hostility being directed at you as little prefaces to people's arguments.

          • iamwil 6 years ago

            No, your comments have been rather measured, and I applaud you for it.

          • mark_l_watson 6 years ago

            cL-permutations looks nice!

            As an old Lisp programmer, it makes me feel good seeing CL applications.

            I broadly agree with your points in this conversation but I am downloading the Engine right now. I also did a ten day free trial of Mathematica recently. I have a little time to spare to kick the tires.

            BTW, in the same way that Keras has functionality to download some standard data sets and cache them locally, I would like to see more CL projects do the same. Julia has a few such packages. Having easy to access data is a selling point for Wolfram Language.

        • marmada 6 years ago

          Not sure how the parent comment is hostile. They aren't critiquing the system itself, they are critiquing its method of distribution.

          As such, this comment:

          >But given all this hostility, have you downloaded it, and have you tried it? Or is all this just philosophical (i.e. the least interesting) criticism? There seems to be no experience backing your comments.

          does not seem to apply

      • brobdingnagians 6 years ago

        I agree on that point. It definitely wouldn't fit for a lot of people, and licensing is extremely important. Point taken on developer tools as well. But some diversity doesn't hurt there. :)

    • r-w 6 years ago

      I don’t think OP is axe-grinding, just responding to Wolfram’s naïve sentiment of “I don’t get how anyone could possibly see any downsides to this!”

  • Gene_Parmesan 6 years ago

    If they open sourced it, it would be less than a year before you'd start seeing "Azure Wolfram" and "AWS Wolfram" and so on and I can sort of understand why he might not want that to happen.

    • enriquto 6 years ago

      > If they open sourced it, it would be less than a year before you'd start seeing "Azure Wolfram" and "AWS Wolfram"

      and using an AGPL licence, there would be no danger for them!

      • bdowling 6 years ago

        An Affero GPL (AGPL) license wouldn’t prevent AWS or Azure from competing with Wolfram’s cloud service, it would just require that they publish their changes to the source code. They’d still eat Wolfram’s lunch, which is why it won’t happen.

        • VvR-Ox 6 years ago

          Exactly. That's a good example what's wrong in our world. As long as this won't change we won't get closer to the FOSS world that every human deserves.

          • ninju 6 years ago

            > "to the FOSS world that every human deserves"

            Please explain how/why FOSS is human birthright?

            Making good software requires significant effort (both up-front and on-going) and being compensated for that effort is reasonable

      • GordonS 6 years ago

        There are ways around this. I quite like what TimescaleDB have done, with most features OSS, and the more advanced features are under an open source license that permits use for those building a product around it, but preventing TimescaleDB as a service.

        • pabs3 6 years ago

          A license like that discriminates against fields of endeavour (cloud companies), so it doesn't comply with the open source definition (item 6):

          https://opensource.org/osd

          • GordonS 6 years ago

            Agreed, which is why I specifically didn't refer to the TimescaleDB TSL license as "OSS".

          • hoseja 6 years ago

            Then maybe open source definition should update as new ways to exploit it have been found?

            • GordonS 6 years ago

              Agreed, but I think there would be big pushback from OSS proponents - in theory changes like this are diametrically opposed to the "No Discrimination Against Fields of Endeavor" tenent.

              The problem of big cloud providers ripping off OSS works is a new one, but it is explicitly allowed by OSS licenses - really not sure what a "good" solution is here, but personally I like the route TimescaleDB has gone down.

              • pabs3 6 years ago

                I don't think it is a new problem, there have been people offering Apache servers as a service for a long time. Same for PHP, Wordpress and myriad other open source projects.

        • babyloneleven 6 years ago

          There is no open source license like that.

          • GordonS 6 years ago

            TimescaleDB's TSL license is not "OSS", but it is open source.

            TimescaleDB has a good blog post about why they went this route[0]

            I do think that perhaps we need to stop being so snooty about OSS vs open source, and recognise that companies with open source products are allowed to make a profit while preventing the big cloud providers from scalping them.

            [0] https://blog.timescale.com/how-we-are-building-an-open-sourc...

    • WorldMaker 6 years ago

      If Wolfram is correct in how game changing the Wolfram Language, Engine, et al are, then commoditizing it to the point that there is an "Azure Wolfram" stack and an "AWS Wolfram" stack may be vindication. (Maybe not very profitable vindication, but real bonafide "people are using it and happy with it" vindication.)

      Azure and AWS already have competing stacks to Wolfram, it is just various and sometimes incompatible hodgepodges of R, Python, Jupyter, and so on and so forth.

      • discreteevent 6 years ago

        There are a lot of poor quality open source packages in use. Some are just chaotic. But people still use them, often just keeping themselves much busier than they need to be. Of course there are a lot of high quality packages in use as well. So popularity does not correlate with quality (in many fields)

        If Wolfram open source their stuff and people use it, it won't necessarily be a vindication. At the moment they have people who are willing to part with cash to get what they make. That's a definite vindication for anyone who makes things.

    • slig 6 years ago

      Can't they use a more restricted license that prevents that?

      • romantype 6 years ago

        Which more restricted open source license would prevent that? There is none!

        • mhh__ 6 years ago

          It can be done. If no license allows you to what you want, get your lawyer/s to draft one for you

          • gmueckl 6 years ago

            Open source has a clear definition. The kind of license you want is not compatible with that. It would be a valid software license, but not open source.

            • tolmasky 6 years ago

              "Open source unless you make more money than us" is what it sounds like, and might actually be worse than closed source.

            • garmaine 6 years ago

              I think you are conflating “free software” with “open source.”

              • gmueckl 6 years ago
                • r-w 6 years ago

                  And who put them in charge? :P

                  • grepgeek 6 years ago

                    The community of free and open source software developers.

                    Really, with the kind of license proliferation that was going on due to every Tom and Harry that wanted to publish their own license, it was difficult to understand which license was really safe to use and which wasn't. FSF and OSI stepped in to bring some sanity to this situation by categorizing all the free and open source licenses by their permissiveness and restrictions. The majority of the open source development community adopted these licenses.

                    Any license that restricts making money would neither be considered a free license by FSF nor an open source license by OSI. The license could discourage making money without contributing back to the community and the GPL family of licenses do achieve that to some extent but they cannot outright restrict making money.

                    The OSD has its roots in Debian Free Software Guidelines which for a long time has been the community standard for what guarantees free software must provide. FSF's four freedoms of free software are also similar. OSD adopted Debian's guidelines to create the open source definition.

                    If a license does not allow us to run a software how we wish we lose freedom 0 to run the software how we wish. We lose the right to use the software for any field of endeavor. You might want to consider it "open source" because you can still see the source but widely accepted terms like "open source" do not get redefined so easily based on how some people feel about the term. The term's meaning still remains intact due to the meaning it holds for the vast majority of open source software developers.

          • frabcus 6 years ago

            "Open source" is generally taken to mean follows the OSI's definition at https://opensource.org/osd

            There are other terms for source which is available but proprietary, such as "shared source".

    • r-w 6 years ago

      They’d have to use a license similar to MongoDB’s.

  • pokoleo 6 years ago

    At one time or another, I attended a talk given by wolfram and asked roughly the same question.

    His response belittled the question, calling it naive. His smugness was astoundingly tone deaf.

    Until he figures out how to answer questions like this without using shame to cow developers into line, I’m staying away.

    • johannes1234321 6 years ago

      Of course it is naive - his business is built around it. OpenSourcing takes a lot of revenue away from him. Compensating that with support contracts and cloud services won't be easy.

      Not to mention the fact that probably he doesn't own all rights for doing that. Software with such a history often contains third party licensed modules.

    • tinhb 6 years ago

      he gave you nuggets of wisdom imo.

  • pm90 6 years ago

    He won't change because society considers him to be a prodigy (for good reasons, see his early work) and he lives in a cloud of success from where its hard to empathize with how most developers or actual users of his tool work. In essence, he found great success with a business model for software appropriate for his time and has done well enough to not have to change anything.

    Although, perhaps this step is kind of a result of stagnating growth, IDK.

  • nikofeyn 6 years ago

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

    that is simply not true and a rather insular view. i build large complex systems, and all of it is done with proprietary software. in fact, it is practically impossible to do my job exclusively with open source software. most open source software is completely unreliable and ill-fitted for many domains. and just try getting good support for use cases only found in industrial use from most open source developers. i have tried, and it never works out. the response is usually "you figure it out and let us know".

    furthermore, a lot of proprietary software is fairly open source in that you get access to a fair amount of source code. and it isn't dwindling at all.

    • reikonomusha 6 years ago

      I’m not saying it doesn’t exist, but I am claiming it’s uncommon to use closed source developer tools (compilers, interpreters, standard libraries, etc.). The mere fact that the most popular programming languages in the world are provided as open source implementations is a testament to that. There are some stragglers. I think K is closed source. Commercial implementations of APL are closed source but somewhat popular.

      “Source [partially] available” and “open source” are generally considered distinct concepts these days. See for instance [0] or even look up what Google’s dictionary says about the term.

      [0] https://en.m.wikipedia.org/wiki/The_Open_Source_Definition

      • eps 6 years ago

        Nearly all professional Windows development has been and still is done in Visual Studio.

        This alone makes your "uncommon" claim void, and there are other examples outside of the Windows ecosystem equally well-rooted in proprietory tools.

        • reikonomusha 6 years ago

          Writing code in C or C++ does not lock me down in any way. Using the Windows OS APIs does, yes, but there are entirely robust ways of writing C++ on Windows using an open source toolchain that are popular. And as we have seen, Microsoft is increasingly going in a direction of open sourcing more and more of their tooling. Look at everything that has gone on with C#, F#, the .NET stack, etc. So while I agree with you that MSVC is used, and used often, I don’t think that’s a strong argument.

          Now if MS had their own language (they did...) that was closed source (it was...), the argument would be more akin to this Wolfram debate. But MS learned that wouldn’t fly, and adopted an OSS strategy.

          • eps 6 years ago

            >>> I am claiming it’s uncommon to use closed source developer tools

            >> Visual studio

            > I don't think that's a strong argument

            Lovely talking to you.

        • romantype 6 years ago

          I have changed 7 jobs in 15 years so far and not once I have done Windows development in Visual Studio. Nor have I seen anyone in my company doing so.

          I would say Windows development in Visual Studio is by far uncommon when you compare with technologies like Python, C (with GCC or Clang), Java (OpenJDK), JavaScript, etc.

          • new4thaccount 6 years ago

            I work with a lot of C# devs using Visual Studio for some things and VSCode for others. I assume it is not uncommon in industry.

        • phillipcarter 6 years ago

          It's worth noting that the Visual Studio umbrella also involves many OSS technologies. If you're writing C# or F# code targeting .NET Core, the language, compilers, libraries, runtime, build tools, and parts of the IDE tooling are all open source.

    • new4thaccount 6 years ago

      I will say that although most of the proprietary software that I use is closed source, one major provider has so little documentation that they're pretty much forced by customers to provide source and that is super nice. I can actually call up a dev, tell them where the problem is located, and how to fix it. This saves a lot of money in bug patching.

  • juskrey 6 years ago

    This is bullshit. Most of the OSS is done by overbored corporate coders on good salaries, that is paid from the pockets of other successful businesses.

  • carry_bit 6 years ago

    Hopefully this is the first step in a series of steps to get there.

    Doing it in one big jump would probably impact revenue so much that it would take too long for them to grow out of it. Hopefully this change will increase their growth rate without much change to revenue, making it faster to grow out of, and prepare the way for further changes.

  • kaveh_h 6 years ago

    He should open source the Core language and then license all the extra functionality in paid for libraries. That would at least make it more possible to opt out the paid for functions or if you would like to have it opt in later.

  • kluck 6 years ago

    Sort of Wolframs reply to why Wolfram is not open-source: https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-op...

    • reikonomusha 6 years ago

      This blog post conflates open source with a community development model.

      • kluck 6 years ago

        Their main worries with open-source seem to be:

        1 Fear of losing control (over their vision and centralized design of computation and representation of the Wolfram language).

          This is just false, as they would be in control over their project even if open-sourced.
          Forks would be possible but would not influence the original source (if not wanted).
        
        2 Fear of lack of innovation.

          I cannot see why this would be true.
        
        3 Fear of ignorance towards hard/boring dev. topics.

          I see how that could be a problem. One solution would be funding (s. point below)
          to pay devs for the boring stuff.
        
        4 Fear of lack of funding (because dev. costs money... surprise).

          Their main point (and probably a big issue of a lot of other companies
          thinking about open-sourcing their software) and a very valid one indeed. 
        
        So I guess they just have not got a business modell ready involving open-sourcing their software. Wolfram seems not so much against open-source from a philosophical point of view but they clearly think they would not be able to fund their dev. efforts without their software revenue.

        @Wolfram: The most important assets of Wolfram are the devs. working there, not the software itself. Given this huge knowledge base around the topics covered by the Wolfram language, the support-business-modell could very well work! Also from a philosophical point of view: Wolfram claims to unify disparate fields of all of science which kind of is a scientific achievement on its own. Scientific results should be available for all people of our society.

  • ras_west 6 years ago

    >Most software is grounded in an open source

    That depends on the software development segment. If you are creating 3D games you would expect to build on top of Unity or Unreal because unless you are a major studio building the infrastructure yourself is expensive, slow and not as good. The question is "is computation" such a segment?

    • billfruit 6 years ago

      IIRC, I think Unity source is available if you purchase the appropriate license level, but Wolfram source is not available at all.

  • jasonhansel 6 years ago

    Can someone make an OSS implementation? Doesn't seem impossible especially now that we have Truffle/Graal.

  • jasonnyberg 6 years ago

    There is immense value in the amount of knowledge that they've curated and integrated into the system.

    • enriquto 6 years ago

      And it will be a shame that mankind loses this immense value once the company inevitably disappears.

  • nisuni 6 years ago

    Do you use Google?

    • reikonomusha 6 years ago

      I don’t use Google as my programming language or standard library. (Of course, such a statement is nonsense.)

      • TallGuyShort 6 years ago

        I have used Google as my programming language (Go) and a de-facto-standard library (Guava). Of course, in both cases they're open source. And I've found and fixed bugs when I couldn't get Google to do all of it themselves. And if Google ceased to exist both of these could continue with minimal interruption.

    • nisuni 6 years ago

      You replied to a different question, and declared that question nonsense.

      My question is: do you use Google?

      • romantype 6 years ago

        Yes. Now what's your point?

        • nisuni 6 years ago

          At the question: "Why Aren’t You Using Our Technology?" you replied "It’s not open source." It's two comments above this.

          No one asked about programming languages or standard library (except you when you misunderstood my question).

          Therefore you implied that a good reason not to use a technology is that it's not open source. Literally.

          Then why are you using Google?

          • commoner 6 years ago

            The original commenter did not claim to exclusively use open source software, but only that they have a clear preference for open source.

  • mundo 6 years ago

    > It’s not open source.

    WL is essentially just a bunch of useful functions collected into a common platform, and I think we already have the open source equivalent of that - it's called npm, and it's great, but it is very different, and it has some pretty big downsides which are the direct result of it being an open source project rather than a commercial product. I don't know if WL is as elegant or high-quality or deeply functional as Wolfram claims, but if it is, isn't that likely a result of it being built the way it's built?

    It might be that there's a middle option - a way to open some core part of the language, while still keeping enough closed to make up a service layer that they can charge for, as you described - but today's announcement is pretty strong evidence that they considered that and rejected it. It seems pretty presumptuous to assume they got it wrong.

    • garmaine 6 years ago

      There aren’t really any technical computing things done in JavaScript or hosted on npm, are there? A better analogy might be the scientific Python ecosystem.

carlob 6 years ago

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

    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?

    • carlob 6 years ago

      You make some very good points, and you might be right. My educated guess is that this strategy is to get as many people as possible to try this. That would mean letting people do prototypes for commercial purposes too, but not to ship in production. Now, whether that will be enough to keep people hooked so that they use us in production as well depends on a lot of factors, both technical and political.

      I think your worries about what is kosher and what isn't under this license are warranted and I'll try to point this to people internally so that the licensing terms can be clarified.

      • jcoffland 6 years ago

        I think that what Wolfram is missing is that devs are not interested in getting hooked and then paying subscription fees. The payment model is the problem and devs won't be easily suckered by a free version.

        • garmaine 6 years ago

          I wouldn’t mind paying a license fee... that wasn’t hundreds or thousands of dollars per user, per core. Wolfram makes Microsoft licensing look cheap.

          If Wolfram adopted the Unity model I’d be much more willing to try it out. (free to cheap for hobbyists and small businesses, steep rise in price based on revenue per year)

          • ras_west 6 years ago

            Isn't that the idea of this announcement? Free to start, pay when you deploy.

            • garmaine 6 years ago

              No, Unity allows commercial uses either for free in some circumstances, or very, very cheap, so long as your annual revenue is less than $2M.

              That makes it a no-brainer to use--you pay little or no licensing fees until your game takes off. Unity makes their money off the unpredictable winners, while gifting a nearly free product to the hobbyist and startup ecosystem.

              Wolfram Engine is more like the Epic Games (Unreal Engine) model: free to download and play around with, but steep licensing costs before you ship anything. No way to quickly iterate and try things, only paying up when an experiment works out.

              • AgentME 6 years ago

                UE4's pricing model is a lot like Unity's pricing model nowadays as far as I can tell.

                • garmaine 6 years ago

                  Yes, they changed after Unity are their lunch.

  • leiroigh 6 years ago

    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

    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.

    • reikonomusha 6 years ago

      I feel the same, except with Common Lisp, whose interactivity is maybe only rivaled by Smalltalk, and whose performance can be made close to that of C for real-world applications.

      • eigenspace 6 years ago

        Yes, in fact Common Lisp was what I almost started investing my energy in before Julia. I almost referenced Common Lisp in the parent post alongside Julia but didn't because I never learned it very well and didn't want to speak from ignorance.

        My understanding though is that most of the statements I made also apply in CL though my impression at least from the point of view of scientific computation is that Julia's community is more energetic than CL's. Certainly Julia still has lessons to learn from CL though.

        • veddox 6 years ago

          I get the impression that the communities are different. Not that Julia's is "more energetic" (there's actually quite a bit of activity around CL too), but that it's simply a different crowd. The Julia people seem to me to be coming more from the application side of things - computational scientists who want to do a certain job - while the CL people are more interested in CL as a language, without a specific application field in mind. So although neither of the communities are especially large, the Julia bunch have been more focused on good libraries for scientific computation, which is why their ecosystem is better in that respect. (Also, the "Lisp curse": scientists are more likely to choose Julia as a new language, because it looks more like the languages they already know.)

          Source: I do computational biology with Julia, hobby projects in Common Lisp.

          • eigenspace 6 years ago

            True, if I was more careful I’d say Julia’s scientific / numerical community is more energetic. I definitely don’t want to sound like I’m dissing CL as I have great respect for it and want to be better acquainted one day.

        • lispm 6 years ago

          Julia is influenced by the Common Lisp Object System. But it made it fast for numerical computing. So there is a Julia lesson for CLOS...

          http://p-cos.blogspot.com/2014/07/a-lispers-first-impression...

          • eigenspace 6 years ago

            Indeed, and that actually played into my path to using Julia. I had fallen down the lisp rabbit hole and was super interested in the ideas it advocates and was trying to decide on a dialect to try to commit to for my physics numerical work. After spending some time in decision paralysis (even though in hindsight, CL was probably the clear dialect to choose), I discovered that Julia actually inherited a lot of good ideas from the lisp family and that it had its fair share of cool ideas of its own. Eventually, I made up my mind and settled on Julia as my main language, though I screw around with elisp every now and then for my emacs config.

            I’d like to come back to CL at some point though and gain some proficiency as I think there’s a lot in CL left for Julia to learn from.

      • carlob 6 years ago

        I don't think interactivity and performance are enough to make a good production language. For example, I find Java painful to write without a good IDE, because of all the boilerplate, however it's that boilerplate that makes it very easy to read and refactor.

        • reikonomusha 6 years ago

          Agreed. They have to have a good way to write it (an IDE), a good debugger, a good profiler, a good library ecosystem, a good community, a good deployment story, reproducibility, portability across platforms, etc. I find commercial support helpful as well. Common Lisp has all of that.

    • romantype 6 years ago

      Do you now find that doing both the prototype and full implementation in Julia the better option?

      Sorry, couldn't figure this out from your comment whether you prefer Julia or some other language for doing the prototype and full implementation. If you can clarify this explicity, it would be helpful.

      • eigenspace 6 years ago

        Apologies for the lack of clarity. Yes, I find I really like using Julia from start to finish and really admire that I can do so without compromise.

        I find this approach to be straight up superior to the usual pattern where one starts out in a slow dynamic language to build the prototype and then either replaces certain functions with interop calls to a fast language (losing all the features that brought you to your dynamic language in the first place!) or straight up replacing your entire prototype with a production version written in your fast language and providing bindings to your slow language.

  • JMTQp8lwXL 6 years ago

    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

    MVP for investor is commercial use.

    • phonon 6 years ago

      They allow commercial use for free--just not production use.

      "You can use it to develop a product for yourself or your company."

AlbertoGP 6 years ago

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

    > Open-source projects approved by Wolfram.

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

    • dmitriid 6 years ago

      Isn't that a common thing for commercial products that are provided for free to students, open source projects, non-profit organisations etc.? You have to prove that you're going to use it for what the license allows.

      • reikonomusha 6 years ago

        Perhaps I’m being a stickler for language, but I don’t consider it “free for open source projects” if I have to contact them to get permission to use it in an open source project. My beef is that the word “free” is being thrown around in this article. They should say something more true, like “we provide this engine for experimental personal use at no charge, and if you want to use it for something serious (open source, your company, etc.) contact us for a license.”

        • Crinus 6 years ago

          Free means no charge for the vast majority of people who can understand English.

          • reikonomusha 6 years ago

            “Free” also carries meaning outside of the commercial context and specifically in the context of software to English-speaking software developers. If I heard someone talking about software—especially developer software—being free, I personally would assume they mean “libre”, not “gratis”. But I can understand if that’s not universal.

            • ClassyJacket 6 years ago

              "I personally would assume they mean “libre”, not “gratis”."

              I don't even know what either of those mean and I've been coding and on HN for years. I'm not even sure how to pronounce the first one. In Australia at least, 'free' means it doesn't cost money.

        • dmitriid 6 years ago

          A stickler for language should know that free is ambiguous in English, and their use of ”free” as ”zero cost” is correct. Gratis vs. libre and all that.

          • aflag 6 years ago

            Correct, but misleading in the context.

  • lallysingh 6 years ago

    Is this anything more than keeping version control and responding if challenged with 'git log?'

    • pfortuny 6 years ago

      Nope: "use of the engine" is much more than "what I programmed in it", as far as I understand.

      Read in a very stringent sense it is tantamount to keeping a "laboratory log", which is much much more complex than git.

      (What about some computations you used to help somebody out of your project?).

cs702 6 years ago

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.

  • educomments 6 years ago

    If one of those companies decided to drop decent money on turning SciPy+Jupyter (or Julia) into a proper high-performance CAS, Wolfram would be in huge -- maybe existential -- trouble.

    • mlevental 6 years ago

      mathematica is already in existential trouble. yes some theoretical physicists supposedly use it (i used it undergrad to do all of the annoying integrals in e&m) but that's such a small market it's basically irrelevant. i can almost guarantee there is no production code running that uses mathematica in some way.

  • ColanR 6 years ago

    And sagemath.org.

Jeff_Brown 6 years ago

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

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

    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/

    • educomments 6 years ago

      Can someone confirm this?

      The Algorithmbase is 99.999% of what makes Mathematica useful compared to any language with a decent REPL or notebook setup.

      I can't really imagine a use case for the Wolfram Language if I'm not going to use anything listed in http://www.wolfram.com/algorithmbase/

      • leiroigh 6 years ago

        Mathematica also has god-tier documentation and an interesting and very unique programming language.

        I personally hate programming in Mathematica, but it is interesting and deserving of an open implementation.

      • ras_west 6 years ago

        From the article "...with all its computational intelligence, algorithms, knowledgebase, and so on"

        • tux1968 6 years ago

          But the "its" that the article is referring to is the Wolfram Engine. It doesn't say that is all the algorithms in Mathematica. And the Mathematica website lists Algorithm Base and Wolfram Engine as two separate line items, which is at least surprising if one is contained in the other.

          I actually believe the Algorithm Base is probably included, but it's definitely anything but clear from the website or any of the press release. The Mathematica website makes them seem like two completely separate unconnected components.

          It's really unclear what is included in Wolfram Engine and what is included only in Mathematica... the above was just one obvious example. It would be very nice to have a concise list.

  • szhorvat 6 years ago

    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

    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.

    • eigenspace 6 years ago

      I realize that. But what I said was that I'm not clear on what the 'Wolfram Engine' is and what it cannot do. It doesn't seem like a full implementation of the Wolfram Language for free, but I don't actually know.

      Or is it that it's missing the Mathematica front end but has a full backend kernel implementation?

      • jdiez17 6 years ago

        Yeah, now I understand your question. Reading the blog post made me think it would actually be a full implementation of the Wolfram Language for free.

        So I was curious and signed up for a developer license. I got to the confirmation page, which helpfully told me to run "WolframScript" to activate the license. But there was no download link, so I googled around and found this[1] page. They seem to only have packages for Fedora and Debian-based systems, but no biggie. I used `debtap` to convert it to a package that pacman can install, and then, moment of truth...

           $ wolframscript 
           WolframKernel not found.
           Use -configure to set WOLFRAMSCRIPT_KERNELPATH
           Or export WolframKernel=/yourpath/WolframKernel
        
        Uhhh... okay? And where do I get this WolframKernel from? I looked around my Wolfram Account page, and I don't see anywhere I can get this from. Google also doesn't help me here.

        So... it seems you probably need a full Mathematica/Wolfram license before you can use this anyway?

        Well, that's disappointing.

        EDIT: OK, you can actually download it from [2]. My bad.

        [1] https://account.wolfram.com/products/downloads/wolframscript

        [2] https://www.wolfram.com/engine/

        • ras_west 6 years ago

          Click the Download button on

          https://www.wolfram.com/developer/

          Its linked from the article.

          • jdiez17 6 years ago

            I see, thank you. I must have clicked that link to sign up for a developer license, but somehow I don't remember being offered to download the thing.

            I feel silly now, but that was pretty confusing.

        • iamcreasy 6 years ago

          For me it was being downloaded in the background. Don't remember exactly which button starts the download though.

argd678 6 years ago

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

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

  • halirutan 6 years ago

    No, you're not. It's tiresome, especially when people comment who obviously never had to solve hard integrals or pde's to even come up with a model which can then be implemented in an algorithm. I'm absolutely stunned how short-sighted many of the commenters are. I use Mathematica daily and, still, I appreciate Julia, Python, R.

    All this talk about data-scientists only using open-source is ridiculous. At my university, departments like medicine, biology, chemistry, and life-science make a huge part. The most commonly used programs there are Excel and SPSS. Other departments use Matlab extensively. In finance, SAP is a big player. All of them are closed source and cost money.

    Why can't people just appreciate that it is a huge step for Wolfram to release a free version of its kernel and think that this is an opportunity?

    • t0astbread 6 years ago

      If no one ever criticized restrictions, we wouldn't have the freedom we have today.

      Most people here are complaining about the license, not the software. They think the software is good but the license is holding it down. To me this looks like valuable feedback.

      • demarq 6 years ago

        I see what youre saying but

        > They think the software is good but the license is holding it down

        The issue I'm really trying to point out is

        They think the software is cost free but the license is holding it down

        Wolfram Engine has always been good, but it seems people are more in a huff because it's priced free but not open source.

        I.e expecting that if something is given to you at no cost, it also must be open sourced.

        • t0astbread 6 years ago

          Hmm, I see what you mean. I'm under the impression that this isn't the main issue people are having here but what do I know.

          One other reason why people might be so upset here is the naming of this product. "Free" is commonly used to describe libre software. This is at best an oversight by the marketing team and at worst deliberately set up to deceive developers.

eggxbox8 6 years ago

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

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

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?

  • georgewfraser 6 years ago

    Wolfram language has a very different syntax that Matlab or really any other programming language, and it has a lot of lisp-like metaprogramming capability. It's not as well thought-out as a proper lisp like Clojure, it's verbose and there's a lot of weird corner cases.

    The editor is very different as well: Mathematica pioneered the notebook concept that was copied by Jupyter, and the Mathematica user experience is still much more comprehensive and tightly integrated than anything else.

    For linear algebra, they both use Intel MKL under the hood and get exactly the same performance.

    • armitron 6 years ago

      Not only would I not call Clojure a "proper lisp" but since it doesn't run any Lisp code and lacks fundamental Lisp data structures (e.g conses), I wouldn't even call it a Lisp.

      • hatmatrix 6 years ago

        You're about 10 years late to this debate, which has largely been settled.

      • pron 6 years ago

        Completely tangential, but Clojure is definitely a Lisp, and it does have cons https://clojuredocs.org/clojure.core/cons

        • armitron 6 years ago

          A Clojure cons is something completely different to a Lisp cons.

          https://stackoverflow.com/questions/34347985/clojure-no-cons...

          • pron 6 years ago

            It is not completely different, but rather quite similar [1]. Clojure adds the concept of protocols, which it uses to abstract over cons cells (and it requires that the second element of the cell is an ISeq rather than an arbitrary object).

            [1]: You can see the implementation of Clojure's cons cell here: https://github.com/clojure/clojure/blob/clojure-1.9.0/src/jv...

            • lispm 6 years ago

              (cons 1 2) is doing what in Clojure?

              In Lisp cons cells are the basic data type from which lists, trees, cyclic lists, etc. are created,

              In Clojure it's not.

              • pron 6 years ago

                First, in Scheme, vectors are not made of cons cells.

                Second, in Clojure, you can certainly make lists, trees etc. from cons cells. It's just that vectors and maps are more common.

                Third, Clojure is not only a Lisp (https://clojure.org/about/lisp), but an exceptionally good one at that. I'm amazed that some people find that controversial. I love Scheme and Clojure, and the thought that they're not both Lisps -- something immediately obvious to any long-time Lisper like me -- strikes me as patently bizarre. Clojure is not only a very good Lisp, but celebrated among Lispers for facilitating Lisp's rise in popularity in recent years.

                • lispm 6 years ago

                  > First, in Scheme, vectors are not made of cons cells.

                  Lisp, too, has vectors not made of cons cells.

                  > make lists, trees etc. from cons cells

                  It's just that they aren't. Clojure uses persistent lazy sequences not made of cons cells as its basic data structure. And it has strange behavior:

                    user=> (conj '(1 2) 0)
                    (0 1 2)
                    user=> (cons 0 '(1 2))
                    (0 1 2)
                  
                  Thus we have the same external representation.

                    user=> (class (conj '(1 2) 0))
                    clojure.lang.PersistentList
                    user=> (class (cons 0 '(1 2)))
                    clojure.lang.Cons
                  
                  But they are of different class?

                    user=> (class (cons 1 2))
                    IllegalArgumentException Don't know how to create ISeq from: java.lang.Long  clojure.lang.RT.seqFrom (RT.java:542)
                  
                  When we call cons with two args we get a Java error with a line number?

                  Does not look like Lisp to me.

                  > Clojure is not only a very good Lisp

                  It's a good programming language, but not a very good Lisp - since it is mostly incompatible and lacks a lot of the usual Lisp features.

                  • pron 6 years ago

                    > When we call cons with two args we get a Java error with a line number?

                    Clojure requires that the second element in the pair be an ISeq.

                    > since it is mostly incompatible and lacks a lot of the usual Lisp features.

                    I and many others disagree, including Clojure's designers, who designed it as a Lisp. Homoiconicity, macros, S-expressions and FP make a language a Lisp. OCaml and SML are about as different as Scheme and Clojure, yet no one thinks they're not both MLs.

                    • lispm 6 years ago

                      > Clojure requires that the second element in the pair be an ISeq.

                      Lisp doesn't have such a requirement and does not have 'ISeqs'.

                      > I and many others disagree,

                      That does not make a convincing argument, since you have never used an actual Lisp - as you recently said.

                      > including Clojure's designers, who designed it as a Lisp.

                      Derived from Lisp mostly as a blend of FP, Java hosting/integration and Lisp ideas.

                      > Homoiconicity, macros, S-expressions and FP make a language a Lisp.

                      Lists are deprecated in Clojure (for maps, sets, vectors, ...), No interpreter, no Lisp down to the metal, no Lisp in Lisp, no images, core Lisp data structures look different, different API, different syntax, impoverished REPL, strange numerics, Java leaking in many places, lots of compromises because of implementing it on top of a not-Lisp-friendly VM, ...

                      Lisp derived, but Lisp looks & feels a bit different.

      • EForEndeavour 6 years ago

        What do you mean by "it doesn't run any Lisp code"?

        For what it's worth, both Wikipedia and the official Clojure website call Clojure a dialect of Lisp (https://en.wikipedia.org/wiki/Lisp_(programming_language), https://clojure.org/)

        • lispm 6 years ago

          Pick any book with has the name Lisp on it, take example code and try to run it in Cloure.

          Chance that it does not work is high.

          Now change the code that it runs. Chance that you had to rewrite the code mostly is high.

          It's a dialect of Lisp in the sense that it is an incompatible branch / fork with a Java runtime (it's a hosted language) and a bunch of newer functional data structures replacing old-fashioned lower-level stuff from Lisp.

        • armitron 6 years ago

          Take Lisp code written in the last 50 years and odds are that Common Lisp, Emacs Lisp or Scheme can run it with zero/minimal/moderate modifications.

          Clojure needs a total and complete rewrite which doesn't only affect the syntax but program logic. Thus Clojure does not run Lisp code. How can it be a Lisp when it does not run Lisp code?

          • simias 6 years ago

            I've actually ported some Clojure code to Common Lisp no later than two weeks ago and it was pretty much as straightforward (if not more) as porting R5RS to CL. In my (admittedly limited) experience both CL and Clojure favor a certain high-level coding style with complicated macros versus the more simplistic style of Scheme. Contrast CL's loop construct, Clojure's for statement and Scheme's typically more recursive approach to iteration.

            You're welcome to draw the line wherever you want, maybe for you conses are mandatory in a Lisp language but I don't really understand what you hope to gain from this discussion. I might as well say "tail call optimization is absolutely mandatory in any self-respecting Lisp, therefore CL isn't a proper Lisp dialect".

            This is effectively the same level of discussion as a Java programmer saying that C++ isn't "true OOP" or an Haskell enthusiast claiming that Scheme isn't a true functional language because it allows side-effects. It's just silly gatekeeping that doesn't lead anywhere interesting.

            • lispm 6 years ago

              The chance that you can port code without actually rewriting it is pretty slim. But then, people have been rewriting Lisp code to run in C++.

              If you want TCO in CL then use one of the dozen implementations which supports it.

              People btw. used to write some non-trivial code which ran in both Scheme and CL with the help of a Scheme on top CL, a compatibility layer or a translator. But that's now relatively rare.

            • kazinator 6 years ago

              But C++ in fact isn't true OOP (and neither is Java), and Scheme isn't a functional language.

          • veddox 6 years ago

            This argument only works if you think of "Lisp" as a single, linearly developing language. It hasn't been that for decades. (That's why they created "Common" Lisp, after all.)

            Lisp is a family of languages - within which Scheme and CL are just as syntactically incompatible as CL and Clojure.

            • lispm 6 years ago

              CL was created such that it is compatible with a main line of Lisp dialects (those btw. have usually Lisp in their name) -> Lisp 1, Lisp 1.5, MacLisp, ZetaLisp then Common Lisp.

              Other Lisps in that main line are Portable Standard Lisp, Le-Lisp, Emacs Lisp, ISLisp, ...

              There are quite a few branches with less (Scheme) or more incompatible languages (ML, Dylan, Clojure, ...).

  • szhorvat 6 years ago

    Now you can give it a try easily. Why don't you? Maybe you will discover a new world ;-)

    Don't think of Mathematica as a computer algebra system. It is much more than that, fully capable of numerical computation, and just the unique term rewriting programming language makes it worth checking out.

  • Myrmornis 6 years ago

    > Personally, I've found numeric computation more useful in 99% of the cases; do others have a different experience?

    Yes, of course they do. For example, if they want to obtain a general, symbolic, solution to a problem, rather than estimates of particular numerical values. I'm sorry to sound a bit dismissive, but on HN it is common to hear people say stuff like "Oh, I find code much more helpful than math" and it's a bit embarrassing.

    Just to give one example out of the entire universe of human mathematical activity, suppose you're doing statistical inference. You've developed a likelihood model for the data-generating process, and now it's time to implement the actual inference, say in a Bayesian MCMC, or a rejection sampler, or importance sampler, or whatever. Those are numerical algorithms of course; but they need to repeatedly evaluate the likelihood function at millions of different points in parameter space. Now, your likelihood function, was developed to model the real world. And perhaps the resulting equations are a little complicated. You may be able to achieve a vast speed-up of your numerical algorithm if you use a symbolic algebra system to find/confirm a symbolic simplification of your likelihood function.

    • censorededitor 6 years ago

      A dumbfounded example . All you need for this is a cas system or some gruelling head computation that can solve This step or formula nothing more and not wolfram specifically .

      • Myrmornis 6 years ago

        Mathematica is a CAS system. The comment I was replying to was asking whether people saw any use for CAS (symbolic) over numerical computing.

        Aside: You're commenting in a style that fits YouTube, or maybe Reddit, but this site has a different commenting culture/style.

      • censorededitor 6 years ago

        The following comment was flagged by that editor which deleted previous criticism : “Hideous at best. Comments that were insightfully sharp about wolf team have been deleted. How much collusion is going on between certain editors on hackernews and wolf team ?”

  • enriquto 6 years ago

    There's much more to math than numeric computation. Many applied mathematicians spend their lives programming and never use a floating point number.

    • pron 6 years ago

      I know, but that's not what I asked. The question about numeric vs. symbolic was how common it is for software applications to require symbolic mathematics vs. numerical math.

      • badpun 6 years ago

        For anything with an research element, symbolic is huge. On the other hand, if you're just implementing already well-researched algorithms and methods, it's much less needed.

      • enriquto 6 years ago

        I'd guess if you count combinatorics as symbolic math, then most of software applications are essentially based on symbolic math.

  • ras_west 6 years ago

    Wolfram supports numeric computation too (optimization, PDE solvers, data science etc

  • superfx 6 years ago

    This may give some sense of what it can do:

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

    • pron 6 years ago

      From what I can tell, the main difference between Wolfram and Matlab/Julia (other than syntax) is a database of various facts. Is that a fair assessment?

      Is there a way to access the database without the language?

      • lispm 6 years ago

        It's based on rewriting symbolic terms (similar to Lisp's s-expressions) using rules.

        It then originally has a large library of facts and rules for a large amount of mathematical domains. This has been expanded over time into lots of knowledge about the world (physics, biology, astronomy, ...).

        Programming is often done with multimedia-rich notebooks.

        https://reference.wolfram.com/language/ref/entity/Planet.htm...

        So it's some kind of knowledge-based system for mathematical related domains,

        • pron 6 years ago

          Thanks.

abc_lisper 6 years ago

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.

  • new4thaccount 6 years ago

    Yea I honestly don't fully understand how many cores my commercial license uses, but every now and then it tells me that I need to register my license when it is already registered. After some digging, I figured out that I could only have 4 instances open at a time and sometimes Windows would keep one running in the background which would be 5, so I would have to close it out in the task manager and it would then work again. This made me sad.

ftcHn 6 years ago

Pricing is opaque.

https://www.wolfram.com/engine/commercial-options/

How can I figure out if it's worth investing the time if it's impossible to price a production license?

  • educomments 6 years ago

    Just ask.

    Warning: it's ridiculously expensive. You need to be charging your users 4+ figures per license for your software in order to be able to pay Wolfram their cut.

    The open/libre stuff is a huge red herring -- cost is the real bottleneck. It doesn't make any sense to use Wolfram/Mathematica unless there's a built-in function that you NEED, for which there is no alternative, and which requires a team of PhDs to re-implement.

    E.g., even a non-production single user corporate desktop license is $3K.

cahotswh 6 years ago

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

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

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

> 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

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

  • kmill 6 years ago

    I use my university Mathematica license rather than use WolframAlpha because I can never figure out exactly what the latter can do. Wolfram Language, in contrast, has ok enough documentation and a predictable programming model. (It's not perfect---I have a long list of complaints about its design---but it seems to be the best for the kinds of symbolic calculations I'm doing right now.)

  • dominotw 6 years ago

    > - It's arcane/esoteric

    Even he admits to this ,

    " What Kind of a Thing Is the Wolfram Language? I’ve sometimes found it a bit of a struggle to explain what the Wolfram Language really is."

    https://blog.stephenwolfram.com/2019/05/what-weve-built-is-a...

    • mhh__ 6 years ago

      But that's because he's trying to explain how amazing he is rather than actually explain the language usually.

mgoetzke 6 years ago

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

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 :-(

  • arnoud-buzing 6 years ago

    Try following these installation instructions for your platform (Mac, Windows, or Linux):

    http://support.wolfram.com/kb/45743

    • gdelfino01 6 years ago

      All good until step 17. I get this error: "(7) Unable to connect". It is probably the proxy... How can I change the setting for it?

mhartl 6 years ago

There’s a link to send him an email, and the address is s.wolfram@wolfram.com. What a strange choice to own lastname.com and then use the email address f.lastname@lastame.com instead of firstname@lastname.com.

Perhaps it’s an issue of standardization inside the organization. In that case, perhaps one might make an exception for the founder & CEO.

nutjob2 6 years ago

"Free for Developers" is misleading, since you can't distribute it with your software for free, or modify it, which is generally what developers want to do. It's essentially a trial.

  • jonhendry18 6 years ago

    Plenty of developers do things for their own use without even thinking about releasing.

daniellerommel 6 years ago

Disclaimer: Wolfram Employee

Based on great comments and questions, we updated the "frequently anticipated questions" to "frequently asked questions" (at midnight last night, on Stephen's laptop).

We have a feeling this will continuously be updated - please let us know if you have any questions, if something isn't quite clear, or just what you're going to do with it.

https://www.wolfram.com/engine/faq/

Cheers!

75dvtwin 6 years ago

I am sure they have thought about, but decided against it.

However, I think, what they should have done is have an open-sourced language runtime, and closed source some subset of the libraries.

In other words, keep eco-system open-sourced (and also protected from patent abuse), while maintaining some libraries closed source.

Perhaps, Wolfram believes that the competitive/money making advantage is in the engine, not in the libraries.

But if that's the case, then the open source competition is closer to beating it, than we think.

misterman0 6 years ago

Just a quick reminder; my MIT licensed open source project Resin [0] does pretty much of what WA does. It's free today and it will be free tomorrow. Free to use in production, to clone, fork, tear apart. Like WA

- it's a linguistic engine

- it has a query language

- there is a cloud you can use [1] if you don't want to host it on-premise

- it has high level API's for creating language models from JSON documents (or in other ways formatted)

- low level API's for creating whatever 64-bit vector space you might want

- tools that help you in the analysis phase

- tools for creating and deploy HTTP endpoints for reading from/writing to your model

Next week I'm freezing the API's for I will have reached v0.4, because by then, at my day job, we will have completed our first "AI powered" closed-sourced product based on Resin.

For this project to have any bearing and to stay alive and well (and free forever) I need your help. I need a community of contributors. Chip in, it's for a good cause!

Edit, and here are the links:

[0] https://github.com/kreeben/resin

[1] https://didyougogo.com (currently down, b/c maintenance)

  • zwaps 6 years ago

    Can it analyze dynamical systems, solve complicated integrals, reduce and solve equations, display dynamic plots of all these things, do social network analysis, statistics, machine learning and data wrangling all in one notebook, out of the box, with simple calls?

    As a reminder, nothing in the Wolfram universe is really unique, nor it is the best individual implementation.

    The selling point of any Wolfram product and its underlying engine is that it can do all these things out of the box, in one notebook or WA query.

    I am not trying to be an ass. It just really seems you misunderstand the "competition". There is a failure path for your project:

    It COULD do anything, but it actually CAN'T do much out of the box. This limits your target audience to people who want to implement WA themselves, but with a framework. Please do consider this is not what WA offers. At all.

  • deckar01 6 years ago

    > does pretty much of what WA does... it's a linguistic engine

    Wolfram Alpha is a symbolic computation engine. I'm sure it does some natural language parsing for queries on the website, but I doubt that is an important feature for most developers considering this engine for production applications.

    • misterman0 6 years ago

      >> Wolfram Alpha is a symbolic computation engine.

      That's a great piece of technology to have when you are trying to get machines to understand humans.

      The reason Resin is not a symbolic computation engine is because that model hasn't been designed yet. Luckily Resin is a vector space framework that you can use to nest spaces together or transform into new spaces. Building on Resins capabilities for creating models from any 64-bit embedding I'm not quite sure if there is anything Resin cannot model.

      • reikonomusha 6 years ago

        Yeah, but, come on. Isn’t this oversimplifying? “My computer uses bits. That means anything you can make out of bits can run on my computer.” It’s true but essentially vacuous. The value is/includes these difficult-to-build technologies, so the mere fact they could be included isn’t so meaningful and doesn’t add much value.

        • misterman0 6 years ago

          Sure, but I was not trying to bluff you. Instead I was trying to describe to you a crucial point that is missing from the project's documentation (where I mostly describe the NLP engine) and that is that Resin at its core is a tool for designing such complex models as symbolic computation.

          But I hear you. Resin is not Wolfram but more of a framework that you can use to produce something like Wolfram.

  • dallamaneni 6 years ago

    I think you are confusing Wolfram Language (WL) with Wolfram Alpha (WA).

    > my MIT licensed open source project Resin [0] does pretty much of what WA does

    Does it? Resin looks more like an NLP framework at a quick glance. WA is an actual answering engine with data included. I fail to see a comparison. Not to mention the website is down.

    • misterman0 6 years ago

      >> I fail to see a comparison.

      Resin is a vector space framework. Upon that base I also built a NLP engine. And a chat bot. A search engine. Also, a anonymous profiler.

      So, yeah, it's more than an NLP engine. But it's not exactly Wolfram. You're right about that.

  • turingbike 6 years ago

    Regardless of similarity to Wolfram products, this looks cool. I feel like I could be in the target audience, but the documentation is quite sparse. I feel like

    > Your data ends up being represented as nodes in a graph that can be traversed by comparing a query (which is also represented as a vector) to nodes from the graph and use their cosine angle as a guide as to what node to traverse to next and when to stop.

    Could be... at least a page, with some diagrams. Each node... is a vector? Has a property that is the vector?

    • misterman0 6 years ago

      Thanks!

      The documentation is very incomplete. I'll fix that ASAP.

HankB99 6 years ago

The program is available (and installed by default) on the full Raspbian operating system for the Raspberry Pi. (Raspbian is the Debian Linux variant tailored for the Raspberry Pi.) I've never tried it. There is a Raspbian variant for Intel based systems but I do not know if it includes Wolfram Alpha.

tonetheman 6 years ago

I think my block is I am still not sure what it is... I have used Wolfram Alpha and I think that is cool. But the times I have spent looking at the docs... I feel like it is not a programming language exactly. Or not one I am used to or familiar with.

fori1to10 6 years ago

I have Mathematica installed. Can I have WolframEngine side by side?

  • arnoud-buzing 6 years ago

    Yes, but it will not give you anything new: The Wolfram Engine provides full access to the Wolfram Language (just like Mathematica) via command line access and executing Wolfram Language scripts.

navigaid 6 years ago

try this:

  docker run -it wolframengine/wolframengine
  • 1f60c 6 years ago

    Is this official?

    • navigaid 6 years ago

      It is not official and has been removed.

r-w 6 years ago

It remains to be seen whether most software developers value the services that Wolfram provides enough to swallow the proprietary pill.

Gormisdomai 6 years ago

Has anyone got anything really cool with the Wolfram language that they've prototyped / seen prototyped elsewhere?

  • halirutan 6 years ago

    No prototype, but you might want to look at

    https://rulebasedintegration.org/

    It's a package for solving symbolic integrals that outperforms many systems. It has an extensive test-suite of over 72,000 integration problems and I encourage you to try how many of them can be solved by SymPy or Julia. Spoiler: I already helped porting it to Symja and if the python community can solve the problems with MatchPy, the port to SymPy can be finished as well.

    Disclaimer: I'm one of its developers

    • ChrisRackauckas 6 years ago

      Is there a wrapper for this into Julia? I would like to make use of it!

iamcreasy 6 years ago

So it only provides a command line interface, but not the notebook interface. Am I getting it right?

cahotswh 6 years ago

Interesting that some comments which are insightful and anti wolf clan are deleted . Seems like Hackernews and wolf clan are in cahots

  • 9nGQluzmnq3M 6 years ago

    Quite the opposite: I've never seen a HN discussion about Wolfram where the company, the person, the language and the pricing model don't all end up getting torn to shreds.

fkwolfram 6 years ago

Where does this leave us with wolfram clan ?

Wolfram, the company, has not been doing well over the last decade or so. This is a known fact and a lot of advocates of that clan will downvote the bitter truth. This company is after all the most toxic one in good o’l Illinois.

The product is being marginalised slowly but gradually. With real open source and free solutions.

Besides, It’s not a serious solution or fit for anything other than doing some rough calculation or work in an area. If you are an expert in image processing a good chance is that there is some standard open source solution in place that outperforms this closed source solution by a factor of X in terms of speed.

Its usage and importance is greatly overhyped by the company, well almost anything with the name tag wolfram attached is hype to begin with. This might have pulled in the 1980’s and 1990’s but jezz that not where we are at now.

How much of a megalomaniac one has to be clears any suspicion when one looks at its name.

I concede on one point, for the average (low skilled) developer that has no serious background in programming, this might be or THE (only) solution. Then again I doubt how competitive such a developer can stay ...

But for anything mission critical, why on earth would I or for that matter any company rely on a closed source solution ?

Also wary of how much information is send from your end to wolfram . Notice that every 2 weeks ur license will have to be reactivated via a special wolfram server bondage .

All said, not quite. The question remains, why make so much hype about “ oh there so many reasons we won’t open source” and now “ oh , we are so cool , we provide free wolfram “ . Dude make up ur mind in what direction ur business model pivots and then bother us .

It is a known fact that Wolfie thinks of most hackernews users as roaches. This quote is from someone else.

fkers3 6 years ago

really ? is this some kind of kahuts game ? hakcer news editors, what's going on ? Some insightful comments about wolfram organization have been deliberatly and consistently removed from this. How shameful is this and how gullible is the entire debate. Let's face it, wolfram has been exploiting his previous relationship with ycomb and ex-founder to keep trolling this site.

781 6 years ago

It doesn't seem to have a notebook interface.

Maybe someone can hook this into Jupyter as a Wolfram kernel?

mlevental 6 years ago

this is interesting. i downloaded it and it works like you'd expect. but really what can you do with this since it's just a repl? are there language bindings somewhere? is there even an easy to write them since you only have repl access?

wolframnn 6 years ago

The user who submitted this is blatantly part of the clan

wolframnn 6 years ago

Hahaha. This is ridiculous. “Free wolfram”. Wolfram appears to be out of wit exploring dead end strategies. The company isn’t doing so good after all.

wolframnn 6 years ago

Wolfram is looking for publicity on hackernews isn’t new but getting very tired of this spam .

censorededitor 6 years ago

Hideous at best. Comments that were insightfully sharp about wolf team have been deleted. How much collusion is going on between certain editors on hackernews and wolf team ?

fkwolfram 6 years ago

Oh gosh. What an unfortunate choice of words . Mr wolfram this is so brilliant I am peeing myself into my panties. Seems like you reached another dead end choice . Company hasn’t been doing well now for a while and needed some more hackernews publicity ? Please spare us from more stories ...

idlewords 6 years ago

This looks intriguing, but how many wolframs does it get to the wolfram?

  • rjknight 6 years ago

    How many wolves would a Wolfram ram if a Wolfram could ram wolves?

enriquto 6 years ago

I don't understand why don't they AGPL the thing already. It makes no sense.