Since 1983, the Free Software Movement has campaigned for computer users’ freedom—for users to control the software they use, rather than vice versa. When a program respects users’ freedom and community, we call it “free software.”
We also sometimes call it “libre software” to emphasize that we’re talking about liberty, not price. Some proprietary (nonfree) programs, such as Photoshop, are very expensive; others, such as Flash Player, are available gratis—but that’s a minor detail. Either way, they give the program’s developer power over the users, power that no one should have.
Those two nonfree programs have something else in common: they are both malware. That is, both have functionalities designed to mistreat the user. Proprietary software nowadays is often malware because the developers’ power corrupts them. That directory lists around 400 different malicious functionalities (as of April, 2019), but it is surely just the tip of the iceberg.
With free software, the users control the program, both individually and collectively. So they control what their computers do (assuming those computers are loyal and do what the users’ programs tell them to do).
With proprietary software, the program controls the users, and some other entity (the developer or “owner”) controls the program. So the proprietary program gives its developer power over its users. That is unjust in itself; moreover, it tempts the developer to mistreat the users in other ways.
Even when proprietary software isn’t downright malicious, its developers have an incentive to make it addictive, controlling and manipulative. You can say, as does the author of that article, that the developers have an ethical obligation not to do that, but generally they follow their interests. If you want this not to happen, make sure the program is controlled by its users.
Freedom means having control over your own life. If you use a program to carry out activities in your life, your freedom depends on your having control over the program. You deserve to have control over the programs you use, and all the more so when you use them for something important in your life.
Users’ control over the program requires four essential freedoms.
(0) The freedom to run the program as you wish, for whatever purpose.
(1) The freedom to study the program’s “source code”, and change it, so the program does your computing as you wish. Programs are written by programmers in a programming language—like English combined with algebra—and that form of the program is the “source code”. Anyone who knows programming, and has the program in source code form, can read the source code, understand its functioning, and change it too. When all you get is the executable form, a series of numbers that are efficient for the computer to run but extremely hard for a human being to understand, understanding and changing the program in that form are forbiddingly hard.
(2) The freedom to make and distribute exact copies when you wish. (It is not an obligation; doing this is your choice. If the program is free, that doesn’t mean someone has an obligation to offer you a copy, or that you have an obligation to offer him a copy. Distributing a program to users without freedom mistreats them; however, choosing not to distribute the program—using it privately—does not mistreat anyone.)
(3) The freedom to make and distribute copies of your modified versions, when you wish.
The first two freedoms mean each user can exercise individual control over the program. With the other two freedoms, any group of users can together exercise collective control over the program. With all four freedoms, the users fully control the program. If any of them is missing or inadequate, the program is proprietary (nonfree), and unjust.
Other kinds of works are also used for practical activities, including recipes for cooking, educational works such as textbooks, reference works such as dictionaries and encyclopedias, fonts for displaying paragraphs of text, circuit diagrams for hardware for people to build, and patterns for making useful (not merely decorative) objects with a 3D printer. Since these are not software, the free software movement strictly speaking doesn’t cover them; but the same reasoning applies and leads to the same conclusion: these works should carry the four freedoms.
A free program allows you to tinker with it to make it do what you want (or cease to do something you dislike). Tinkering with software may sound ridiculous if you are accustomed to proprietary software as a sealed box, but in the Free World it’s a common thing to do, and a good way to learn programming. Even the traditional American pastime of tinkering with cars is obstructed because cars now contain nonfree software.
The Injustice of Proprietariness
If the users don’t control the program, the program controls the users. With proprietary software, there is always some entity, the developer or “owner” of the program, that controls the program—and through it, exercises power over its users. A nonfree program is a yoke, an instrument of unjust power.
In outrageous cases (though this outrage has become quite usual) proprietary programs are designed to spy on the users, restrict them, censor them, and abuse them. For instance, the operating system of Apple iThings does all of these, and so does Windows on mobile devices with ARM chips. Windows, mobile phone firmware, and Google Chrome for Windows include a universal back door that allows some company to change the program remotely without asking permission. The Amazon Kindle has a back door that can erase books.
The use of nonfree software in the “internet of things” would turn it into the “internet of telemarketers” as well as the “internet of snoopers”.
With the goal of ending the injustice of nonfree software, the free software movement develops free programs so users can free themselves. We began in 1984 by developing the free operating system GNU. Today, millions of computers run GNU, mainly in the GNU/Linux combination.
Distributing a program to users without freedom mistreats those users; however, choosing not to distribute the program does not mistreat anyone. If you write a program and use it privately, that does no wrong to others. (You do miss an opportunity to do good, but that’s not the same as doing wrong.) Thus, when we say all software must be free, we mean that every copy must come with the four freedoms, but we don’t mean that someone has an obligation to offer you a copy.