31 ms·
So this was a discussion in /r/linux last week about LLVM and GCC et al, so I'm just reposting my statements on why a world where GCC is irrelevant is bad: It
by zanny 12y ago
So this was a discussion in /r/linux last week about LLVM and GCC et al, so I'm just reposting my statements on why a world where GCC is irrelevant is bad:
It takes little effort on Apples or Googles or Microsofts part to take advantage of an LLVM dominated world to close off their own changes to it and try to force developers to use their own proprietary LLVM distributions on their own operating systems. It stops every other company in the future from taking advantage of all the great LLVM tech to implement their own CPUs in terms of LLVM IR, so they never need to publish their ISA and they can lock down their platform with a blob LLVM of their own. The only thing stopping any of that from happening is GCC being a still competitive alternative.
If LLVM came to dominate the compiler scene to such a degree that GCC were irrelevant, it opens the flood gates to any major company forking LLVM into a proprietary paid for compiler that they require on their OS to profit from. It lets you do anything from what Apple is already doing with Swift, where you create a programming language with a proprietary compiler, or you could go from the other end and implement a proprietary translation unit so that you never need to publish your ISA (something Nvidia never does) but that allows all the LLVM compilers to target it.
Right now, nobody can close off their LLVM contributions because a hobbled and fractured LLVM ecosystem is one that cannot overcome GCC. In the same way Apple and Google had to cooperate on webkit until it was so dominate they were in a position to fork and do their own things with it once Gecko was rendered effectively irrelevant, but the difference is that webkit was LGPL and Clang is its own permissive license - they still cannot directly modify the free software parts without redistribution, so it is harder to make a proprietary webkit, but Apple surely has succeeded since they have their own proprietary patchset on top of trunk webkit nowadays.
- gcp 12y agoOne of the big advantages of LLVM's license in this regard is that, unlike GCC, you don't risk leaking patents either even if you did open source it. Or did they fix that now?
- DannyBee 12y agoLLVM's developer policy has required free patent grants for many years, and a number of companies have done so. (a different number simply don't patent stuff they contribute to LLVM)
- pjmlp 12y agoWell, you just have to look at Swift or some GPGPU drivers using LLVM.
- davidw 12y agoProbably the best way to avoid this is to make sure all the eggs (developers) never end up in any one basket. Apple is a big risk there.
- josephg 12y agoI'm always confused by this stance. It presupposes that big companies like Apple and Google will at some point become bad actors in the opensource world. (They both contribute huge amounts of code). Even Microsoft is starting to open up their codebase with the release of huge parts of the .NET ecosystem. Frankly, I want the big boys on my side when it comes to opensource code. I want them to use the code I write. Usually I indirectly benefit from them using my code anyway, and they benefit, and everyone's happy. This is true even if they decide to make proprietary changes which don't get pushed upstream. I gain influence in my community and lucrative job offers. I get invited to talk at tech conferences, and my projects (present and future) attract more attention. I honestly don't see the downside here. Apple might have a change of leadership and decide to swim against the current and make LLVM proprietary, but if that happens can't we just fork it? As far as I can see, MariaDB is doing just fine. And until that happens (which will probably be never), we can get some huge compiler ecosystem improvements on Apple's dime. All opensource. Am I missing something, or is this fear of corporations totally unjustified?
- davidw 12y ago> Am I missing something, or is this fear of corporations totally unjustified? Sun Microsystems basically grabbed BSD development by hiring up a lot of good people and running with it. It took a while for the various free BSD's to come into their own. Basically, with "bsd licensed" software, if a big company hired up all the developers, they could take it proprietary and out-compete fork efforts. I don't think it happens often, but it's not impossible, either.
- hga 12y agoReally??? The AT&T lawsuit and the end of DARPA BSD funding and that research group at UCB didn't have a lot to do with that? That was several years after Sun got in bed with AT&T and announced that BSD based SunOS was doomed. I don't know, but I wonder.
- davidw 12y agoThere are lots of factors, and you can't exactly rerun the experiment a number of times, tweaking all of them. There's also the fact that the internet was far less available in that day and age, making it more difficult to get good people involved. I don't think it's a big risk, but like I said, I don't think it's impossible either.
- marcosdumay 12y agoI understand this position, and yes, it looks like the natural outcome in a simple game-like modeling. Yet, PostgreSQL survives, and is doing well. Ditto for Apache. That is enough evidence that there's something wrong with the usual modeling... Ok, maybe not enough evidence for you to feel secure on the viability of big non copyleft licensed software, but you should at least take it into account.
- maxlybbert 12y agoThis is a common belief. It is, I believe, the reason Stallman wrote the GPL and the reason Torvalds continues to use the GPL 2. But Eric Raymond convinced me that it's irrelevant ( http://esr.ibiblio.org/?p=928 http://esr.ibiblio.org/?p=928 ): "If we live in 'Type A' a universe where closed source is more efficient, markets will eventually punish people who take closed source code open. Markets will correspondingly reward people who take open source closed. In this kind of universe, open source is doomed; the GPL will be subverted or routed around by efficiency-seeking investors as surely as water flows downhill. "If we live in a 'Type B' universe where open source is more efficient, markets will eventually punish people who take open source code closed. Markets will correspondingly reward people who take closed source open. In such a universe closed source is its own punishment; open source will capture ever-larger swathes of industry as investors chase efficiency gains. "In a Type A universe, reciprocal licensing is futile. In a Type B universe, reciprocal licensing is unnecessary. In neither universe can the GPL’s attempts to punish what we regard as misbehavior have more than short-term, temporary effects."
- Demiurge 12y agoWhat if we live in a universe that is of Type C, in which the market favors complicated combination of factors of which 'open source' is a very minor one, and market positioning with technical prowess of software is the major one, whereby software is opened or closed based on specific political circumstances, such that the timing and not the direction is important?
- maxlybbert 12y agoI'm sure you're capable of doing that analysis yourself, but in my opinion, the GPL wouldn't provide any more benefits to a Type C universe than it provides in a Type A or Type B universe.
- JoshTriplett 12y agoThat assumes a company writing its own closed-source software is capable of keeping up with an entire community. If that were the case, we'd have had a proprietary version of the Linux kernel long ago, and it'd have completely replaced Linux in all the areas where Linux currently thrives. Also, assuming the case that Open Source is more efficient, some of us don't want to wait around for inefficient closed-source-based companies to fold, because they can use the large savings they're sitting on to take a very long time thrashing around and doing damage before dying or adapting. If copyleft licenses can speed that process up, great. Finally, there's a false dichotomy here: closed-source and open-source are not on a single scale of goodness measured by "efficiency", and the market does not perfectly adjust to maximize efficiency. ESR's type-A and type-B universes both presuppose free markets and perfect market efficiency. There's a difference between wanting that and assuming that it's already the case.