Why Free Software Is More Important Now Than Ever Before

GNU just turned 30 years old. But much has changed since the beginning of the free software movement; now there's SaaS and more. Malware is common in proprietary software products since users don't have control over them. Why does this control matter? Because freedom means having control over your own life.
Image may contain Clothing Sleeve Apparel Human Person Man Face and Long Sleeve
Rain Rabbit/ Flickr

It is now 30 years since I launched the campaign for freedom in computing, that is, for software to be free or "libre" (we use that word to emphasize that we're talking about freedom, not price). Some proprietary programs, such as Photoshop, are very expensive; others, such as Flash Player, are available gratis -- either way, they subject their users to someone else's power.

Much has changed since the beginning of the free software movement: Most people in advanced countries now own computers -- sometimes called "phones" -- and use the internet with them. Non-free software still makes the users surrender control over their computing to someone else, but now there is another way to lose it: Service as a Software Substitute, or SaaSS, which means letting someone else's server do your own computing activities.

Both non-free software and SaaSS can spy on the user, shackle the user, and even attack the user. Malware is common in services and proprietary software products because the users don't have control over them. That's the fundamental issue: while non-free software and SaaSS are controlled by some other entity (typically a corporation or a state), free software is controlled by its users.

Why does this control matter? Because 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.

[#contributor: /contributors/59327110a312645844994e4d]|||Free/libre software advocate Richard Stallman is president of the Free Software Foundation. He launched the development of the [free software](http://www.gnu.org/philosophy/free-sw.html) operating system [GNU](http://www.gnu.org/gnu/the-gnu-project.html) in 1984; the [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) system (essentially GNU with Linux added) is used on tens of millions of computers today. Stallman also founded the League for Programming Freedom, which campaigned against legal threats to programming (including patents).|||

Your control over the program requires four essential freedoms. If any of them is missing or inadequate, the program is proprietary (or "non-free"):

(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 has individual control over the program. With the other two freedoms, any group of users can together exercise collective control over the program. The result is that the users control the program.

If the users don't control the program, the program controls the users.

With proprietary software, there is always some entity, the "owner" of the program, that controls the program -- and through it, exercises power over its users. A non-free program is a yoke, an instrument of unjust power. In extreme cases (though this extreme has become widespread) 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. Windows, mobile phone firmware, and Google Chrome for Windows include a universal backdoor that allows some company to change the program remotely without asking permission. The Amazon Kindle has a back door that can erase books.

>Freedom means having control over your own life.

With the goal of ending the injustice of non-free 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.

Where does SaaSS fit in all this? Service as a Software Substitute doesn't mean the programs on the server are non-free (though they often are). Rather, using SaaSS causes the same injustices as using a non-free program: they are two paths to the same bad place. Take the example of a SaaSS translation service: The user sends text to the server, and the server translates it (from English to Spanish, say) and sends the translation back to the user. Now the job of translating is under the control of the server operator rather than the user.

If you use SaaSS, the server operator controls your computing. It requires entrusting all the pertinent data to the server operator, which will be forced to show it to the state as well -- who does that server really serve, after all?

>If the users don’t control the program, the program controls the users.

When you use proprietary programs or SaaSS, first of all you do wrong to yourself, because it gives some entity unjust power over you. For your own sake, you should escape. It also wrongs others if you make a promise not to share. It is evil to keep such a promise, and a lesser evil to break it; to be truly upright, you should not make the promise at all.

There are cases where using non-free software puts pressure directly on others to do likewise. Skype is a clear example: when one person uses the non-free Skype client software, it requires another person to use that software too -- thus surrendering their freedoms along with yours. (Google Hangouts have the same problem.) We should refuse to use such programs even briefly, even on someone else's computer.

Another harm of using non-free programs and SaaSS is that it rewards the perpetrator, encouraging further development of that program or "service", leading in turn to even more people falling under the developing company's thumb.

The indirect harm is magnified when the user is a public entity or a school. Public agencies exist for the people -- not for themselves. When they do computing, they do it for the people. They have a duty to maintain full control over that computing on the people's behalf. Therefore, they must use only free software and reject SaaSS.

The country's computational sovereignty also requires this. According to Bloomberg, Microsoft shows Windows bugs to the NSA before fixing them. We do not know whether Apple does likewise, but it is under the same U.S. government pressure as Microsoft. For a government to use such software endangers national security.

Schools -- and all educational activities -- influence the future of society through what they teach. So schools should teach exclusively free software, to transmit democratic values and the habit of helping other people. (Not to mention it helps a future generation of programmers master the craft.) To teach use of a non-free program is to implant dependence on its owner, which contradicts the social mission of the school.

Proprietary developers would have us punish students who are good enough at heart to share software or curious enough to want to change it. They are even drawing up anti-sharing propaganda for schools. Instead, each class should have this rule:

"Students, this class is a place where we share our knowledge. If you bring software to class, you may not keep it for yourself. Rather, you must share copies with the rest of the class -- including the program's source code, in case someone else wants to learn. Therefore, bringing proprietary software to class is not permitted, unless it is for reverse engineering practice."

In computing, cooperation includes redistributing exact copies of a program to other users. It also includes distributing your changed versions to them. Free software encourages these forms of cooperation, while proprietary software forbids them. It forbids redistribution of copies, and by denying users the source code, it blocks them from making changes. SaaSS has the same effects: If your computing is done over the web in someone else's server, by someone else's copy of a program -- you can't see it or touch the software that does your computing, so you can't redistribute it or change it.

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 3-D 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.

I'm often asked to describe the "advantages" of free software. But the word "advantages" is too weak when it comes to freedom.

Life without freedom is oppression, and that applies to computing as well as every other activity in our lives.

We must win control of all the software we use. How can we win this control? By rejecting SaaSS, and non-free software on the computers we own or regularly use. By developing free software (for those of us who are programmers). By refusing to develop or promote non-free software or SaaSS. By spreading these ideas to others. Let's make all computer users free.

Wired Opinion Editor: Sonal Chokshi @smc90