Hacker News new | ask | show | jobs
by tinus_hn 1105 days ago
LLVM is because they don’t want GPLv3. They just went ahead with a stack where they can be in control on their own terms.

Basically GNU gambled and lost, they wanted to make a big stand against software patents and some other powerful forces had different opinions.

3 comments

> LLVM is because they don’t want GPLv3.

LLVM and Clang are also about having a compiler stack that provides the information you need for a modern graphical IDE.

For instance, GCC had made some decisions that made it difficult to point to which line of code caused a particular error message.

Apple's Chris Lattner covered this in a 2007 tech talk he gave at Google introducing LLVM and the (then) new Clang project.

https://youtu.be/VeRaLPupGks?t=1133

> LLVM and Clang are also about having a compiler stack that provides the information you need for a modern graphical IDE.

Is that why all GNU utilities shipped with OSX were also stuck at the GPLv2 versions and never upgraded?

No. That's why LLVM and Clang were developed.
Yes. Apple won’t use GPLv3.

Some things have good replacements with other licenses, like zsh. Others, AFAIK, don’t, like rsync.

GPL v3 is part of it, but as I understand, back when the decision was made GCC was rather inflexible compared to LLVM/Clang which was also a big factor.
I believe LLVM was chosen because it was easier to make new compilers to work with it. GCC's intermediate representation was a bit of a mess for a long time and from what I understand, Apple did not find GCC's Objective-C support to be satisfactory.