12 ms·
Most of these are about wanting control over the design of the software - but releasing their code doesn't have any impact on that - I don't get it? Java is ope
by chrisseaton 5y ago
Most of these are about wanting control over the design of the software - but releasing their code doesn't have any impact on that - I don't get it? Java is open source - Oracle still tightly controls and manages the design of Java.
For example 'Bad design is expensive' - how releasing your source lead to bad design? That's a complete non-sequitur.
- chubot 5y agoThey are arguing it does have impact on that. The company that created Java went out of business and was sold to Oracle for a fraction of its original worth. So Java was a business failure -- or at least I'd be interested to see someone defend Java as a business success. So I think it's realistic to at least engage with their argument seriously rather than dismiss it. The argument is that open source licenses are incompatible with the kind paid license they're offering their customers. These licenses pay for the salary of their skilled employees. Oracle makes money EXACTLY the same way -- by selling commercial licenses to a non-open-source database. That's why Java can be open source and not bankrupt the company. Again, the argument here seems to be Just come up with a different business that makes hundreds of millions of dollars and use that to pay for Wolfram ! ----- edit: Since this comment is highly upvoted and visible, I'll mention that I'm seeking funding for a compiler engineer for the Oil shell, which I just mentioned on the blog: http://www.oilshell.org/blog/2021/12/backlog-assess.html#more-ways-to-cut-scope http://www.oilshell.org/blog/2021/12/backlog-assess.html#mor... So I know from over 5 years of direct personal experience that compiler engineers don't just show up to your open source project and start implementing things! Even if you have tens of thousands of readers on Hacker News for years. (Oil has had 48 contributors but not very consistently, which is understandable.) To be clear, I did not expect help! I have asked for it, but I thought I would be able to finish it myself. So it looks like hiring someone with specialized skills is the most realistic way to accelerate the project (now that the language design is in good shape). This funding is to finish the Python to C++ translation, which is already half done. Example: Oil's Parser is 160x to 200x Faster Than It Was 2 Years Ago http://www.oilshell.org/blog/2020/01/parser-benchmarks.html http://www.oilshell.org/blog/2020/01/parser-benchmarks.html (lots of progress since then) I'm applying for 50K euros of funding from NLNet. Also in the process of setting up Github Sponsors. E-mail me at andy@oilshell.org if you want to make a donation -- I think I will need at least $250K to properly pay for this position. If you're a professional programmer and spend 2 hours fussing with a shell script, that's probably worth a few hundreds dollars. I'll start mentioning this in more posts when everything is set up, but I thought I would use this extremely relevant topic to raise awareness. Programming languages don't pay for themselves! https://www.oilshell.org/release/latest/doc/oil-language-tour.html https://www.oilshell.org/release/latest/doc/oil-language-tou...
- fartcannon 5y agoJava was killed by Microsoft using their famous Embrace, Extend And Extinguish method. It's on the wikipedia page as an example of the EEE method. The fact that Java remains at all today is a testament to the power of open sourcing something.
- pjmlp 5y agoAnd ironically Google gets a free pass from SV cheering crowd for trying to do the same.
- fartcannon 5y agoIt's harder to root for Oracle than it was Sun.
- pjmlp 5y agoNo one else bothered to buy Sun, so.
- Denvercoder9 5y agoIf their argument is that they can't make money with open source, then they should say that, instead of this list of non sequitors.
- chrisseaton 5y ago> The argument is that open source licenses are incompatible with the kind paid license they're offering their customers. I don’t see them making that argument in all these points. For example they say > Crowd-sourced decisions can be bad for you Well ok that’s a valid point so… don’t do that. Crowd sourcing design decisions or code is not a fundamental part of open source. You can have open source but do all the development internally if you want to. I think they’re confusing source licensing with a development methodology.
- sidpatil 5y ago
- MintPaw 5y agoI don't really understand the definition of open source. I used to hear people say stuff along the lines of "If you just release the source and don't accept patches then that's not real open source" But the opinion on that has changed I guess?
- leeoniya 5y ago> If you just release the source and don't accept patches then that's not real open source this is commonly referred to as "source available".
- dotancohen 5y agoWhich would be fine for e.g. verifying the results of computations done using Mathematica. I completely agree that Mathematica needs a steady stream of income to continue, it is a great language and for many use cases the best available. But every time I see a paper that relied on Mathematica for critical conclusions I'm forced to dismiss it as incomplete speculation.
- detaro 5y agoSource available is specifically if the code is not under an open source license. Whereas software that is under an OS license is open source, whatever the maintainers policy on contributions.
- leeoniya 5y agoah, you're right. i missed that.
- rwmj 5y agoNot necessarily. There are some true open source projects where the development model is some company "throwing code over the wall". Often they don't make it easy or even possible for anyone outside the company to contribute, they don't have an open repository or bug tracker, release only periodic tarballs, etc. But the license is OSI approved, such as GPL, BSD, etc. so in theory someone could fork the project. TL;DR - development model != license
- aj7 5y agoNo. Most of these are about the power of paying another economic actor has on aligning his interests with yours. Open source software is huge partially because software companies have failed at this.
- tgsovlerkhgsel 5y agoOpen source can either mean "publish the source" or "run it as a community project". Most of the benefits of open source (for the company) would come from running it as a community project, which would imply giving up some of the control. Simply throwing the code over the wall without accepting contributions doesn't meaningfully benefit the company. There are of course graduations between "don't accept any contributions" and "let the community run it", but that's just different levels of giving up control. I think "11. It takes steady income to sustain long-term R&D" is still the key aspect. Without money, software doesn't get maintained to a high level. Some projects work because many companies depend on it and contribute (but they wouldn't do it - or at least not nearly as much - if the project was strictly centrally controlled), but many other projects are basically one company running and publishing it and many others using it for free.
- Shikadi 5y ago>Some projects work because many companies depend on it and contribute (but they wouldn't do it - or at least not nearly as much - if the project was strictly centrally controlled) I can't help but think of Linux when you say this, and Linux is strictly centrally controlled
- tgsovlerkhgsel 5y agoIs this strict control actually being exercised strictly in practice? My understanding was that e.g. individual device driver authors have a lot of leeway, and I don't know how strictly consistency is actually enforced across the board beyond basic style rules.
- samhw 5y ago> Open source can either mean "publish the source" or "run it as a community project". This is exactly it. I'm amazed that so few people in this thread are recognising this key ambiguity which underpins the confusion. As Wittgenstein writes in the Tractatus[0]: > 3.323 In the language of everyday life it very often happens that the same word signifies in two different ways — and therefore belongs to two different symbols — or that two words, which signify in different ways, are apparently applied in the same way in the proposition. Thus the word "is" appears as the copula, as the sign of equality, and as the expression of existence; "to exist" as an intransitive verb like "to go"; "identical" as an adjective; we speak of something but also of the fact of something happening. (In the proposition "Green is green" — where the first word is a proper name and the last an adjective — these words have not merely different meanings but they are different symbols.) > 4.003 [...] Most questions and propositions of the philosophers result from the fact that we do not understand the logic of our language. (They are of the same kind as the question whether the Good is more or less identical than the Beautiful.) [0] Hilariously republished here by Buzzfeed as '7 Fantastic Ways To Distinguish Between Sense And Nonsense': https://www.buzzfeed.com/ludwigwittgenstein/fantastic-ways-to-distinguish-between-sense-and-nonsense https://www.buzzfeed.com/ludwigwittgenstein/fantastic-ways-t... It's such a mindblowingly profound work of philosophy, especially the kinds of philosophy that programmers are often unknowingly engaged in, that I feel you just can't read it all at once. You have to keep referring back to tiny chunks of it, as you start to understand their meaning and significance through epiphanies arising from particular concrete problems you wrestle with in your life.
- jasode 5y ago>Most of these are about wanting control over the design of the software - but releasing their code doesn't have any impact on that - I don't get it? [...] how releasing your source lead to bad design? The way to interpret his argument is to imagine an alternate past history where Mathematica was open source from the beginning and how that would have lead to an inferior product. He wrote: >[...] I think that it would not have been possible to create the Wolfram technology stack using a free and open-source model. So instead of thinking they can just go ahead and open source what they have today and everything would be just fine, we need to consider how game theory would have played out in an alternate universe where they tried FOSS model from the beginning. Maybe his argument is still flawed but to at least entertain his scenario, let's study other projects and compare: - open source GIMP is considered very good -- but also is several years behind closed-source Adobe Photoshop in features - OpenCAD, OpenSCAD not as full-featured as proprietary Autodesk, SolidWorks, etc - LibreOffice has less features the MS Office - Code::Blocks and Eclipse as IDE for C++ coding not as good as MS Visual Studio - OpenStack less features than AWS - SageMath has less symbolic computing features than Wolfram Mathematica To counterbalance the above, we can try to identify open source projects that are equal or superior to proprietary solutions: - LibOpus is superior algorithm to Fraunhofer FDK AAC - Linux (server) is comparable or superior to MS Windows (Server). - GCC, Clang comparable to Microsoft "cl.exe" compiler. Is there a pattern to the above? It seems like a combination of : - big complex software with lots of features - GUI ... often means that open-source collaboration model falls behind the proprietary commercial offerings. Why? So if Wolfram tried to open-source Mathematica from the beginning of its history, a different proprietary XYZ software may have outcompeted them. E.g. the salaried programmers working on today's Mathematica wouldn't have worked on the open-source Mathematica for free because they would have been at XYZ Corporation. In that alternate timeline, we'd complain today that "Mathematica isn't as good as XYZ"
- derefr 5y ago> Is there a pattern to the above? It seems like a combination of [a] big complex software with lots of features, [and a] GUI... often means that open-source collaboration model falls behind the proprietary commercial offerings. Why? Interaction Design (IxD) isn’t something that can be done piecemeal; it needs to be done top-down, with an overarching vision, to achieve its ends (an intuitive design.) Intuition comes from obvious implicit structure, where you can easily “get into the mind of” the designer, discover their mental model, and then use it to predict how other features will work. If there’s no single designer (or very-tightly-constraining design document) then there’s no unified mental model to learn, and so no intuition. And there are relatively-few professional designers in the open-source community. It’s easy and low-friction for a professional programmer to “scratch their own itch” by implementing just one little change in a piece of software, and by that means, FOSS software’s source code quality can be improved piecemeal. But it’s both difficult (you have to re-do everything at once for it to help) and high-friction (hard to convince the software maintainers to accept the change) to contribute a design change to FOSS software. So useful FOSS software design changes are almost impractical (unless the stars align); and so professional designers just don’t bother to even try to take part in the community. So instead, FOSS software just tends to languish without any unified design vision ever being applied to it. (Or with a bad, arbitrary, and unintuitive design vision being contributed at some point by some inexperienced designer, and being accepted because the maintainers are all programmers with no sense for IxD themselves.) There’s also the fact that a lot of IxD needs to be informed by data — e.g. user workflow studies — that cost money to run; and FOSS projects don’t tend to have the budget for this, or don’t tend to see it as a priority for spending what budget they do have, since they have no “design advocate” on the team to ask for it.
- jandrewrogers 5y agoI think the argument is more that open sourcing adds incentives and friction that significantly increase the cost of maintaining control/alignment. Or to put it another way, maintaining good design becomes more expensive in an open source model and people respond to economic gradients, changing outcomes at the margin. I've seen this happen consistently, even when limiting "open sourcing" to throwing a tarball over the wall occasionally, it always adds to costs. That burden has to be paid by someone, and not every company or individual can or is willing to absorb it; in many cases the notional benefits of open sourcing are sufficiently limited to be less than the incurred costs. That said, I am skeptical that many of the points in the post apply to Wolfram specifically, I suspect that is more aspirational on their part. Nonetheless, many of the points are valid as a generalization.
- xhkkffbf 5y agoYes, I've experienced this. One new CEO said he didn't want to spend the time and the money to do a good job building a great community. It was cheaper and simpler for him to focus the company's energy on their 20 big clients. This isn't true for many applications, but it is for his. And I had to agree.
- kaetemi 5y agoUntil those 20 big clients start hiring new people who don't work with that vendor's tools anymore.
- derefr 5y agoWolfram here were contrasting their model against the idea that products like Mathematica could have been developed in a fully “open source” manner. (It’s a false binary, but it’s what they’re doing.) “Open source” is a different thing than “source-available” or “shared-source.” Many closed-source products are “source-available” in the manner you’re talking about, but this does not make them “open source.” You’re not really an open-source project, in the conventional meaning of the term, until either 1. Your project starts accepting code contributions from the community (if perhaps after a gruelling code-contribution process); or 2. Your project’s codebase becomes licensed in a way that allows people to fork it, add their own changes, and then use the result themselves to achieve their own ends (if perhaps only non-commercial ends.) Which are two sides of the same coin, really; they both imply that people will be tinkering inside your code; and that the “canonical” version of your code in everyone else’s mind might then become the version that the community thinks is better, rather than your official release.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- michalhosna 5y agoCounter example: SQLite
- spacechild1 5y agoI think you missed the "or" in the parent post. SQLite is closed for contributions, but it's still open source in the sense that anyone can take the source code, make changes and use it in their own projects. From the SQLite website: > SQLite source code is in the public-domain and is free to everyone to use for any purpose. That being said, I agree with your sibling poster that "open contribution" is not a requirement for "open source".
- lousyd 5y agoAnd draw.io, I recently learned. "You can have the source, but we're not interested in your opinions about it, tyvm."
- phkahler 5y ago>> Most of these are about wanting control over the design of the software As an open source maintainer, the part that stood out to me was all the stuff nobody really wants to do. For example, look how long it took GIMP to switch to GTK3. In a paid corporate environment switches like that are scheduled, assigned, and implemented. I'm very fortunate to work on a project (solvespace) that has members who tend toward different specialties - build system, macOS, Windows, C++ modernization, algorithms & math. And yet I don't get to assign tasks and expect results because we are all volunteers. If we were all paid things could go way faster. Wolfram has been going fast for decades and would not work as OSS. The best we have in OSS is Octave, Maxima, and Julia, but none of those come close.