Hacker News new | ask | show | jobs
by teddyh 4538 days ago
I wrote this six months ago:

If people switch from GCC to Clang/LLVM in enough numbers that Apple think they can get away with it, Apple will, in a heartbeat, close the development of Clang/LLVM and make all new versions proprietary. (https://news.ycombinator.com/item?id=6146066)

This is still true, and this is the reason we cannot allow GCC to give up or declare “victory” and move on.

6 comments

I really don't see that happening. Google engineers are the largest contributors to LLVM/Clang these days. Why would Apple reject the contributions of a company that employs some of the best compiler engineers? It would make it much more expensive for them to maintain and develop LLVM.
Why can you not see the possibility of Google collaborating with Apple to take LLVM proprietary?
Why would anyone use a closed fork of llvm? The open one would continue as normal without Apple.
The open one would stagnate without the developers who Apple pays to out-compete then both GCC and the free fork of LLVM.
Apple is not the largest contributor to LLVM, Google is. The various other non-Apple contributors also outweigh Apple. It would be hugely expensive for Apple to hire all those compiler developers from Google and Intel and dozens of other companies. Why would they do it? What would it gain them other than to be comically villainous.

The reality is that GCC is stagnating because a lot of things people want to do are just not very easy to do with GCC, due to architectural decisions that were made for purely political reasons (and these arguments have been going on since long before LLVM even existed).

It used to be that academics, students, post grads and hackers who wanted to do something interesting and new with a compiler would start with GCC. That hasn't been true for some years now. Pretty much all the interesting new projects are based on LLVM. And that isn't because of Apple paying people. It's because LLVM has modular design that gives you a stable clean interface to various things while GCC only offers unstable and complicated internal data structures.

So increasingly people interested in studying and developing compilers are hacking on LLVM and GCC is left only with developers who have a very strong political agenda that motivates them to contribute to GCC. Unfortunately for RMS most compiler developers don't work for free out of their basements. They are well paid and work at large companies and so any emotional or political arguments about freedom don't get any weight with their bosses compared with the ability to actually get shit done. So they are switching to working on LLVM.

As detailed elsewhere in these comments RMS knows full well that the political decisions limit the functionality of GCC. He says he is happy to pay that price to prevent anybody using GCC in a project that isn't GPL licensed.

So substitute “Apple” with “Google, Apple, Intel, etc.” in my original dystopic vision. Should we trust them?

The technical problems with GCC’s unstable plugin API can be fixed, and is, from what I understand, not something put there intentionally.

Substitute with FSF and GCC and same paranoid arguments apply. I don't have any reason to trust the FSF any more that those other organisations. At least when it comes to corporations they are just working to make money and I can reason about and predict their actions based on that. With political organisations like the FSF they are often quite prepared to shoot themselves in the foot or destroy the entire project just for ideological reasons. An "if it can't be just how we want it then nobody can have it" attitude.

Back in reality none of these projects are going anywhere. GNU zealots have spend the last 2 decades warning that BSD style licences would result in people making closed forks of things leading to the original open version dying. But it has hardly ever happened.

Instead of propagating paranoid conspiracies you should just accept the truth which is that BSD style licences have proven to be the most effective at getting people to contribute to open software.

The open one would stagnate because it has over 3 times as many developers, writing over 3 times as much code? You seriously think that?
No, I think that the proprietary one would get all the company contributors, and therefore have the lion’s share of developers.
The apple employees working on it are the minority, that is the point. If apple decided to have their employees work on a closed source fork, they would have less than 25% of the current developers of LLVM/clang working on their compiler. LLVM/clang would still have the other 75%+.
Apple developers are significant contributors to LLVM, but not a majority. It's roughly one quarter Apple, one quarter Google, one quarter other paid commercial developers, and one quarter individuals (including academics).
Lets not forget the private war Steve Jobs had on FSF for being forced to release the NeXT Objective-C frontend to gcc, if I remember the events correctly.
“Forced to release” does not really describe what happened. It was more like NeXT thought they could take GCC, extend it to compile Objective C and make NeXT’s version of GCC proprietary. When the FSF told them, using lawyers, that NeXT could not, in fact, blatantly violate the GPL, NeXT could have chosen not to release their version and use another compiler for Objective C. But they chose to release their Objective C compiler under the GPL, which was their other option.

This is what happens when you don’t read the license, think that things like copyright doesn’t apply to things you get off the internet, and dig yourself into a hole – your options are limited. But releasing the code as GPL was never their only option, is what I’m saying.

> If ... Apple think they can get away with it, Apple will, in a heartbeat, close the development of Clang/LLVM

Followed shortly by Google, Microsoft, IBM, and Oracle. Classic prisoners' dilemma.

No, it is not still true. It was never true. It is pure FUD. Apple has absolutely no way to "close the development" of llvm. Why do GPL zealots still post such crappy FUD even when MIT/BSD/apache/ISC licensed projects make up a massive portion of the infrastructure of the net, and no magical closing has ever managed to cause any problems at all?
Well, strictly speaking, neither one of us can be sure what would happen. It’s just what I think would happen. Is it “FUD” if I still really believe it? I don’t know.

And speaking of closing; just look at Android with its complete anti-GPL, purged system. Only Linux remains there.

Of course, I (or you) can’t prove anything either way, but I have the feeling of Google, Apple, and the rest of the permissive license promulgators all the time going “Relax, it’s fine now, the war is over, you can all go home! You won!” And if we turn our backs, if we relax in our supposed victory, we will slowly find that all the contributors to these better (completely coincidentally non-GPL) projects are mostly employees of these same companies, and they all have CLAs. And one fine day they will turn off the freedom and turn it all proprietary. We then cannot hope of competing with the current project owners, since they have all the experience and infrastructure.

>Well, strictly speaking, neither one of us can be sure what would happen

We could certainly look at the hundreds of projects setting precedent to determine that you are almost certainly wrong.

>Is it “FUD” if I still really believe it?

Yes. If you are posting something to create fear, uncertainty and doubt, then it is FUD. Even if you are sincerely crazy, it doesn't make your FUD not be FUD.

>but I have the feeling of Google, Apple, and the rest of the permissive license promulgators

Google are not "permissive license promulgators". And you wouldn't be having this conversation if not for actually free software, like freebsd, apache, bind, etc. The people who made the internet are the "permissive license promulgators". Show some fucking respect.

>And one fine day they will turn off the freedom and turn it all proprietary

And see a therapist. You are paranoid and delusional.