- 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:
-
We
believe that free software should be for everyone--including
businesses, not just schools and hobbyists. We want to invite
business to use the whole GNU system, and therefore we must not
include a semi-free program in it.
-
Commercial
distribution of free operating systems, including the GNU/Linux
system, is very important, and users appreciate the
convenience of commercial CD-ROM distributions. Including one
semi-free program in an operating system would cut off commercial
CD-ROM distribution for it.
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.
- Freeware
-
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
-
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:
-
For
most shareware, source code is not available; thus, you cannot
modify the program at all.
-
Shareware
does not come with permission to make a copy and install it
without paying a license fee, not even for individuals engaging in
nonprofit activity. (In practice, people often disregard the
distribution terms and do this anyway, but the terms don't permit
it.)
- 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.''