* the freedom to run the program for any purpose (called "freedom 0") * the freedom to study and modify the program ("freedom 1") * the freedom to copy the program so you can help your neighbor ("freedom 2") * the freedom to improve the program, and release your improvements to the public, so that the whole community benefits ("freedom 3")
Freedoms 1 and 3 require source code access, because studying and modifying software without source code is extremely difficult and highly inefficient compared to modifying annotated source code.
A program is free software if users have all of these freedoms.
The Four Freedoms ,in a speech by Franklin Delano Roosevelt:
The first is freedom of speech and expression -- everywhere in the world.
The second is freedom of every person to worship God in his own way everywhere in the world.
The third is freedom from want, which, translated into world terms, means economic understandings which will secure to every nation a healthy peacetime life for its inhabitants -- everywhere in the world.
The fourth is freedom from fear, which, translated into world terms, means a world-wide reduction of armaments to such a point and in such a thorough fashion that no nation will be in a position to commit an act of physical aggression against any neighbor -- anywhere in the world.