Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I own the C++ language platforms team at Google (which includes the LLVM and GCC developers).

Google literally upstreams everything we produce for llvm/clang.

We did the same for GCC, including things we could have kept to ourselves, like LIPO (https://gcc.gnu.org/wiki/LightweightIpo)

I have a lot of trouble coming up with a case where we wouldn't upstream something. Do you have any evidence for your concern, based on history, or is it all random hyperbole?

As both a GCC and LLVM developer, i can tell you that GCC lost entirely of its own accord.

PS it's somewhat ironic that Google contributed a lot to GCC, and you complain about it and assert they have poor motives because they decided to move to a different technical solution, yet from what i can tell looking at changelogs, you have never contributed to either GCC or LLVM. If you want the world to turn out the way you want it, you actually have to participate.



I don't think Google has poor motives at all. This is the way the wind is blowing. Google is almost certainly right to move to LLVM and you'd be far better situated to comment than I am.

Personally, I see something as big as Chrome moving to LLVM as a late-stage indicator of the mass adoption of the platform. I'm young, as you've pointed out, and I've never worked for Google, but I'd bet that this decision wasn't made lightly, and it certainly wasn't made early in the lifetime of clang/LLVM.

The people truly at fault for the things I fear, should they come to pass at all, are not the late adopters like Google, but the innovators who decided to put their energy into LLVM, knowing full well how dangerous it could be.

I don't and didn't mean to imply that Google is going to stop contributing, or that Google never has.

I do think that Google's decisions to contribute upstream are based on business sense, as opposed to morality, and I think that should the day come that it makes business sense for Google to not contribute back, or to release a non-free fork, it'll do that. As others in this subthread have pointed out, Apple has already distributed non-free LLVM modules.

The concern I have is that this is possible with LLVM, and it was not possible with GCC. When Apple wrote a non-free Objective-C frontend for GCC, they liberated it because the Free Software Foundation successfully enforced the GPL. There is no legal mechanism to force corporations to contribute back to LLVM, so they do it of their own goodwill, if they do it at all.

I think this is dangerous because it can lead to a world where there are no good free compilers. The people who wrote LLVM, the people who championed it early on and contributed to it, they could have realized this too, and they did nothing to stop it. I truly hope they acted the way they did because I am egregiously wrong, and that nothing I'm afraid of will ever happen.

To put things in perspective, GCC had one fork in its history already. I think that if it was forked again, redesigned extensively to make it easier to get parse trees and add modules and so on, with the legal requirement that all such modules be free in any distributed compiler, the FSF would eventually, hopefully, accept that as the canonical GCC. It would have been harder to do that than to make LLVM, maybe it would have cost the world a few years of compilers research, but it would have been possible, and it would have made for a more secure outcome.


"The people truly at fault for the things I fear, should they come to pass at all, are not the late adopters like Google, but the innovators who decided to put their energy into LLVM, knowing full well how dangerous it could be."

You are talking about things that people have been working towards for years. The people you see working on it now have been working on it since almost the beginning of LLVM.

Google is the company that put their energy into LLVM, knowing how dangerous it may turn out. But you don't have to take my word for it, check the commit logs.

Just because we didn't make a public pronouncement and try to get press for it doesn't mean it didn't happen.

"I do think that Google's decisions to contribute upstream are based on business sense, as opposed to morality, "

Then i'll just say you don't understand me or the folks that work for me.

"The concern I have is that this is possible with LLVM, and it was not possible with GCC."

It is in fact, possible with GCC, despite your claims. In fact, all you would have to do is change the C and C++ runtime libraries (which is entirely doable nowadays). That's it. The FSF knows you can interpose stuff legally as well.

" with the legal requirement that all such modules be free in any distributed compiler,"

It is probably not possible to make such a license and have it compatible with various GPL versions, etc.

"hopefully, accept that as the canonical GCC."

You also seriously misread what would have occurred in this situation. People tried what you are suggesting. RMS said no for many years, right up until the point it was probably too late.

Forking again was considered, by all the companies and people involved. But it wasn't worth it to any of them to have to have political fights with the FSF over software development every couple years, when they just want to get shit done.


>Then i'll just say you don't understand me or the folks that work for me.

I'm sorry, Google is a publicly traded company. Are you really saying that if there was a clear business reason to release proprietary LLVM modules, Google would damage their stockholders and continue to release them freely?

I don't think I understand you. I never made that claim. I do think that corporations exist to make money. I don't think this is unreasonable, and I think it's unreasonable to ask me to take such a leap of faith in the opposite direction of common sense when considering any corporation, even one as benevolent as Google.

>It is in fact, possible with GCC, despite your claims. In fact, all you would have to do is change the C and C++ runtime libraries (which is entirely doable nowadays). That's it. The FSF knows you can interpose stuff legally as well.

The GCC is released under the GPLv3. There are some libraries inserted into compiled code with a linking exception, but it isn't clear to me how you could release a fork of the GCC under a proprietary license.

If you make that claim, you're going to have to explain it in greater detail, because you're essentially claiming that the GPLv3 is totally toothless. My apologies if I've misunderstood you.

>Forking again was considered, by all the companies and people involved. But it wasn't worth it to any of them to have to have political fights with the FSF over software development every couple years, when they just want to get shit done.

I understand the desire to get shit done, but in some cases, you have to realize that there are dangers associated with charging ahead regardless of potential consequences. There's a reason why nuclear plants are rigorously regulated, even if a lack of regulation would probably cause more shit to be done.

And actually, none of this discussion about GCC or the FSF or whatever is even relevant. The authors of LLVM could have just released it under the GPL. They chose not to.

So if that decision costs the free world its compiler, they're who I'll blame. Not Google, unless Google was involved with that decision.


You get it all wrong. He is not saying "Google will not contribute back to LLVM" per se. He said "Any entity can leverage LLVM without contributing back. It's very nice Google is playing fair with the community, but not all commercial entities will be that friendly, and LLVM's licence makes it easier. He is not attacking Google and there is no reason to take it "personally" and entering to the "defensive mode" immediately.


" He is not saying "Google will not contribute back to LLVM" per se"

Except for the part where that it was literally said, yeah, ...

"He is not attacking Google and there is no reason to take it "personally" and entering to the "defensive mode" immediately."

Google was specifically called out as "sure to require you to use proprietary modules".I don't know how you can read it any other way.


Pretty simple. He has a claim: "Over time, using Clang effectively will require proprietary modules from ...", then he starts to give some examples, "... Google, Apple, et all". He is not targeting Google specifically, nor any company. He just points out to a possibility, which is legally allowed by license of the project so nobody can guarantee it won't happen without going into legal troubles.

I read that as "He is just giving examples for technology companies that use LLVM somehow" while you seem to read that as "OMG he's attacking Google specifically and intentionally and I must defend it immediately!", well, except that he didn't. There is no need to assume bad faith. Just relax a bit and keep up the good work you do on compilers.


I think this is a fair rephrasing of my claim.


GP's concern of proprietary modules seem valid IMHO. Based on your track record and plans ahead can you confirm this is not a risk?


Why is it valid?

We have never done so in the 10+ years of working on GCC or LLVM.

It's no more valid than me saying "Linus doesn't want to use GPLv3 because he wants to release consumer devices with the kernel and proprietary modules on it". IE it's complete unfounded bullshit with not a shred of intent or data to back it up, and goes completely contrary to the history of his work on the project.

In any case, we have no plans to release proprietary modules for clang/llvm.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: