How can free software protect us from surveillance?
We know that the NSA has been trying for years to compromise Tor, an Internet anonymity system that gives dissidents, whistleblowers, and other activists a fighting chance at evading government surveillance. Despite the agency's probing attacks, the core security of the system has held strong, time after time. Stories like this have drawn public interest; most people are uncomfortable with excessive government surveillance and many draw hope from knowing that Tor stands between dissidents and the government. But do people know that Tor is robust to attacks largely because it is free software?
Free software is an important part of an effective resistance to today's runaway surveillance states, because free software users are fundamentally harder to surveil. The reasons for this are baked into the four essential freedoms that all free programs guarantee their users.
Freedom 1 is the ability to study how a program works, and to change it. This freedom denies surveillance agencies some of their key strategies for snooping. Without the ability to exploit hidden vulnerabilities in programs, they cannot maintain the kind of secret control that they can over proprietary software with unavailable source code. This is why free software programs like Tor are the gold standard in encryption and anonymity, even among those who are not otherwise concerned with software freedom.
Freedoms 2 and 3 grant the ability to distribute identical and modified copies of a program without limitation.1 This defangs another tactic used by agencies like the NSA: strong-arming software companies into writing backdoors in software. This is hardly worth doing to a company or group that develops free software, because the community can respond by forking their code and offering a safe version.
The four freedoms mean that a community using free software for everyday computing is much less vulnerable to surveillance than one using proprietary software. If we want to make full use of this advantage, we need to make using free software the norm. We need to focus on making free software replacements for widely used programs just as easy to use, as accessible, and as well known as their proprietary versions.
While advocating for software freedom, it's also important for us to remember that even if a program is free, we cannot actually modify its source code without access to the computer running it. That's why we need to avoid Service as a Software Substitute and instead do our computing on our own machines.
We also need to use decentralized systems instead of concentrating many people's data, even for seemingly innocuous purposes. High concentrations of data create targets that are attractive to surveillance agents looking for the fastest route to large amounts of information. This happened most recently with the PRISM program, in which the NSA tapped into giant data stores that tech companies were already maintaining about their users.
Runaway surveillance states are a complex problem and addressing them requires a multifaceted approach combining activism, policy, and technology. The free software movement offers some of the programs and design philosophies that will help people rise to meet the technical part of this challenge. But we have another thing that is at least as important to offer society: our culture of hacking. Taking a hands-on, inquisitive approach to the technology we use is the basis of technological freedom, even more than any particular program, license, or development model. As we develop and use free software, we must also foster this attitude amongst our friends and neighbors.
1 Freedom 0 is the freedom to run the program for any purpose. Read more about the four freedoms at https://gnu.org/philosophy/free-sw