InformIT

Free Software Versus Open Source Software

Date: Mar 16, 2007

Article is provided courtesy of Prentice Hall Professional.

Return to the article

The terms "Free Software" and "Open Source Software" are often used interchangeably, and even abbreviated together as F/OSS (for "Free/Open Source Software"). Are there any differences between the two? If so, what are those differences? If not, why do the two different names exist? David Chisnall examines this paradox.

The Birth of Free Software

In the early 1980s, Richard M. Stallman (RMS) was working at MIT’s artificial intelligence lab. The lab had just bought a new printer from Xerox, and had a few problems with it. With the old printer, they would have been able to fix the driver code themselves, but the new printer didn’t come with source code.

This situation led RMS to found the Free Software Foundation (FSF), an organization dedicated to producing software that granted users four basic freedoms:

  1. The freedom to run the program, for any purpose.
  2. The freedom to study how the program works, and adapt it to your needs.
  3. The freedom to redistribute copies so you can help your neighbor.
  4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

Let’s examine the Four Freedoms in a bit more detail:

The FSF’s GNU project was not the first software to respect these freedoms; 1BSD, released in 1977, had a license that did so. Unlike the GNU project’s General Public License (GPL), however, BSD code could be integrated into non-Free software. The GPL introduced the concept of "copyleft": Code licensed under the GPL, and all derived works of that code, would always respect the Four Freedoms.

Open Source

The definition of Open Source is somewhat longer than that of Free Software. The Open Source Definition states the explicit rules, but these are the 10 basic points:

  1. The license must allow free or paid-for redistribution.
  2. The program must include source code.
  3. Derived works must be redistributable under the same terms.
  4. The source code may be distributed under a license that doesn’t allow distribution of modified versions only if distribution of patches is allowed.
  5. The license must not discriminate against any people or groups.
  6. The license must not discriminate against any activities.
  7. All rights granted to the original user of the code must also be granted to anyone who receives a copy of the code from that user.
  8. The license must cover the program in isolation, and may not be dependent on bundling.
  9. The license may not place restrictions on any software other than that being distributed under the license.
  10. The license must be technology-neutral.

Now let’s compare these requirements to those of the Four Freedoms:

In general, if a program is Free Software, it’s also Open Source, and vice versa.

Differences Between Open Source and Free Software

The biggest difference between the two types of software is their focus. Note that the second requirement for Open Source software is that the source code must be available. The ability to access the source code is a fundamental part of the Open Source concept; in fact, it’s the origin of the name. In contrast, the Free Software movement is interested in source code only as a means to an end.

The defining document for the Open Source movement is Eric S. Raymond’s "The Cathedral and the Bazaar." This text outlines the way in which a distributed development model can be superior to a closed, internal version. The basic idea of Open Source is that the availability of the source code makes for a better product. In contrast, the Free Software movement believes that a program that provides the user with the four freedoms is intrinsically superior to one that doesn’t, irrespective of its other features.

This difference is so fundamental that it’s worth repeating. From the perspective of their related movements,

Taking this difference into account, it’s worth noting that some projects are not really Open Source, even though they technically meet the definition. Apple’s Darwin, for example, is licensed under terms that meet these conditions, but isn’t developed in an open manner. As such, it only technically counts as Open Source, but is definitely Free Software.

Name Confusion

One of the reasons for the creation of the Open Source "brand" is that the term "Free Software" is easy to misunderstand in English. Unlike some other languages, the word free in English represents two distinct concepts:

The second definition is the relevant one in terms of Free Software, but when talking about software it’s easy to expect the first. The term "freeware" is typically used to describe software distributed using the first definition. Much Free Software is also freeware; that is, you can download it and run it without paying anyone. A lot of Free Software isn’t free, however. If you buy some custom software and receive all the rights to it, then it was distributed to you as Free Software, but not freeware.

To attempt to alleviate this confusion, the word open was used instead. Unfortunately, "open" has a lot of meanings in the software world. OpenVMS is one of the oldest examples; it gained the Open designation because it conformed to POSIX, an open standard.

The other part of the name is "source," and this also causes some confusion. By focusing on the availability of the source, rather than the availability of the freedom, programs like Microsoft’s Shared Source Initiative are able to piggyback on the term. To someone unfamiliar with Free Software and Open Source software, it may sound as if Shared Source is Open Source, because you can download and read the source. This isn’t the case, however, since often you’re not allowed to distribute the software or any derived works.

Recently, the term Software Libre has become popular. This Spanish translation of "Free Software" is not as ambiguous, since Spanish distinguishes between "free as in freedom" (libre) and "free as in price" (gratis). Of course, the downside of this term is that it requires a basic knowledge of Spanish for people to understand it.

Favorite License

The Free Software movement is most closely identified with the GNU General Public License (GPL), which was created by the Free Software Foundation. Browsing the list of licenses that the GNU considers Free, you may notice a recurring pattern: Anything that is not the GPL has next to it a suggestion that you should use the GPL instead.

The rationale for this practice is simple: The GPL is a tool for pushing the Free Software movement’s agenda. It protects the Four Freedoms for the end user, and prevents anyone from using code licensed using the GPL in code that doesn’t practice the Four Freedoms. To a true Free Software supporter, code that restricts the Four Freedoms is intrinsically valueless, so the fact that you can’t use GPL’ed code in that software is irrelevant.

The Open Source movement is less fussy. Eric S. Raymond, one of the founders of the Open Source movement, famously said in 2005 that the GPL was obsolete. His reasoning was that anyone who takes Open Source code and produces a closed fork will harm himself, since his new version will wind up being inferior to the open version. But one project in particular shows that this situation isn’t always so clear-cut.

In 2002, Apple forked the KHTML engine used by KDE to render HTML. Apple’s team spent a year working on KHTML internally and then released all of their changes at once. After that, they continued working in the same fashion for a while; a new release would periodically include a huge blob of changes for the KHTML team to integrate. Since Apple was devoting far more programmer time to its fork, WebKit, than the KHTML team could manage, it became very difficult for KHTML to keep up. This problem was worsened by the long gaps between patches, since internal interfaces in KHTML were likely to have changed between the patches. This example seems to counter Eric Raymond’s argument about the GPL; if KHTML had been BSD-licensed, for example, Apple could have kept its changes private, and produced a better product than the open version.

In 2005, however, things changed. Apple opened its WebKit CVS repository to the public. Since then, Apple has accepted a few patches from the community, but gained a significant bonus when Nokia decided to step in. Nokia was interested in a web browser for small-footprint devices, with the idea being to stop paying license fees to Opera for every device that Nokia sold. Having a second company working on the product is likely to benefit both Apple and Nokia.

This example shows that a closed fork of a project can be better than the original if a company is willing to invest more money than everyone else does. On the other hand, if they invest the same amount of money in improving the open version, they’re likely to get an even better result. For this reason, the Open Source movement is less enthusiastic about the GPL, and much more willing to use other licenses.

Conclusion

Overall, the two ideas are remarkably similar. The branding is slightly different, as is the focus. Free Software advocates believe that freedom equates to value, while Open Source advocates believe that freedom leads to value. Both, however, agree that software freedom is very important.

800 East 96th Street, Indianapolis, Indiana 46240