Free software is software that you may copy, study, modify, and redistribute. These freedoms lead to collaboration and empowerment.
The specific legal tool that creates these freedoms and the resulting benefits is a specially drafted copyright license, the GNU General Public License. Unlike many licenses, the GPL gives you more rights than plain copyright does. In essence, the GPL forbids you to forbid. It permits you to do everything else.
Because of the freedoms associated with it, this software is called free software.
The low price of free software leads some English speakers to think that the word free in the phrase free software means they can obtain it without cost. This is not the definition, which is about freedom, but it is an easy misunderstanding.
The English word free has several meanings. As Miguel de Icaza, a Mexican, once said,
English is broken; it does not distinguish between free beer and free speech.
Spanish, on the other hand, distinguishes between gratis and libre. Free software is libre software.
Since free software comes with the freedom to copy, manufacture, and redistribute, media containing free software are sold in a competitive, free market. This leads to low prices and even gratis distributions.
Incidentally, the phrase open source was invented a few years ago as a synonym for free software. It does not offend people who dislike the word free. The phrase is popular; it has succeeded in its purpose.
However, the term free software better conveys the goal of freedom; the proposition that every man and woman has the right to work on software or documentation, and must not be forbidden from doing so.
Software freedom comes from your right to copy, study, modify, and redistribute the software, and from your duty to redistribute changes you have made. Let us look briefly at each of these rights, and at your obligation to the authors and to the community.
The right to copy software is the right to use your own property as a factory that you own.
Not many people own a factory that would enable them to copy a car. Indeed, to copy a car is so difficult that we use a different word, we speak of manufacturing a car. And there are not many car manufacturers in the world.
But everyone with a computer owns a software factory, a device for manufacturing software, that is to say, for making new copies. Because copying software is so easy, we don't use the word manufacturing; we usually do not even think of it as a kind of manufacturing, but it is.
If you own a computer, you own property that you are able to use to manufacture software.
The right to study means that you and everyone else can study the great as well as the lesser works of software. It means you are not kept from learning how others succeeded. While the right to study is of little direct interest to people who are not programmers, it is vital for those who wish to program.
Many programmers work under restrictions that forbid them from seeing others' code. Rather than sit on the shoulders of those who went before, which is the best way to see ahead and to advance, they are thrown into the mud. The right to study is the right to look ahead, to advance, by sitting on the shoulders of giants.
Software comes in two forms, one readable only by computers and the other readable by people. The form that a computer can read is what the computer runs. This form is called a binary or executable. The form that a human can read is called source code. It is what a human programmer creates, and is translated by another computer program into the binary or executable form.
The right to study means that the software itself must be made available in a manner that humans can read, as source code.
The right to modify is the right to fix a problem or enhance a program. For most people, this means your right, or your organization's right, to hire someone to do the job for you, in much the same way you hire an auto mechanic to fix your car or a carpenter to extend your home.
Modification is helpful. Application developers cannot think of all the ways others will use their software. Developers cannot foresee the new burdens that will be put on their code. They cannot anticipate all the local conditions, whether someone in Thailand will use a program first written in Finland.
The right to redistribute means that you, who own a computer, a software factory, have the right to make copies of a program and redistribute it. You can charge for these copies, or give them away. Others may do the same.
The duty to redistribute changes is your obligation to permit the author of a program, and others, to use improvements or fixes you have made to the author's program. Otherwise, some people will attempt to rob the community of fixes and improvements.
The right to redistribute, so long as it is defended and upheld, means that software is sold in a competitive, free market, which leads to lower prices and higher quality. The duty to redistribute changes means the software continues to evolve and improve.
For more information, please see: www.gnu.org