GNU software is software that is released under the auspices of the GNU Project. If a program is GNU software, we also say that it is a GNU program or a GNU package. The README or manual of a GNU package should say it is one; also, the Free Software Directory identifies all GNU packages.
Most GNU software is copylefted, but not all; however, all GNU software must be free software.
Some GNU software was written by staff of the Free Software Foundation, but most GNU software comes from many volunteers. (Some of these volunteers are paid by companies or universities, but they are volunteers for us.) Some contributed software is copyrighted by the Free Software Foundation; some is copyrighted by the contributors who wrote it.
Nonfree software is any software that is not 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.
Proprietary software is another name for nonfree software. In the past we subdivided nonfree software into “semifree software,” which could be modified and redistributed noncommercially, and “proprietary software,” which could not be. But we have dropped that distinction and now use “proprietary software” as synonymous with nonfree software.
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 do not use any nonfree 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 follow it too, for your freedom’s sake.
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
Shareware is software which comes with permission for people to redistribute copies, but says that anyone who continues to use a copy is
Shareware is not free software, or even semifree. 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.)
Private or custom software is software developed for one user (typically an organization or company). That user keeps it and uses it, and does not release it to the public either as source code or as binaries.
A private program is free software in a trivial sense if its sole user has full rights to it.
In general we do not believe it is wrong to develop a program and not release it. There are occasions when a program is so useful that withholding it from release is treating humanity badly. However, most programs are not that important, so not releasing them is not particularly harmful. Thus, there is no conflict between the development of private or custom software and the principles of the free software movement.
Nearly all employment for programmers is in development of custom software; therefore most programming jobs are, or could be, done in a way compatible with the free software movement.
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 noncommercial nonfree software.
For example, GNU Ada is developed by a company. It 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 just a detail. However, the additional development of GNU Ada that results from its being commercial is definitely beneficial.