Hacker News new | ask | show | jobs
by lmm 2292 days ago
What does that "diversity" actually gain you? LLVM is very modular so a clang monoculture won't stop competing optimisations etc. being developed, and its license is suitable for most uses.
2 comments

- The GPL license for GCC is valuable for free software rights.

- just like chrome becoming the only browser, one compiler isn't good either. The implementation starts to define the language instead of the standard

- separate projects can use different methodologies and tradeoffs.

- if there is a bug or exploit that only applies to that complier and not all programs

I don't think we should have 20 major C++ compilers but we shouldn't have one.

> The GPL license for GCC is valuable for free software rights

Apparently not in practice, because LLVM's copyleft license hasn't stopped large amounts of free software from being created (for example, rustc).

Why does good things coming from another license mean GPL isn't working? GPL guarantees a lot of rights that an important minority of developers finds valuable . If you don't care for it, Im not here to convince you, but I think you should be glad it at least exists.
You are right -- the GPL has been enormously important to the free software movement. I (perhaps wrongly) interpreted your post as being anti-permissive more than pro-copyleft. My apologies!
makes sense, I like permissive licenses too.
The existence of LLVM means that GCC's GPL can't really guarantee anything anymore. 20 years ago we got an open-source objective-C compiler because its implementers wanted to reuse GCC's backend. But today a company in the same situation would just use the LLVM backend.
Except with LLVM they wouldn't need to return their work to GCC, like NeXT was forced to do with their frontend.
That's exactly my point. GCC's copyleft was only effective when there wasn't a viable permissive-licensed alternative.
The ObjC frontend was only released because Apple got sued for infringing on the GPL.
And that, along with FSF's earlier refusal to accept patches to let gcc build for the Mac, may be the reason LLVM got the support it did. Two egotistical jerks butt heads, and then one of them found a billion dollars at his fingertips.
Do you have a link to that discussion?

Like gcc has built on mac for longer than Apple (then next step) was using gcc.

Do you have any source for that? I found a post[0] on Slashdot from March 2000 that Apple "plans to assign the copyright for its changes to gcc to the [FSF]." Neither the post nor the comments I skimmed seem to make reference to a victorious GPL lawsuit. (Unfortunately the original mailing list post is lost.)

The earliest snapshot[1] of opensource.apple.com on the Internet Archive suggests that the compiler sources were available (under "cc") as of October 12, 2000.

Although that snapshot suggests the first release was version cc-792, I can't find older than cc-798 on the site today. But the NOTES file[2] is interesting, detailing NeXT's/Apple's earlier changes including release codenames. (3/19/97: "This is the first fully functional compiler for the PowerPC.")

I would guess that the earliest Apple shipped gcc was with ProjectBuilder in the Mac OS X Developer Preview which was in 1999. Maybe things start to get blurry with NeXT, WebObjects, etc. but it doesn't _seem_ like Apple was shirking it's responsibilities under the GPL.

0: https://apple.slashdot.org/story/00/03/17/1656240/apple-plan...

1: https://web.archive.org/web/20001012121451/http://www.openso...

2: https://opensource.apple.com/source/cc/cc-798/NOTES.auto.htm...

Ok, so I misremembered, it didn't get to the point of a full lawsuit, only lawyers sending increasingly nasty notes at eachother, but it's still the first GPL enforcement action.

Its was NextStep. They tried for a long time to ship a proprietary GCC, then a proprietary frontend with the rest of gcc, then finally backed down and released the frontend. This was all in the early nineties.

I see. I was just using Nvidia’s CUDA compiler and it seems to be similar—-a combination of a proprietary frontend based on EDG and gcc to produce actual binaries.
Fewer people suing each other seems better in my opinion.
How about you comply with the terms of the licence if you don't want to be sued?
But if you use a permissive licence there's no need for anyone to sue anyone at all. Seems a better situation for everyone involved?
How is a more restrictive licence valuable for anybody's rights?
The GPL restricts vendor rights to protect end user rights.
Hate to pull a Godwin, but that sounds like socialism: let's improve the lives of the common folk by screwing companies. We all know it all ends.

The truth is that free licences gave us the iPhone, the PlayStation, etc.

I've just seen it repeated several times, in many spaces. Apache, for example, moved faster after Nginx started taking market share. And ideas were copied back and forth.

Also, a monoculture isn't great for security/exploits.