What is free software?

The meaning of freedom in software



The concept of free software

"Free software" is software that you can (legally) use, modify, copy and/or distribute to others (in unmodified or even in modified form). Free software comes with few (sometimes very few) restrictions on what you can do with it and with many important freedoms granted to you. Software that is not free is called "non-free software" or "proprietary software".

This informal and concise definition tries to explain the basic idea of free software. More precise definitions of this concept have been written by a number of different people.

The Free Software Definition

The most famous definition is the one given by the Free Software Foundation (FSF). This definition is simply called the "Free Software Definition" (often abbreviated as FSD).

The FSD says that a work is free software if whoever receives one of its copies is granted the following four fundamental freedoms:

Freedom 0
to use the work, for whatever purpose
Freedom 1
to study how the work is realized and to adapt it to his/her own needs
Freedom 2
to copy and distribute the work to whomever he/she wishes
Freedom 3
to modify the work and distribute its modifications to whomever he/she wishes

It should be remarked that access to the source code of the work is a prerequisite for freedoms 1 and 3.

Please note that, unfortunately, the FSF adopts the FSD to define free computer programs, but applies different and less precise freedom standards to other categories of works (such as documentation, opinion essays, images, and so forth). On the other hand, as discussed in the essay about the meaning of software, I do not think that clear-cut distinctions should be made among categories of software works; as a consequence, I believe that the FSD should be equally applied to assess the freeness of all software.

The Debian Free Software Guidelines

The Debian Project has developed its own definition of free software. More precisely, this definition consists of a set of guidelines, named "Debian Free Software Guidelines" (or DFSG, for short).

According to this definition, a work is considered free, if it complies with the following guidelines:

DFSG #1 (Free Redistribution)
The work may not restrict anyone from selling it or giving it away as part of an aggregate containing other works; no royalties or other fees may be required for such a sale.
DFSG #2 (Source Code)
The source code of the work must be available; the work must be distributable in source form and in other forms.
DFSG #3 (Derived Works)
Modifications and alterations of the work must be allowed, and their distribution under the same legal terms as the original work must be permitted.
DFSG #4 (Integrity of The Author's Source Code)
The distribution of modified source code may be restricted only if the work allows the distribution of the original source code and of "patches" suitable for modifying the work at build time; distribution of the work built from modified source code must be explicitly allowed. Modified works may be required to have a different name or version number from the original work. (All these restrictions are discouraged: they are considered acceptable as a compromise.)
DFSG #5 (No Discrimination Against Persons or Groups)
The legal terms of the work must not discriminate against any individual person or group of persons.
DFSG #6 (No Discrimination Against Fields of Endeavor)
The use of the work in a specific field of endeavor must not be restricted.
DFSG #7 (Distribution of License)
The rights granted for the work must be valid for anyone who receives a copy of the work itself, without the need for additional formalities.
DFSG #8 (License Must Not Be Specific to Debian)
The rights granted for the work must hold independently of the work being or not being part of the Debian distribution; they must stay the same, even if the work is extracted from the Debian system and distributed separately.
DFSG #9 (License Must Not Contaminate Other Software)
The work must not place restrictions on other independent works distributed along with it.

There's also a final guideline (DFSG #10) that lists some examples of legal terms (that is to say, licenses) that the Debian Project considers as suitable for releasing free works. I consider this to be more commentary than an actual guideline.

Please note that the Debian Project uses these guidelines to assess the freeness of any software work, not only computer programs. In 2004 it was decided (through general resolution GR-2004-003) to make this clearer, by amending the Debian Social Contract.

What's the difference between the FSD and the DFSG? Clearly, the two discussed definitions of free software look very distant in wording and formulation, but do they result in different concepts of free software?
I am convinced that the two definitions may express pretty much the same concept of free software. That is to say, the outcome of the freeness analysis of any given work may be the same, regardless of the choice of definition (FSD or DFSG); when the outcome differs, it happens more because of differences in the interpretation of the definitions, rather than because of substantial differences in the two formulations.

Legal framework of free software

How is free software created? What does an author of a software work need to do, in order to make his/her work free?

Current laws in most jurisdictions make creating free software less than easy, unfortunately. Especially copyright laws cause works of authorship to carry several restrictions, by default. However, the copyright owner (normally the author or his/her employer) may grant permissions in order to authorize others to perform actions which are otherwise restricted by copyright laws. A set of such permissions, possibly accompanied by conditions, is usually called a license; the clauses of a license are the legal terms mentioned in the above descriptions of free software definitions.

So an author (or, more precisely, a copyright owner) that wishes to distribute his/her own work as free software, needs to associate the work with a license that grants all the important freedoms. Clearly, not every license is suitable for releasing free software: all the important freedoms must be granted, in order for the work to comply with the FSD and/or the DFSG. Indeed, writing a license suitable for releasing free software is a very difficult task, requiring deep knowledge of relevant laws across different jurisdictions, of software freedom concepts, and of computer science technicalities. Luckily, there exist general licenses, which a copyright owner may choose to apply to his/her own works, thus avoiding the need to draft custom licenses. The most famous general license is the GNU GPL v2, but other general licenses are equally suitable for releasing free software: a short and simple one is the so-called Expat license.

Advantages of free software

Why should you, as an author, decide to distribute your own work as free software?

There can be many reasons and one or more may apply to any given specific case. Some of the most important reasons may be:

  • you want to have as many users (or readers, listeners, and so forth, depending on the type of work) as possible; granting freedoms on your work may help in making it more attractive to your potential audience
  • you want to receive bug reports, comments, errata, suggestions to improve your work; involvement of users (or readers, listeners, and so forth) is more likely with free software, since they tend to feel the work more as common ownership, rather than the property of a single party
  • you want to get contributions from other people, in order to share the development effort; building a community around a work is not easy, but it's possible almost exclusively when the work is free software
  • you want to do what your actual or potential users (or readers, listeners, and so forth) prefer; in other words, you want to deliver a free work to them, just because they ask for it

But why do users prefer (or should they prefer) free works over proprietary ones? Why should you, as a user (or reader, listener, and so forth), prefer free software?

Once again, there can be many reasons and not all of them always apply. Some of these reasons may be:

  • you do not want to face the ethical/legal dilemma that arises with non-free software; when dealing with proprietary works, you always have to decide whether you want to be nice to your friends/relatives/co-workers by sharing your copy with them (possibly after modifying it to suit their needs), thus breaking the law, or to abide by the law, thus refusing to help your neighbors; since you cannot do both things at the same time, you face a dilemma; on the other hand, when dealing with free software there's no dilemma, as you can abide by the law and be helpful to others at the same time
  • you want to learn new things; the usefulness of free software in education should be clear, if you think of freedom 1 of the FSD or of DFSG #2 and #3; while proprietary works usually force you to be a passive user, free ones allow you to study and understand the internals of what you are using
  • you want higher quality works; since it makes peer review possible, free software has a better chance to meet high quality standards; make no mistake, free software is not necessarily better than proprietary software from a technical/artistic point of view, it just has a better chance to reach higher quality and it actually does in several cases
  • you want more flexible works; thanks to the permission to modify, free works are inherently more flexible than proprietary ones, and may be adapted to your needs (even to special needs that others usually don't care about)
  • you want to be independent of vendors and to avoid suffering monopolies; a free software vendor will have a hard time in trying to lock users in a monopoly, since anyone has the important freedom to fork the development of a free work (as an extreme measure, when everything else fails)
  • you want to pay for optional services, not for licenses; a free work does not require you to pay royalties or fees in order to get a license; you may have to pay for some related services, if you need them, but the freedoms granted on the work itself are costless

The ambiguity of the word "free"

The word "free" has a number of different meanings in English. Most of them are linked to the idea of liberty or lack of restrictions, but one of them is unfortunately somewhat unrelated: this meaning is "gratuitous" or "costless". This ambiguity (which is not present in several other languages) leads to the widespread misunderstanding that free software is gratuitous software.

From the above-explained definitions, it should be clear that what matters in free software is freedom, not price.

But in the end, is free software also gratuitous? Not always. Many free works are indeed available for download at no cost on the Internet, and no fee can be required for the exercise of the freedoms granted on a free work; but, on the other hand, selling a free work must be allowed (at least within an aggregate, see DFSG #1). How can these two facts be true at the same time? How can someone be allowed to sell a free work, if no fee can be required from people who exercise the freedoms granted on the free work itself? This apparent paradox is solved by realizing that the distribution of a copy of a free work is a service, and can therefore be performed either gratis or in exchange for a fee. As long as the recipient of the copy is granted all the important freedoms, the work is still free, even when distributed for a fee. The exercise of the granted freedoms cannot require any further fee, though.

Several other free software related services may be offered for a fee: for instance, creating or adapting a free work to meet a specific need, giving specialized training courses on the use or the creation of a free work, giving support and assistance to the users of a free work, and so forth. This should make it clear that free software is not non-commercial in nature: building a free software based business is possible, it just has to follow a different business model than the ones usually adopted with proprietary software.

In order to mitigate the problems with the multiple meanings of the word "free", the FSF usually states that, when speaking about free software, you should think about free speech, rather than free beer. This has led to the expressions "free as in speech" and "free as in freedom" to refer to the liberty-related meanings of "free"; one can instead say "free as in beer", when he/she means "gratuitous". However, several people are not satisfied with this approach.

There have been a number of attempts to invent a new term that could replace "free software" and avoid the confusion caused by the ambiguity of the word "free".

Open Source

Maybe the most notable attempt was made by a group of free program developers and supporters, who coined the term "open source" software, founded the Open Source Initiative (OSI), and published the "Open Source Definition" (OSD). The OSD is based on the DFSG and is very similar to them.

The aim of the OSI was to make free software more palatable to business-oriented environments. The OSI founders thought that many business men were scared away from free software because of the misunderstanding that free software has to be necessarily gratuitous and thus anti-commercial: hence they removed the word "free" from the name of the concept, in order to avoid the above-discussed confusion. Moreover they thought that most company managers could not be persuaded by ethical considerations: therefore they refrained from using any philosophical argument in their propaganda, limiting the discussion to pragmatic advantages of "open source" software.

This strategy resulted in something distinct from the free software movement: the open source movement, which promotes a similar concept, but with a different name and different motivations.

Did the OSI succeed or fail? I think it both succeeded and failed. It certainly succeeded in popularizing the term "open source", which has indeed become very fashionable. On the other hand, the concept behind it has not been equally understood or accepted, unfortunately. The reason is probably twofold. Firstly, propaganda solely based on pragmatic arguments sends a weakened message. Secondly, the ambiguity of the word "free" was replaced by the even worse vagueness of the word "open": something can be "open" just because you can look inside it. This is indeed what the term "open source" wrongly suggests to someone who has not studied the OSD: if you can look inside the source code, it's "open source" software. Many people in bad faith try to exploit this confusion, in order to pass their software off as "open source", when it really has nothing to do with the OSD. Hence, the term "open source" is no solution, as it has to be explained anyway. I have heard the term "open source" used and abused by all kinds of people in every possible (or even impossible) meaning. Nowadays, this term is a very fashionable one, which, however, has parted from its original intended meaning, almost to the point of having no meaning at all.

For these reasons, I think it's better to speak about free software, and explain its meaning whenever it's needed. This stresses the concept of freedom, which is the key point.

FOSS, libre software, FLOSS, ...

The strategic differences between the free software movement and the open source movement sometimes cause more or less heated discussions, even though the opponents are often advocating the same concept, despite from dissimilar points of view. Some people have tried to coin a neutral term for the concept of free software, a term which would not take the side of either movement. One such term is the acronym FOSS, which stands for Free / Open Source Software. The same acronym is sometimes written as F/OSS.

Another attempt to solve the issues with the word "free" requires the introduction of a neologism into the English language. This neologism is the word "libre", imported from romance languages: it's a synonym of "free", but exclusively and unambiguously in the liberty-related sense. The resulting term for free software is "libre software".

Some people combined the two terms and obtained FLOSS, an acronym for Free / Libre / Open Source Software.

Francesco Poli

This work is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2. It comes with absolutely no warranty. See the license text for details.