In 1971, Richard Stallman began working at the MIT Artificial Intelligence Lab, and thereby joined an existing software sharing community in which source code was freely shared. In the 1980s, when the computer for which the shared software had been developed was discontinued and its programs were no longer usable, the computer was replaced and proprietary software took the place of the software with freely available and modifiable source code. In the face of this, Stallman decided to build a new community, starting with a free operating system that was compatible with Unix, but not Unix, hence the name self-referential name “GNU’s Not Unix,” referred to by the acronym GNU. This was the beginning of the GNU Project.
Stallman left MIT in 1984 to begin developing GNU software. A GNU “task list” was developed to make sure that all components that would allow users to have a complete set of software were developed. The development of Linux by Linus Torvalds provided a kernel, and made the GNU operating system operational, and continuing development has focused on other applications. As distribution became an issue, the copyleft — as opposed to copyright — concept was evolved by the GNU Project, based on the word coined by Don Hopkins. Generically, a copyleft software license makes provisions so that the software is, and will remain free, in the GNU Project conception of the term.
In connection with the copyleft licensing, Stallman defined a distinctive meaning for free software, which includes four freedoms, numbered 0–3, and they can be summarized as follows. Freedom 0 grants permission to run the program with no limitations on purpose — that is, the software does not have to be used as the developer or developers intended. Freedom 1 prescribes source code access and grants the user freedom to change it as desired. Freedom 2 mandates freedom to further distribute copies of the original software, and freedom 3 promotes the freedom to distribute copies of user-modified software. Although it is not a numbered freedom, the concept extends to requiring free software manuals.
It is important to note that the GNU Project definition of free does not mean “without money changing hands.” The GNU license allows people to charge a distribution fee for distributing the GNU software of others and to charge for time spent in developing modifications. The GNU Project definition of free also does not mean “noncommercial.” Products created and/or modified under GNU license terms may be sold as a business venture. It is also important to distinguish the GNU free software concept from open-source software, which is a different construct.