Categories of Free and Non-Free Software

 [image of a Philosophical Gnu] [ Catalan | Czech | English | French | German | Indonesian | Italian | Japanese | Polish | Portuguese | Russian | Spanish ]

Here is a glossary of various categories of software that are often mentioned in discussions of free software. It explains which categories overlap or are part of other categories.

Other Texts to Read | ``Free software'' | ``Open source'' | ``Public domain software'' | ``Copylefted software'' | ``Non-copylefted free software'' | ``GPL-covered software'' | ``The GNU system'' | ``GNU programs'' | ``GNU software'' | ``Semi-free software'' | ``Proprietary software'' | ``Shareware'' | ``Freeware'' | ``Commercial software'' | Other Texts to Read

Also note Confusing Words which You Might Want to Avoid.

 [diagram of a the different categories of software] This diagram by Chao-Kuei explains the different categories of software. It's available as an XFig file, as a JPEG picture (23k) and as a 1.5 magnified PNG image (7k).

Free software
Free software is software that comes with permission for anyone to use, copy, and distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this means that source code must be available. ``If it's not source, it's not software.'' This is a simplified definition; see also the full definition.

We also have a list of translations of the term "free software" into various other languages.

If a program is free, then it can potentially be included in a free operating system such as GNU, or free versions of the GNU/Linux system.

There are many different ways to make a program free---many questions of detail, which could be decided in more than one way and still make the program free. Some of the possible variations are described below.

Free software is a matter of freedom, not price. But proprietary software companies sometimes use the term ``free software'' to refer to price. Sometimes they mean that you can obtain a binary copy at no charge; sometimes they mean that a copy is included on a computer that you are buying. This has nothing to do with what we mean by free software in the GNU project.

Because of this potential confusion, when a software company says its product is free software, always check the actual distribution terms to see whether users really have all the freedoms that free software implies. Sometimes it really is free software; sometimes it isn't.

Many languages have two separate words for ``free'' as in freedom and ``free'' as in zero price. For example, French has ``libre'' and ``gratuit''. English has a word ``gratis'' that refers unambiguously to price, but no common adjective that refers unambiguously to freedom. This is unfortunate, because such a word would be useful here.

Free software is often more reliable than non-free software.

Open Source software
The term ``open source'' software is used by some people to mean more or less the same thing as free software. However, their criteria are somewhat less strict; they have accepted some kinds of license restrictions that we have rejected as unacceptable. We prefer the term ``free software''; follow that link to see the reasons.

Public domain software
Public domain software is software that is not copyrighted. If the source code is in the public domain, that is a special case of non-copylefted free software, which means that some copies or modified versions may not be free at all.

In some cases, an executable program can be in the public domain but the source code is not available. This is not free software, because free software requires accesibility of source code. Meanwhile, most free software is not in the public domain; it is copyrighted, and the copyright holders have legally given permission for everyone to use it in freedom, using a free software license.

Sometimes people use the term ``public domain'' in a loose fashion to mean ``free'' or ``available gratis.'' However, ``public domain'' is a legal term and means, precisely, ``not copyrighted''. For clarity, we recommend using ``public domain'' for that meaning only, and using other terms to convey the other meanings.

Copylefted software
Copylefted software is free software whose distribution terms do not let redistributors add any additional restrictions when they redistribute or modify the software. This means that every copy of the software, even if it has been modified, must be free software.

In the GNU Project, we copyleft almost all the software we write, because our goal is to give every user the freedoms implied by the term ``free software.'' See Copylefted for more explanation of how copyleft works and why we use it.

Copyleft is a general concept; to actually copyleft a program, you need to use a specific set of distribution terms. There are many possible ways to write copyleft distribution terms, so in principle there can be many copyleft free software licenses. However, in actual practice nearly all copylefted software uses the GNU General Public License. Two different copyleft licenses are usually ``incompatible'', which means it is illegal to merge the code using one license with the code using the other license; therefore, it is good for the community if people use a single copyleft license.

Non-copylefted free software
Non-copylefted free software comes from the author with permission to redistribute and modify, and also to add additional restrictions to it.

If a program is free but not copylefted, then some copies or modified versions may not be free at all. A software company can compile the program, with or without modifications, and distribute the executable file as a proprietary software product.

The X Window System illustrates this. The X Consortium releases X11 with distribution terms that make it non-copylefted free software. If you wish, you can get a copy which has those distribution terms and is free. However, there are non-free versions as well, and there are popular workstations and PC graphics boards for which non-free versions are the only ones that work. If you are using this hardware, X11 is not free software for you. The developers of X11 even made X11 non-free for a while.

GPL-covered software
The GNU GPL (General Public License) (20k characters) is one specific set of distribution terms for copylefting a program. The GNU Project uses it as the distribution terms for most GNU software.

The GNU system
The GNU system is a complete free Unix-like operating system.

A Unix-like operating system consists of many programs. The GNU system includes all the GNU software, as well as many other packages such as the X Window System and TeX which are not GNU software.

We have been developing and accumulating components for the GNU system since 1984; the first test release of a ``complete GNU system'' was in 1996. In 2001 the GNU system with the Hurd began working reliably. In the mean time, the GNU/Linux system, an offshoot of the GNU system which uses Linux as the kernel, became a great success in the 90s.

Since the purpose of GNU is to be free, every single component in the GNU system has to be free software. They don't all have to be copylefted, however; any kind of free software is legally suitable to include if it helps meet technical goals. We can and do use non-copylefted free software such as the X Window System.

GNU programs
``GNU programs'' is equivalent to GNU software. A program Foo is a GNU program if it is GNU software. We also sometimes say it is a ``GNU package''.

GNU software
GNU software is software that is released under the auspices of the GNU Project. Most GNU software is copylefted, but not all; however, all GNU software must be free software.

If a program is GNU software, we also say that it is a GNU program.

Some GNU software is written by staff of the Free Software Foundation, but most GNU software is contributed by volunteers. Some contributed software is copyrighted by the Free Software Foundation; some is copyrighted by the contributors who wrote it.

Semi-free software
Semi-free software is software that is not free, but comes with permission for individuals to use, copy, distribute, and modify (including distribution of modified versions) for non-profit purposes. PGP is an example of a semi-free program.

Semi-free software is much better ethically than proprietary software, but it still poses problems, and we cannot use it in a free operating system.

The restrictions of copyleft are designed to protect the essential freedoms for all users. For us, the only justification for any substantive restriction on using a program is to prevent other people from adding other restrictions. Semi-free programs have additional restrictions, motivated by purely selfish goals.

It is impossible to include semi-free software in a free operating system. This is because the distribution terms for the operating system as a whole are the conjunction of the distribution terms for all the programs in it. Adding one semi-free program to the system would make the system as a whole just semi-free. There are two reasons we do not want that to happen:

The Free Software Foundation itself is non-commercial, and therefore we would be legally permitted to use a semi-free program ``internally''. But we don't do that, because that would undermine our efforts to obtain a program which we could also include in GNU.

If there is a job that needs doing with software, then until we have a free program to do the job, the GNU system has a gap. We have to tell volunteers, ``We don't have a program yet to do this job in GNU, so we hope you will write one.'' If we ourselves used a semi-free program to do the job, that would undermine what we say; it would take away the impetus (on us, and on others who might listen to our views) to write a free replacement. So we don't do that.

Proprietary software
Proprietary software is software that is not free or semi-free. Its use, redistribution or modification is prohibited, or requires you to ask for permission, or is restricted so much that you effectively can't do it freely.

The Free Software Foundation follows the rule that we cannot install any proprietary program on our computers except temporarily for the specific purpose of writing a free replacement for that very program. Aside from that, we feel there is no possible excuse for installing a proprietary program.

For example, we felt justified in installing Unix on our computer in the 1980s, because we were using it to write a free replacement for Unix. Nowadays, since free operating systems are available, the excuse is no longer applicable; we have eliminated all our non-free operating systems, and any new computer we install must run a completely free operating system.

We don't insist that users of GNU, or contributors to GNU, have to live by this rule. It is a rule we made for ourselves. But we hope you will decide to follow it too.

The term ``freeware'' has no clear accepted definition, but it is commonly used for packages which permit redistribution but not modification (and their source code is not available). These packages are not free software, so please don't use ``freeware'' to refer to free software.

Shareware is software which comes with permission for people to redistribute copies, but says that anyone who continues to use a copy is required to pay a license fee.

Shareware is not free software, or even semi-free. There are two reasons it is not:

Commercial Software
Commercial software is software being developed by a business which aims to make money from the use of the software. ``Commercial'' and ``proprietary'' are not the same thing! Most commercial software is proprietary, but there is commercial free software, and there is non-commercial non-free software.

For example, GNU Ada is always distributed under the terms of the GNU GPL, and every copy is free software; but its developers sell support contracts. When their salesmen speak to prospective customers, sometimes the customers say, ``We would feel safer with a commercial compiler.'' The salesmen reply, ``GNU Ada is a commercial compiler; it happens to be free software.''

For the GNU Project, the emphasis is in the other order: the important thing is that GNU Ada is free software; whether it is commercial is not a crucial question. However, the additional development of GNU Ada that results from its being commercial it is definitely beneficial.

Please help spread the awareness that commercial free software is possible. You can do this by making an effort not to say ``commercial'' when you mean ``proprietary.''

Other Texts to Read

Return to GNU's home page.

FSF & GNU inquiries & questions to Other ways to contact the FSF.

Comments on these web pages to, send other questions to

Copyright (C) 1996, 1997, 1998, 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: Last modified: Sun Dec 29 23:54:00 BRST 2002