Next, we discuss this free term software in Open Source software to show clearly what must be true about a particular software program for it to be considered free software. From time to time we revise this definition to clarify it. “Free software” is a matter of liberty, not price. When talking about free software, it is best to avoid using terms like “give away” or “for free,” because those terms imply that the issue is about price, not freedom.
Free software means that the program's users have the four essential freedoms:
• The freedom to run the program, for any purpose
• The freedom to study how the program works, and change it to make it do what you wish. Access to the source code is a precondition for this.
• The freedom to redistribute copies to your friend or neighbor.
• 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.
A program is free software if users have all of these freedoms. Being free to do these things means that you do not have to ask or pay for permission to do so. 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. The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity.
In this freedom, it is the user's purpose that matters, not the developer's purpose, you as a user are free to run the program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her. The freedom to redistribute copies must include binary or executable forms of the program, as well as source code, for both modified and unmodified versions. It is fine if there is no way to produce a binary or executable form for a certain program, but you must have the freedom to redistribute such forms should you find or develop a way to make them.
If the program's license says that you cannot merge in a suitably licensed existing module for instance, if it requires you to be the copyright holder of any code you add then the license is too restrictive to qualify as free. In order for these freedoms to be real, they must be permanent and irrevocable as long as you do nothing wrong. if the developer of the software has the power to revoke the license or retroactively change its terms without your doing anything wrong to give cause, the software is not free. However, certain kinds of rules about the manner of distributing free software are acceptable, when they don't conflict with the central freedoms. For example, copyleft is the rule that when redistributing the program, you cannot add restrictions to deny other people the central freedoms. This rule does not conflict with the central freedoms, rather it protects them.
“Free software” doesn’t mean “noncommercial.” A free program must be available for commercial use, commercial development, and commercial distribution. You may have paid money to get copies of free software or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy, change the software and even to sell copies. Whether a change constitutes an improvement is a subjective matter. If your modifications are limited, in substance, to changes that someone else considers an improvement, that is not freedom. However, rules about how to package a modified version are acceptable, if they don't substantively limit your freedom to release modified versions, or your freedom to make and use modified versions privately.
Thus, it is acceptable for the license to require that you change the name of the modified version, remove a logo, or identify your modifications as yours. As long as these requirements are not so burdensome that they effectively hamper you from releasing your changes, they are acceptable. Rules that “if you make your version available in this way, you must make it available in that way also” can be acceptable too, on the same condition. Rules that require release of source code to the users for versions that you put into public use are also acceptable.