Usually when we discuss a piece of software, we attempt to enhance our understanding with a program or fragment of code which illustrates the topic. Therefore, it is quite frustrating to discuss as major a tool as GCC, where the code is available to anyone upon request but we are prevented by the "copyleft" from showing you any code fragments. As such, we feel it important to examine the history and some effects of the copyleft.
The copyleft on GNU software was born out of rather turbulent circumstance. In the mid-1980s, a number of commercial entities made a practice of "appropriating" software developed at MIT and other universities and placing their own copyright on it. Richard Stallman, then (and still) at the MIT Media Lab (originally MIT AI Lab), was involved with some early LISP software development, and experienced first hand the ruthless and bloody battle between Symbolics and LMI over LISP software enhancements. At the same time, AT&T was leading the forefront in the development of license agreements for UNIX, though not investing much at that time in the development of UNIX itself. This obvious (and still successful) locking up of research led Stallman and others to work on software projects which would be unencumbered by licenses, copyrights, and other restrictive means. Stallman's EMACS for the PDP-10 was one of the first visual editors available without those restrictions.
While commendable in theory, the practice was quickly thwarted by the success of Gosling's EMACS, a C-based version of Stallman's EMACS, which ran under UNIX. As more use was made of Gosling's EMACS, companies began to support it, add new features, and so forth, until finally it was locked-up by the vendors. Of course, it goes without saying that the changes to the code and new features were not returned to Stallman's group for updates, since that would have impacted a vendor's perceived competitive advantage.
Basically, the copyleft was an extreme response to the excesses of a cutthroat market. While permitting redistribution, the copyleft attempts to maintain access to and control of changes in code, by requiring that source modifications be returned to the FSF for redistribution and by demanding that the source with these modifications be made available from that company to anyone for essentially a "copying" fee. A liberal reading of the license makes it practically impossible for a company to easily lock up the software. It also prevents a company from easily recouping its investment in further software development, enhancements, or support by eliminating its competitive advantage over its competitors. A large company can avoid this by developing or licensing needed software tools, but a small business or individual developer does not have access to these resources.
Finally, the copyleft attempts to exert control over any discussion and analysis of the code itself in any printed medium, and states in part: "...The 'Program,' below, refers to any such program or work, and a 'work based on the Program' means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications ...."
Thus, according to the copyleft, a written examination of GCC, which utilizes some of the code itself for purposes of discussion, falls under the copyleft itself. This is a condition unacceptable to authors and publishers, because they make their income only from the publishing and distribution of written works, and not necessarily from software products. Perhaps this was an unintended side effect of the copyleft, but attempts to narrow it have been to no avail.
Porting Unix to the 386: Copyrights, Copylefts, and Competitive Advantage