According to Stallman and the FSF, "free" software licenses grant:
* 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.