The four essential freedoms
The four essential freedoms¶
A program is free software if the program’s users have the four essential freedoms:
The freedom to run the program as you wish, for any purpose (freedom 0).
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help others (freedom 2).
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
The reason they are numbered 0, 1, 2 and 3 is historical.
Around 1990 there were three freedoms, numbered 1, 2 and 3.
It was then realized that the freedom to run the program needed to be mentioned explicitly.
It was clearly more basic than the other three, so it properly should precede them.
Rather than renumber the others, it was made freedom 0.