Why people were enthused about GCC early on in its life
There were other reasons too.  I worked at a place where we ported our software to 20 different versions of Unix[1]!  gcc tended to be a lot less buggy than vendor compilers, and what bugs there were tended to be across all platforms.<p>gcc's error messages were also a lot better than vendor compilers, as were regular diagnostics.  gcc -Wall was a huge boon to improving code quality.<p>If you were doing C++ for cross platform software, then gcc was the only game in town.  The vendor compilers were at different versions of the C++ spec, had different libc++, tended to crash a lot, and had really bad messages.  Heck gcc even added a flag to generate warnings based on Scott Meyers' Effective C++ books.<p>When the vendor compiler started being sold separately, they also included licensing daemons.  Every invocation of the compiler would check with the licensing daemon to make sure you didn't go over your license limit.  The license daemons also tended to crash or get confused, causing even more grief trying to compile a large code base.<p>At the end of the day vendor compilers were unreliable, buggy, unpleasant and a pain to work with.  gcc was developer friendly and worked well.  That got a lot of enthusiasm.<p>[1] You can get an idea of what development was like back then <a href="http://www.rogerbinns.com/visionfs.html" rel="nofollow">http://www.rogerbinns.com/visionfs.html</a>