Software freedom is essential to the philosophy of Free and Open Source Software. In short, it consists of the freedom to:
- change and improve
More precisely, it can be expressed in the four software freedoms, to:
- Run the program, for any purpose. (Freedom 0)
- Study how the program works, and change it as you wish (freedom 1). Access to the source code is a precondition for this, hence the term "Open Source Software" as a synonym for "Free Software" (see #Terminology below). (Freedom 1)
- Redistribute copies, so you can help your neighbor. (Freedom 2)
- Improve the program, and distribute your improvements (and modified versions in general) to the public, so that the whole community benefits.
For more detail, see The Four Freedoms on the Free Software Foundation website.
Free software is the older term, and still strongly preferred by some, but with almost exactly the same meaning as open source software. Open Source is intended to remove the ambiguity in the name "Free Software." However this leads to controversy as some, notably free software pioneer Richard Stallman, passionately believe that freedom is the central concept.
Sometimes "open source" is not "free" software, but this is rare. The main difference is ideological, free software emphasizing freedom. "FOSS" or "Free and open source software"W is sometimes used to avoid ambiguity and ideological arguments.