Many people new to free software find themselves confused because the word "free" in the term "free software" is not used the way they expect. To them free means "at no cost". An English dictionary lists almost twenty different meanings for "free". Only one of them is "at no cost". The rest refer to liberty and lack of constraint. When we speak of Free Software, we mean freedom, not price.
Software that is free only in the sense that you don't need to pay to use it is hardly free at all. You may be forbidden to pass it on, and you are almost certainly prevented from improving it. Software licensed at no cost is usually a weapon in a marketing campaign to promote a related product or to drive a smaller competitor out of business. There is no guarantee that it will stay free.
Truly free software is always free. Software that is placed in the public domain can be snapped up and put into non-free programs. Any improvements then made are lost to society. To stay free, software must be copyrighted and licensed.
To the uninitiated, either a piece of software is free or it isn't. Real life is much more complicated than that. To understand what kinds of things people are implying when they call software free we must take a little detour into the world of software licenses.
Copyrights are a method of protecting the rights of the creator of certain types of works. In most countries, software you write is automatically copyrighted. A license is the authors way of allowing use of their creation (software in this case), by others, in ways that are acceptable to them. It is up to the author to include a license which declares in what ways the software may be used. For a proper discussion of copyright see http://www.copyright.gov/.
Of course, different circumstances call for different licenses. Software companies are looking to protect their assets so they only release compiled code (which isn't human readable) and put many restrictions on the use of the software. Authors of free software on the other hand are generally looking for some combination of the following:
Many people write their own license. This is frowned upon as writing a license that does what you want involves subtle issues. Too often the wording used is either ambiguous or people create conditions that conflict with each other. Writing a license that would hold up in court is even harder. Luckily, there are a number of licenses already written that probably do what you want.
Three of the most widely found licenses are:
Some of the features these licenses have in common.
This last point, which allows the software to be sold for money seems to go against the whole idea of free software. It is actually one of its strengths. Since the license allows free redistribution, once one person gets a copy they can distribute it themselves. They can even try to sell it. In practice, it costs essentially no money to make electronic copies of software. Supply and demand will keep the cost down. If it is convenient for a large piece of software or an aggregate of software to be distributed by some media, such as CD, the vendor is free to charge what they like. If the profit margin is too high, however, new vendors will enter the market and competition will drive the price down. As a result, you can buy a Debian release on several CDs for just a few USD.
While free software is not totally free of constraints (only putting something in the public domain does that) it gives the user the flexibility to do what they need in order to get work done. At the same time, it protects the rights of the author. Now that's freedom.
Debian GNU/Linux is a strong supporter of free software. Since many different licenses are used on software, a set of guidelines, the Debian Free Software Guidelines (DFSG) were developed to come up with a reasonable definition of what constitutes free software. Only software that complies with the DFSG is allowed in the main distribution of Debian.