Toward the Encouragement of Copyleft and the GPLJun 10, 1999, 02:35 (34 Talkback[s])
(Other stories by Kyle Rose)
By Kyle Rose
[ The opinions expressed by authors on Linux Today are their own. They speak only for themselves and not for Linux Today. ] -lt ed
Due to the recent articles in Daemon News regarding the GNU General Public License (June 1999's The GPL vs. Capitalism by Pedro F. Giffuni and May 1999's Restrictively Unrestrictive: The GPL License in Software Development by Michael Maxwell), there has been a resurgence in discussion of how the GPL compares to the BSD licence. Both articles purported to explain how the GPL's "viral" nature is anticapitalistic and, in general, both seemed to discourage its use among free software developers.
Despite the meaning "virus" normally connotes, the viral aspect of the GNU General Public License -- known formally as "copyleft" -- is a tremendous benefit to free software developers and the community they support. Developers support copyleft because it ensures that no proprietary interests will be able to benefit from the time and effort they graciously donate to the community. The license terms are very specific: one is free to use copylefted code as long as any modified versions one distributes include the source modifications. This prevents companies from taking developers' free code, adding functionality, and denying the source changes to the very community that enabled their work in the first place.
Developers support copyleft also because it reduces code forking. Despite some rather interesting arguments over the years on the kernel mailing list, the development of Linux has had few minor and short-lived branches away from the primary code base. While much of this is a credit to the maturity of the kernel developers and the respect they have for Linus, it is also due in part to the fact that any distribution of the kernel must have the entire source code included: this ensures that universally "good" features will be incorporated into every fork, keeping the offshoots very close together or discouraging their existence at all. The GPL is the reason why Microsoft is fighting Linux instead of "embracing and extending" it: the license terms prohibit their kind of closed development.
Finally, developers support copyleft because it works. Despite the relatively recent fervor surrounding this issue, the GPL is a decade old and has produced some of the most successful free software in history, including the Linux kernel, GNOME, and the GNU project. While non-copyleft licenses like the BSD license can also point to many free software projects -- (Free|Open|Net)BSD, sendmail, and Apache, to name just a few -- they must unfortunately also claim responsibility for the proliferation of many proprietary software projects -- such as BSDI and Stronghold -- which were based on code that originally was developed by the community for the community.
Consumers, whether they know it or not, also benefit from copyleft. Let's assume that the free software development model is inherently better than the proprietary model: there are many articles that eloquently and logically support this position, including Eric Raymond's "The Cathedral and the Bazaar," so I will simply assert this as an axiom. Consequently, as more free software is copylefted, there are fewer areas in which proprietary software interests can reasonably compete, because they cannot start from an already robust implementation and simply add features; they are forced to reinvent the wheel. This ensures the proliferation of free software, the commoditization of end-user applications, and the consequential migration of proprietary interests toward the edge of software development and away from the typical consumer. The stability, extensibility, and standards compliance ensured by the free software model will make this a benefit for all consumers.
That the free-market should benefit from something as "communistic" [sic] as the GPL should raise a signal: perhaps claims of the GPL as communist are off base? Indeed, the GPL uses capitalism in a reasonable way to foster community and sharing, by only allowing participation by those who agree to follow the rules. No one is forced to comply with the terms of the GPL, but if one does not wish to do so, one is bound by the terms of fair use, which certainly do not include unauthorized distribution by corporations or individuals wishing to make a profit or fraudulently assert intellectual property ownership. The GPL isn't about "free beer," because one is still required to pay for certain kinds of use: the payment is simply in the form of open modifications, rather than money.
Irrespective of the GPL's nature with respect to capitalism, it is clearly the right license for many projects and for many developers. In certain cases, a non-copyleft license may be more appropriate, even for a hard-core GPL advocate: for instance, if one is attempting to propagate a new open standard in the face of a de-facto standard supported by numerous non-free software packages, such as is the case with FreeCDDB and the related CDIndex efforts versus Escient. However, these cases are quite limited in scope.
In order to protect the investment of time and intellect that goes into creating free software, use of the GPL should be advocated, not reviled. Although some may not agree that the commoditization of end-user software is a good idea, it is hard to argue with the fact that the open standards, competition, and choice fostered by free software are a benefit to consumers. Ultimately, only copyleft will shut out inherently inferior proprietary interests and ensure that free software prevails.
Kyle Rose is a Ph.D. student in computer science at MIT in Cambridge, MA. He holds a bachelor's degree in computer science from Cornell University. He has been a software developer for 18 of his 23 years, and has been active in free software advocacy and development for five years. He is currently working at Akamai Technologies, Inc., a Cambridge-based startup. The views expressed in this article are not necessarily those of his employer.
0 Talkback[s] (click to add your comment)