Another hard decision that was the right choice in retrospect was going with KHTML. I remember watching the keynote and waiting for them to announce it was based on Gecko. Camino had shown it was possible and worked well. Apple had hired David Hyatt. It was obvious they would go with Gecko.
There was an audible gasp when they announced it was based on KHTML. What the %^&$ is KHTML?
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.
There was an audible gasp when they announced it was based on KHTML. What the %^&$ is KHTML?