The Bazaar and the Other Bazaar - by Christopher B. Wright

The World of Free Software and the World of Open Source: Semantics or Culture Clash?

Summary: What are the differences between the various terms we've heard used to describe free or open source software?

If you look through the technology rags today, you'll notice 5 key phrases that get used almost interchangeably.

Linux. Open Source. Freeware. Free Software. GNU General Public License.

To many people, they all mean essentially the same thing, but in reality, all of these terms are different. Free Software is an ideology that believes a program's source code should always be available to the people who use it. Freeware is a name used synonymously (and incorrectly) for Free Software. The GNU General Public License is a software license that seeks to ensure that a program protected by it will always remain free software. Linux is an operating system licensed under the terms and conditions of the GNU General Public License, and is therefore free software. And Open Source is an attempt -- a bold, and surprisingly successful attempt -- to focus on the developmental advantages of Free Software while downplaying the political underpinnings of the Free Software movement.

The terms "Free Software" and "Open Source" are used to describe a radical idea in the world of software development. Radical because, in the corporate world of software design, software developers work in their own little worlds, rarely sharing their work with their peers, allowing them to sell their software without fear of someone else studying their work to make something that works better. This is what allows companies like Microsoft to create cash cows like Microsoft Office -- programs that people come to depend on that they can get from only one source.

In the corporate world of software design, people are dependent on one source of support per program. One company creates the program, one company maintains the program, one company updates the program. You can only buy the software from that one company (and those companies that pay for the privilege to sell it). You depend on that one company (and only that company) for product updates and bug fixes. Depending how important the particular feature or bug fix is, you may wind up waiting for a long, long time for it to reach you. In effect, your power as a user of the program is limited by the resources of the company who owns it.

It wasn't always this way, of course. When computers first started to become popular among the techno-geeks and hobbyists, people were always sharing programs with each other. Computer Magazines would print code in its issues for people to type in and play around with. Other people would take that code and add a few improvements here and there, then share it with everyone else.

These programs were usually released into the Public Domain, which means in effect that the source code was available for anyone to do anything with. Unfortunately, while Public Domain grants everyone access to the source code, it doesn't necessarily provide any assurance that it will stay that way. Someone could take the source code, add some improvements, patent and copyright it, and release only the binary version of the program, for a fee. People started doing just that, and suddenly, this community practically disappeared and in its place were a few people making a ridiculous amount of money.

After a while, many of those people got lazy. Shortly after that, a lot of software started to suck really, really, bad.

In 1984, a few people who were sick to death of this situation started a project called GNU's Not Unix, or GNU. This project was aimed at reviving the open development model that the early PC years enjoyed (and that many in the Unix world were still using). However, they wanted to ensure that people involved in this development model wouldn't have their programs stolen out from under their noses by people who would take the work they were doing, patent it, and take that work out of the loop. Their answer was the GNU General Public License, or GPL.

The GPL was a software license that protected the availability of a program's source code. In shorthand, the GPL gives anyone unrestricted access to the source code, but requires that any work done with that source also be placed under the GPL. This gave the new software development community the ability to work on each others work with the security of knowing that what they contributed for everyone wouldn't wind up in a proprietary program.

This kind of software was called "Free Software." Free Software was equated to the concept of free speech -- everyone had the same rights and responsibilities associated with its development under the GPL. It is not the same as "Freeware", which is a program binary that can be used free of charge.

Over time, other people created Free Software licenses that were not the GNU General Public License but were based on the same basic principles. Some were "more free" than others -- some licenses, for example, allowed you access to the source, and allowed you to freely distribute the source, but would not let you charge money for any work you did unless you paid the originators a licensing fee. Today there are many kinds of Free Software licenses: XFree86 uses its own license, Mozilla has its own license, Aladdin's Ghostscript has its own Free Software license, the various distributions of BSD have their own free licenses, the list goes on. The GPL is still the most recognizable license, however, and is the one you'll run into most of the time.

Since its inception, the Free Software community enjoyed a healthy and loyal following. However, there has always been a perception from outsiders that the Free Software community was nothing but a bunch of crazy Marxist radicals trying to infect the software community at large with the ideology of Communism.

The term "Open Source" came into being when someone tried to alter this perception. Eric S. Raymond, a well known programmer in the Free Software community, wrote a paper called "The Cathedral and the Bazaar" that dealt with the advantages that Free Software had over proprietary software as a process of developing software. In his paper, he covered the development history of an e-mail program that he was developing. Because his source code was available for other people to look at, other programmers were able to see what he was doing and send in suggestions, improvements, and new features. Because everything was available for everyone to try out, he was able to call upon a much larger pool of beta testers than he otherwise would have been able to find. In short, because the development model was open to the world at large, the program was updated faster, released faster, and fixed faster than it would have been if Eric had been working on it himself. Thus, the term "Open Source" was used to describe a development model rather than a use and distribution environment.

The term Open Source seems to be the favorite of the computer industry at large, mostly because it doesn't have the word "free" in it (which makes corporate execs twitch and break out into a cold sweat). Open Source advocates are getting the attention of corporate software houses because they are showing evidence that developing in their environment is faster and allows more people to respond more quickly to unforeseen problems ("bugs").

Meanwhile, there is a very polite and civilized disagreement as to whether Open Source or Free Software is the correct term to use for "that kind of software." Open Source advocates say that the term Free Software is misleading and too political, it needlessly alienates companies that would otherwise embrace the benefits of the software. Free Software advocates say that the term Open Source is misleading because it whitewashes the legitimate legal and social implications of Free Software.

For the most part, people treat the terms Open Source and Free Software as interchangeable words for the same idea. Even Richard Stallman describes Open Source as another term for Free Software, though he thinks it confuses the issue. In the Linux community, Open Source and Free Software are often used in the same breath.

In truth, there are more similarities between the two groups than there are differences, but there are differences. Open Source licenses are more likely to put a little more power into the companies that originally develop a product -- the Mozilla Public License, for example, gives Netscape the right to take any source code contributed to the Mozilla product and use it in a proprietary product (at least, it did at one time. That may have changed). This would never be permitted under the terms of the GNU General Public License, which falls solidly and unrepentantly in the Free Software camp.

For my part, I prefer to use the term "Free Software," but I recognize the usefulness of saying "Open Source" when dealing with people who are interested primarily in making a profit. The importance, after all, is not in the name, it's in understanding the license. Ultimately, it doesn't matter if you call it Open Source or Free Software, because neither name will change the freedoms and limitations of a software license.

You will, of course, find people who disagree with my distinction between Open Source and Free Software. Many of these people will have had many more years of experience dealing with both terms than I have, and will probably be much better suited to comment authoritatively on the subject. That's fine. Just pay attention to what they call it, then see if it turns out I'm not right after all.

* * *

If you have a different idea of what all the terminology means, discuss it with Chris Wright and others in our interactive forum.

Recent feedback:

Copyright © 1999 - Falcon Networking ISSN 1203-5696
January 16, 1999