Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and that manufacturers of consumer-facing hardware allow user modifications to their hardware. Free software is generally available without charge, but can have a fee, such as in the form of charging for CDs or other distribution medium among other ways.
In practice, for software to be distributed as free software, the human-readable form of the program (the source code) must be made available to the recipient along with a notice granting the above permissions. Such a notice either is a free software license, or a notice that the source code is released into the public domain. The free software movement was conceived in 1983 by Richard Stallman to satisfy the need for and to give the benefit of software freedom to computer users. Stallman founded the Free Software Foundation in 1985 to provide the organizational structure to advance his Free Software ideas.
From 1998 onward, alternative terms for free software came into use. The most common are software libre, free and open source software (FOSS) and free, libre and open source software (FLOSS). The Software Freedom Law Center was founded in 2005 to protect and advance FLOSS. The antonym of free software is proprietary software or non-free software. Commercial software may be either free software or proprietary software, contrary to a popular misconception that commercial software is a synonym for proprietary software. An example of commercial free software is GNAT. Free software, which may or may not be distributed free of charge, is distinct from freeware which, by definition, does not require payment for use. The authors or copyright holders of freeware may retain all rights to the software; it is not necessarily permissible to reverse engineer, modify, or redistribute freeware.