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.