"Free software" is a matter of liberty, not price. To understand the
concept, you should think of "free" as in "free speech," not as in
"free beer."
Free software is a matter of the users' freedom to run, copy,
distribute, study, change and improve the software. More precisely, it
refers to four kinds of freedom, for the users of the software:
The freedom to run the program, for any purpose (freedom 0).
The freedom to study how the program works, and adapt it to your
needs (freedom 1). Access to the source code is a precondition for
this.
The freedom to redistribute copies 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). Access
to the source code is a precondition for this.
A program is free software if users have all of these freedoms. Thus,
you should be free to redistribute copies, either with or without
modifications, either gratis or charging a fee for distribution, to
anyone anywhere. Being free to do these things means (among other
things) that you do not have to ask or pay for permission.
You should also have the freedom to make modifications and use them
privately in your own work or play, without even mentioning that they
exist. If you do publish your changes, you should not be required to
notify anyone in particular, or in any particular way.
-- lmiguel "The Free Software Definition"
http://www.gnu.org/philosophy/free-sw.html