The two terms carry the baggage of over a decade of co-existence and personal animosities. Using the wrong term in certain situations is like stumbling out of the woods into the target end of a rifle range.
To outsiders, software whose source code is freely distributable is open source software. However, as soon as you become involved with the community that centers around such code, you quickly find that it is also called free software -- and that the two terms are far from synonymous.
Which term you choose to use can quickly associate you with a whole spectrum of political and philosophical beliefs, and can make the difference between receiving cooperation and being ostracized. As a newcomer, you might easily imagine that you have stumbled out of the woods and into the target end of a rifle range, all because of your innocent choice of jargon.
To make matters worse, knowing which of the two phrases to use is difficult, because they are used in several different ways. At the most basic level, they indicate a specific organization and its principles. At another level, the choice of terms may reflect your audience. And, at the most important level, your choice may reflect your ethical imperatives and your vision of the future of computing.
All these meanings blur together, and are heavily dependent on context, so much so that members of the communities can switch meaning in mid-conversation, and sometimes even in mid-sentence. They also carry the baggage of over a decade of co-existence and personal animosities.
These subtleties cannot be learned overnight. After all, supporters of both free and open source use the same software and same licenses, and mostly seem to co-exist on a daily basis. However, if you are a newcomer to the world of free and open source software, what follows may provide a starting point to overcoming your confusion.
The source of the distinction
The idea that software source code should be freely distributable dates back to at least the early 1960s. However, it was the Free Software Foundation (FSF) that popularized the idea in modern times, referring to it as free software. The trouble with this term is that "free" is ambiguous in the phrase: It is meant to refer to personal liberty, but can easily be taken to refer to price. The FSF has long tried to clarify the phrase by adding "free as in freedom, not as in beer," but this explanation is not much help, since, as more than one humorist has pointed out, beer is rarely free.
Coupled with the activist, counter-cultural image of the community in the mid-1990s, the term "free software" seemed to some to be unfriendly to business -- and, therefore, to the acceptance of the software by a wider audience. For these reasons, a group of community members that included Larry Augustin, Jon Hall, Michael Tiemann, and Eric S. Raymond met in January 1998 brainstormed to find an alternate term.
Their choice was "open source," a term used in the espionage community to refer to information available in public sources. Raymond and Bruce Perens founded the Open Source Initiative soon after, and, at a second meeting in April 1998 sponsored by publisher Tim O'Reilly, a group of project leaders voted to promote the use of the term.
In the ten years since, "open source" has become the most commonly used term outside the community -- so much so that Richard Stallman, founder and president of the FSF, frequently explains that he does not consider himself an open source advocate.
What is not often mentioned in official histories, such as the one on Wikipedia, is that part of the decision to use another term were personal feuds between several of those who attended the meetings and FSF supporters.
For instance, Perens and Stallman are known to have had at least one shouting match, although Perens has mellowed enough so that in his recent article to mark the tenth anniversary of the coining of open source, he refers to Stallman as a "giant" and speaks generously about him.
However, some of these early animosities survive to this day. In particular, Linus Torvalds retains a deep distrust of the FSF, so much so that, eighteen months ago, he refused to participate in the discussion about how to revise the Gnu General Public License (GPL). "The FSF considers us open source people 'heretics,' he wrote to me at the time, dismissing the consultation process as a public relations exercise, and even the efforts to make the GPL compatible with the Apache License as an effort to "hijack" projects.
For its part, the FSF is equally dismissive about Torvalds. Peter Brown, the executive director of the FSF, although not involved in the clashes of a decade ago, nonetheless echoes them when he told me, "There's this basic clash of people who are afraid of the Free Software Foundation and Richard Stallman, and portray him as somehow destroying and as ruining everything for everyone. Don't portray [Torvalds] as the leader of a movement that wants people to have control of their computers. He doesn't believe in that stuff. People have crowned him the leader of a movement when he's not. He's the leader of a software project."
These old feuds are worth remembering as you struggle to understand why the distinction between "free" and "open source" is so full of consequences. If nothing else, they help to explain why people feel so strongly about such an apparently innocuous subject.
One of the consequences of the division between the free and open source communities is that two organizations exist to approve such things as licenses: The Open Source Initiative (OSI), and the FSF. If you read the OSI's Open Source Definition and the FSF's Free Software Definition, youll find that they are simply rewordings of the same ideas. Look at the list of licenses approved by both organizations, and you will find that the major licenses are also identical. Where they are not, the main reason is usually that the writer of the license has not yet submitted it to one authority for approval.
In this context, calling a piece of software "open source" or "free" refers to nothing more than whether its license has been approved by the authority in question. In addition, the same license could often be called both, depending on whose approval you want to emphasize.
From another perspective, your choice of term may reflect nothing more than your audience. Looking back at the coining of open source ten years later, Perens writes, "My intent has always been for Open Source to simply be another way of talking about Free Software, tailored to the ears of business people, and that it would eventually lead them to a greater appreciation of Richard Stallman's arguments."
In other words, the change was simply a branding decision -- or, as Raymond referred to it, a "time to reposition." Stop referring to free software and start talking about open source, and business executives might be more interested in the phenomenon described by both.
As Raymond put it, "There's now a chance we can make serious gains in the mainstream business world without compromising our ideals and commitment to technical excellence -- so it's time to reposition. We need a new and better label." Considering that "open source" is almost always used today in business, the validity of this logic is hard to dispute.
All the same, free software supporters might argue that the change of terms indicates a policy of appeasement. "If we think of open source as a move to make [free software] more user friendly," Stallman wrote to me last year, "Then obviously it's always going to be about putting power in the hands of corporations to do what they want."
Although both Perens and Raymond argue that the change can be done without a loss of ideals, for free software supporters that is exactly what has occurred. Raymond, for example would go on to argue in The Cathedral and the Bazaar that the importance of source code accessibility was that it made for rapid development and fewer software bugs. Yet, for free software supporters, quality software is not nearly as important as user empowerment.
That brings up the third definition of the difference between "open source" and "free software": the question of whether your first priority is your own convenience as a developer, or increased control of computing for everyone.
In an interview with Forbes magazine, Linus Torvalds places himself squarely in the open source camp under this definition when he jokes about why he prefers the second version of the GPL to the third:
If you're a mad scientist, you can use GPLv2'd software for your evil plans to take over the world ("Sharks with lasers on their heads!!"), and the GPLv2 just says that you have to give source code back. And that's OK by me. I like sharks with lasers. I just want the mad scientists of the world to pay me back in kind. I made source code available to them, they have to make their changes to it available to me. After that, they can fry me with their shark-mounted lasers all they want.
By contrast, to a free software supporter, Torvalds' view seems a statement of irresponsibility. As Stallman pointed out to me, one of Torvalds' objections to the latest version of the GPL was that it contained restrictions on so-called digital rights management (DRM) technology; essentially, Torvalds did not care about DRM as a consumer issue, so long as those who wrote it shared the code.
Stallman wrote that programmers who share Torvalds' view "want the freedom to lock down computer users. They want the freedom to impose DRM. [But] if your concern is computer users, then you see that at the most fundamental level freedom has to be put in the hands of the least empowered user by putting in place a system that ensures that even without computer skills they can effectively have the freedom that the more powerful members of the community have."
But, just to complicate things, the distinction is not just between the pragmatism of open source and the idealism of free software. Although the fact is easy to overlook, open source can be just as idealistic in its way as free software. The idea that code is better when it is shared is a re-statement of the ideal of academic freedom and the free exchange of information.
You can even argue, as Torvalds does, that concern for your own access to code as a programmer is a case of enlightened self-interest. "It's about 'empowering everybody' by letting some enterprising users empower themselves, and then taking advantage of it for everybody else," he told me last August. From this perspective, empowering developers and empowering all users are goals that "are not at odds at all."
From this perspective, the most accurate description of the difference implied by "free" and "open source" is one of conflicting ideals -- or, perhaps, of an argument over the means to the same goal or the priorities. While open source supporters like Torvald argue that empowering developers ultimately empowers everyone, free software advocates like Stallman insist that what is needed is the extension and protection of user's rights in their own computers and software. Both are also convinced that the other's view is likely to lead to disaster.
Sidestepping the distinction
You might feel, especially at first, that the controversy is one of trivialities. And, to a degree, you would be right. Members of the free and open source software communities have far more in common with each other than not. The communities overlap, and generally use the same software and the same licenses. Yet every now and then, some issue -- most recently, last year's discussion around the changes in the third version of the GNU General Public License, portions of which are quoted above -- reminds everyone that the underlying differences can be profound.
Yet, even when the difference is not on everybody's mind, it still exists, so you need to be careful of it.
On the one hand, if you do more reading and decide that your ideals align with one side's in the third sense of the definition given here, you may choose to use that side's terminology. That is why, left to myself, I tend to refer to free software, using "open source" only in direct quotes.
On the other hand, if you feel confident that you understand the difference, you might alternate the terms, referring to free software when talking to those for whom the community and user empowerment is most important, and to open source when referring to those for whom business and shared code is most important.
The trouble is, judging when to use each term can be difficult. Nor can you always count on listeners to understand the distinction you intend. Often, too, you may not want to stir up the old controversy again. For any of these reasons, you might prefer a more diplomatic term.
Eben Moglen's preference for "the free world" has wry connotations of the Cold War, and is immediately obvious in context. However, the more widely used alternatives are "free and open source software" (FOSS for short), or "free/libre and open source software" (FLOSS), which has the advantage of explaining what sense of "free" you have in mind.
Of the two, FOSS seems to most common these day. But the advantage of both FOSS and FLOSS is that they are generally accepted by both camps. By using either acronym, you can avoid the distraction of semantics and get on with your real business without alienating anyone by accident.