Richard Stallman the founder of free software movement in his lecture at the University of British Columbia explains the 4 aspects of freedom when using a free software. Unfortunately we missed this event due to our client deadlines, well thank goodness for the YouTube and also this event was live blogged by my good friend @hummingbird604 here
According to him, a program is free software if you the user have the 4 essential freedoms
0. Freedom to run the program as you wish.
1. Freedom to study the source code of the program and then change it so the program does what you wish.
2. Freedom to help your neighbour. That’s the freedom to redistribute the exact copies of the software when you wish.
3. Freedom to contribute to your community. That’s the freedom to distribute copies or modified versions when you wish.
If the program gets you all these 4 essential freedoms, then it is free software.