Free Software Versus Open Source Software

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.

Like this article? We recommend

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:

The freedom to run the program, for any purpose.

The freedom to study how the program works, and adapt it to your needs.

The freedom to redistribute copies so you can help your neighbor.

The freedom to improve the program, and release your improvements to the
public, so that the whole community benefits.

The freedom to run the program, for any purpose (freedom
0).The first freedom is numbered zero because the idea is that it
should be implicit in any software license, Free or otherwise. In fact, however,
since the time when the four freedoms were written, freedom 0 has ceased to be
the case; some proprietary software comes with a "for noncommercial use
only" license, which violates the zeroth freedom.

The freedom to study how the program works, and adapt it to your
needs (freedom 1). The second freedom is perhaps the most commonly
discussed. It turns out that most software comes with this freedom. The vast
majority of software is written for a specific purpose, either in-house or by
contractors, so the customer is always given the ability to adapt it. To a
limited extent, this freedom is even granted by some closed-source, proprietary
programs that expose scripting and plug-in interfaces, allowing users to extend
the functionality. For this freedom to be completely granted, however, a copy of
the source code is required. Even with a scripting interface, some adaptations
are likely to be impossible.

The freedom to redistribute copies so you can help your neighbor
(freedom 2). The third freedom is the one that most off-the-shelf
software violates. This freedom is particularly useful for interoperability. If
someone sends you a Microsoft Word document, unless you have a copy of Word you
might have problems opening the document. If the sender could send you a copy of
Word along with the document, that option would work better. Open Standards help
allay this problem, but if you have a particular niche need such standards may
not be expressive enough to capture it.

The freedom to improve the program, and release your improvements to
the public, so that the whole community benefits (freedom 3). The final
freedom is an extension of freedom 2. If you fix a bug or add a feature to a
program, this work can benefit you alone, or all users of the software. If every
company that uses a piece of software pays a developer to work on it for a few
hours a week, to add the features that the company needs (remember freedom 1?),
the total number of improvements in that program can be huge. If everyone
releases their changes, the program as a whole can improve a lot faster, since
there is less duplication of effort.

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.