What's the difference between open source software and free software?

Free software, open source software, FOSS, FLOSS. Are they the same? Different? Does it matter?
Register or Login to like
open envelope

Opensource.com. CC BY-SA 4.0.

Do you use "open source software" or "free software"? Although there are different rules for free software licenses (four freedoms) and open source licenses (Open Source Definition), what is not apparent from those two sets of rules is:

  1. Both terms refer to essentially the same set of licenses and software, and
  2. Each term implies different underlying values.

In other words, although the terms "free software" and "open source software" refer to essentially the same set of licenses, they arrive at that set via different routes. (The results aren't perfectly identical, but the differences are unlikely to matter broadly.) And, even though the licenses are the same, a person's choice of terminology may imply a different emphasis in values.

The concept of "free software" was developed by Richard Stallman in the 1980s. The focus is on what the recipient of software is permitted to do with the software: "Roughly, it means that the users have the freedom to run, copy, distribute, study, change, and improve the software."

"Open source" focuses on the practical consequences enabled by these licenses: surprisingly effective collaboration on software development. Free software came first. Later, it became apparent that free software was leading to remarkable collaboration dynamics. In 1997, Eric Raymond's seminal essay "The Cathedral and the Bazaar" focused attention on the implications that free software has for software development methodology.

In "Why Open Source Misses the Point of Free Software," Stallman explains: "The two terms describe almost the same category of software, but they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement."

Different values? Yes. But not mutually exclusive. Rather than aligning with one or the other, many people find varying degrees of resonance with the values underlying each term.

Clearing the confusion

Rather than aligning with one or the other, many people find varying degrees of resonance with the values underlying each term.
What if someone wants to refer to this type of software without specifying underlying values? Awkwardly, there is no broadly accepted term that refers to the licenses or the software that's neutral about the values implied by each term. In other words, we lack a third term that refers to that same software and same set of licenses, but doesn't take sides with respect to why that software and those licenses are significant. It may be that "open source" was initially expected to be a neutral term; however, it has developed its own implied values.

The closest to a neutral term would be FOSS (free and open source software) or FLOSS (free/libre/open source software), which have had limited success fulfilling that value-neutral role. Perhaps the existence of two such terms (with and without "L") may have diluted and thus diminished the ability of either to break out as a broadly used term.

This assortment of terms has contributed to confusion. Would a neutral term be useful? Or is the attempt to separate the associated values a flawed goal? Is a neutral term inappropriate because there are significant free software projects that would not be considered open source? Or the reverse? Please share your thoughts in the comments.

Scott Peterson is a member of the Red Hat legal team. Long ago, an engineer asked Scott for legal advice on a curious document known as the GPL. That fateful question began a twisting path of exploration of the legal aspects of collaborative development, including both technical standards and open source software.

22 Comments

Richard Stallman may have his own idea about what he means by free software, but taken literally it only means that is comes cost-free, and doesn't necessarily imply that it is open source. You can also be open source and not free; examples are proprietary companies with proprietary software which is only partially open source. FOSS and FLOSS are about as clear as they can be.

Where you miss the point, Mr Pittman, is that since Richard Stallman started the free software movement, his idea of what free software is is the *only* idea. When you talk about software that's cost free, it's call "freeware" and it's completely different from "free software".
For instance, Adobe flash player is a freeware but is by no means free software.

Stallman also always makes it a point to say: " free as in freedom; not free beer."

Perhaps now it will be clear why "LIBRE" is often used in place of free.

In reply to by Greg Pittman

Sorry, I don't agree. Richard doesn't have control over how his term "free software" is defined, and it's obvious, based on real-world usage.

In reply to by Mobius (not verified)

I totally agree with this.

Also, another resource would be Richard Stallmans page itself:
https://stallman.org/solidarity-economy.html

Namely this part:
> The ethical philosophy of free software -- the freedom to understand, use, modificy, reproduce, and distribute of the software

As far as I understand it, free software implies that it's open source. Else modification would be impossible, which is one of the pillars of the term "Free software".

In reply to by Mobius (not verified)

I am not sure how you get this idea of taking literally about the term free software. But, the statement that free software does not necessarily imply that is open source is totally inaccurate. Simply read https://www.gnu.org/philosophy/free-sw.en.html the 4 essential freedoms and you will realize why. In reply also to your later response where you say you don't agree, it is not about agree to disagree, we are talking facts here that are not opinable.

In reply to by Greg Pittman

At my previous employer, we used "FOSS" to refer to this software. It was considered a subset of "3PP" (third-party products), which is meant to cover all software not written in-house, including those subject to commercial licensing terms

This is a wonderful article! I am an occasional adjunct professor teaching CSCI Usability of Open Source Software, and your article is *exactly* what we cover in the first week: what is "Free software" and what is "Open source software."

I may link to this article the next time I teach the class.

Creating a single term to cover both is contrary to the very idea of Free Software. The feeble attempts by the open source industry to conflate the two terms is offensive.

The GPL attempts to enforce the freedom of the software. Any code released under it should always be available per the four freedoms defined by RMS. Anything less is completely unacceptable.

Open source is a purely commercial response that allows code to be hidden behind proprietary barriers, much as Microsoft did with the TCP/IP stack from BSD when they put it into Windows NT. There wasn't even any evidence of it unless you knew how to search for the text of the license in the system directories. They somehow forgot to note its presence in the manuals or literature that was distributed with the system, as that license requires.

I totally agree. The open source software creators are contended only with their attempt to make their code 'open' to all. They care less about how their code is implemented by others. Open source software can be made proprietary by someone who modifies and redistributes the code.

Stallman goes as far as to make sure that code released as libre/free software will remain so even if someone changes, modified or distributes the code. This way, code that is libre will almost never be made proprietary.

In reply to by Robert McConnell (not verified)

Uh, you do realize that Linux, the pinnacle of Open Source projects, is licensed under GPL 2, which does exactly what you prescribe (i.e, modified versions of the codebase have to by licensed with the 4 freedoms).
The line between Free and Open Source software can be extremely fine. For all practical purposes, the two words are synonymous. It is more the philosophy that is different. The rationale for the four freedoms in OSS is that it can be extremely efficient and improve overall product quality. FSS' reasons are to preserve the end users freedoms - even if it means sacrificing quality.

In reply to by Mobius (not verified)

I have to say, I disagree slightly with that each term have different implied values. The terms have no value in and by themselves, but they take on the values which we as practitioners ascribe them. Rather than focusing on the term used, we should be looking at what we intent to convey with it: do we refer to the development model, or the philosophy? Either is possible, with either term, and people use them interchangeably.

I agree, Jonas. Using the two terms to divide what should be a united global community is what one song calls "old mens' rubble". What’s needed is to reconnect users of Open Source Free Software with the origin of the benefits they enjoy from it. That origin is software freedom, the certainty of being explicitly entitled to use, improve and share the software upon which you depend, without seeking further permission.

I wrote more here: https://meshedinsights.com/2017/06/07/free-vs-open/

In reply to by Jonas Öberg (not verified)

Common meaning (common meaning != official definition. See also: "hacker") of "opensouce" is actually mostly related to the collaborative development model. As mentioned by Stallman itself in your citation of "Why Open Source Misses the Point of Free Software". At least that happened until 2014, when he started to try to convince people about the fact that having a public repository is part of the "freesoftware" culture (theory denied by "The Cathedral ad the Bazaar").

I think it is handy to have two different terms with those different meanings, to best describe non-overlapping situations. It exists freesoftware which is not published on a public repository; it exists opensource software not distributed with a 4-freedoms-included license.

I think the two terms should be melded into one phrase, and then you can differentiate by using the "proprietary" demarcation. So you'd have open source software or "proprietary" open source software, the "free" part should be removed. Then when you mention open source software....some one will ask "proprietary" or not? once you designate it as "not proprietary" then it should automatically fall into the "free" camp. This way you don't have various definitions floating around and people grasping whichever THEY prefer to define something that already has been defined from a long time ago. And it makes it easier to speak about it....without having to go into the whole song and dance about free vs ope

Generally speaking it is an interesting point that the article poses but if there is something I'd really like to comment is about the pint 2 "Each term implies different underlying values." Rather as "value" I like more use the term(s) "ideology/cred/principle". The difference between the terms is tiny but I really don't see "value" to distinguish one from another. Beside, if you just know the history of Free Software and Open Source you will automatically realize that the first one is entity father and the latter is a child. That is how I clearly see the difference in terms of a strong relationship and also I dear to state that without entity father the child won't exist and there you go. There is no point to make a comparison here because I just have eliminated that factor. I hope I was able to explain myself because I know I am a bit cryptographic:-)

Nice and succinct clarification. Although they very much seem alike, I think the differences stem from the philosophies propounded by Richard Stallman/GNU/FSF and Linus/OSI. https://goo.gl/Jch16u

Great topics to think about and a good start of covering the key issues between terminology. A key bit missing is: what are the commonly accepted definitions of the terms?

While defining words can turn into philosophical conundra, there are two organizations that are widely seen as the de facto definers of the terms, which are useful to point to. I'd argue that the proper definitions come from:

- "Free software" is defined by the FSF and their four essential freedoms: https://www.gnu.org/philosophy/free-sw.en.html which lay out the principles for what the term "free software" means. They also have a list of licenses that qualify as free software: https://www.gnu.org/licenses/license-list.html

- "Open source" software is defined by the OSI and their ten points of the open source definition: https://opensource.org/osd-annotated They also include a list of licenses that qualify as "open source" here: https://opensource.org/licenses

We can each debate about our personal meanings of free vs. open, or what specific communities tend to use. But the larger ecosystem - and the world - use the FSF and OSI's definitions, so any discussion should start from there.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.