From: www.itworld.com
March 20, 2001 —
My criticism of the Debian installer in the slink-and-a-half release passed out at LinuxWorld Expo drew a lot of fire from the Debian faithful. I stand by what I wrote, but I will admit that, as a result, I've tried to shy away from red-button issues for this week's piece. I went looking for a safe topic. A respite from abuse. Something so boring that nobody would get riled up about it. Something like free and open source software licenses, for example.
The motivation for the topic came from a recent article by Dave Winer entitled "What is Open Source?" The URL is in the Resources following this column. I found Winer to be way off the mark in answering his title question as well as in a few of the conclusions he reached.
Winer is a bright, literate software professional. At first blush I thought his negative tone about open source and his confusion about the topic were simply the result of classic ingroup vs. outgroup thinking: a legacy programmer writing proprietary code versus the free and open source revolution that is turning the software world on its head. That and perhaps a bit of fear about the inevitability of free software and the impact that might have on his economic well-being.
As I've put this column together, however, my thinking has changed. I still believe that Winer is wrong on several key issues, including his definition of open source, but I no longer blame him for that. Instead, I believe he has become confused by all the rhetoric generated on both sides of the free software vs. open source debate and the BSD and GPL licensing wars.
"A program is said to be open source if the full source code for the program is available publicly with no constraints on how it can be used," Winer said. Under that definition, the only thing that qualifies as open source is public domain
software. Every license places some constraint, or else there would be no point in having it in the first place.
The Open Source Initiative (OSI) also disagrees with Winer's definition of open source. On its Website (see Resources for a link) the definition of open source lists nine specific criteria that a license must meet in order to be an open source license. Those nine items do not prohibit constraints on how the software can be used. The Website also lists all software licenses that meet the criteria. The first one listed is the GNU General Public License, the GPL.
Winer then proceeds, using his own definition, to the conclusion that the GNU project is not open source since the GPL puts constraints on the use of the software. The GNU project list of programs includes Emacs, GIMP, GNOME, GCC, and about 150 others. But many other programs are covered by the GPL, even though they are not directly a part of the GNU Project. The Linux kernel, for example. Imagine the disappointment of the thousands of programmers around the globe who have worked on GPL'd software when they learn that Winer has revoked their visas to live and work in the bazaar.
One problem here is that there is no universally accepted definition of what open source really is, so Winer chiming in with a definition at odds with the authoritative OSI is no surprise. Even Microsoft President and CEO Steve Ballmer has taken advantage of that fact by saying first that Microsoft might get into open source, and then backtracking later, saying he was misunderstood because others didn't know what Microsoft meant by the term.
I admit to having my own definition of open source. It is based on the usage I have seen and heard, not on a philosophy. To me, the term means simply that source code is both freely available and modifiable. Period. Restrictions on the code's use depend upon the license applied to it, not on the label.
Winer's definition also echos the rift between BSD- and GPL-style licenses. BSD advocates claim that their license makes software truly free because it places no restrictions on its use. Richard Stallman and the Free Software Foundation say their license is better because it guarantees that derivative works are also free by requiring that they too be covered by the GPL. The BSD license allows users the dubious opportunity to remove the work from the free software world and take it purely proprietary.
The debate about BSD-style freedom and the Free Software Foundation's idea of free software reminds me a little of the split in the 1930s between Salvador Dali and the Surrealists. Dali was expelled from the Surrealist movement for using traditional techniques. During an interview following the split, Dali was asked about the difference between himself and the Surrealists. He replied, "The difference is that I am a Surrealist."
Since the emergence of the Open Source Initiative and the subsequent plethora of definitions of the term open source, Richard Stallman has resisted its use to describe software covered by the GPL. Instead he much prefers the term free software.
In 1998, Eric Raymond's book The Cathedral & the Bazaar carried the meme into the boardroom, and the boardroom was almost unanimous in its disapproval of free, nonproprietary software. There was need for a term, a phrase, that could encompass the open development aspect of the bazaar and both free and nonfree software. Then Netscape decided to open source its browser under particularly nonfree constraints. Lo and behold, a definition of open source appeared that was inclusive enough to cover it.
Winer seized upon that dispute in terminology to argue that GPL'd software is not open source, and you can almost see Stallman nodding his agreement in the background. Unfortunately, not only is Winer's syllogism propped up on faulty major and minor premises, its conclusion is upside down.
Let's look at the differences between free software and open source software. Free software, as defined by the FSF, is software that is licensed so that:
The GPL goes further than that, however, by including its copyleft protection, or the requirement that redistributed modifications be released under the same license. That is the constraint that Winer uses to argue that GPL'd software is not open source software. Copyleft is also the point of contention between adherents of the BSD-style freedom and the FSF-style of free software.
Many people refer to the GPL as a viral license, or simply as the GPL virus, since all derivative works of software covered by the GPL are infected with it; they must be covered by the GPL as well. That term may or may not be meant in a pejorative sense, depending upon who is speaking, but it always sounds like an attack on the GPL to me. I like to think of it as a vaccine, not a virus, injected to keep software free and healthy.
Are you confused? Well hang on -- I'm not finished yet. You are probably getting a feel for why those in the proprietary camp often don't understand open source and free software by intuition. I've previously noted that the OSI considers the GPL to be an open source license. Let me now point out that the FSF considers the original BSD license to be a free software license, and the modified BSD license, which dropped the advertising clause constraint of the original, to be not only a free software license but a GPL-compatible one at that.
I wish it were possible to place that whole licensing bucket of worms across the tracks of the Cluetrain Manifesto (see Resources for a link) and let it do a little preemptive repackaging based on plain talk and common sense. But that isn't our way, is it? The bazaar is a babble of voices, each insisting on its own right, its freedom, to be heard. Those standing on the outside, like Winer, are likely to hear only the shrillest voices and to build their understanding on them, whether those voices come from competing choirs or not. Unfortunately, the shifting sands of context switching don't make a good foundation for understanding.
It's really simple. Open source is an umbrella. It is as much about development methodology as licensing issues. Free software is a subset of those programs that fall under the open source canopy. Stallman's insistance on calling GPL'd software free instead of open source is a plea for a greater understanding of the principles involved. But the fact remains that Linux and all the other GPL'd software in the world is indisputably open source as well as free software.
As long as you are using a definition of open source that I agree with, that is.
LinuxWorld.com