As defined by the Free Software Foundation, software is free software if it gives its users these freedoms:
- 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.
Note that this has nothing to do with whether software can be obtained for nothing or at no cost. A Free Software program (just like a non-free program) might be distributed to different people or at different times for various different prices, including a price of zero. A program is Free Software if its users have the freedoms listed above, regardless of what monetary price was paid.
Software distributed under the Python License (including Python itself) is Free Software and is often distributed at no cost.