free software is any program that is distributed under terms that allow users to run the software for any purpose as well as to study, change and distribute it and any modified versions.
Free software is about liberty, not price. You are given the right to sell free software you receive legally for any price regardless of the cost that may have been associated with obtaining it. Similarly, you are free to offer services relating to free software at a price. This may include software support or further development.
A program is free software when the terms of the license give users the following four freedoms:
Freedom 0: The freedom to run the program as you wish, for any purpose.
Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
Freedom 2: The freedom to redistribute copies so you can help others.
Freedom 3: The freedom to distribute copies of your modified versions to others. 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.