Last night I attended Richard Stallman’s lecture at the University of Illinois in Urbana-Champaign, on the subject of “Free Software and Your Freedom”. Dr. Stallman launched the GNU Project and the Free Software Foundation some thirty years ago in order to create and promote free software:
“Free software” means software that respects users’ freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price.
I won’t try to summarize everything that was said at the lecture, but some segments stood out to me as particularly interesting:
While free software grants users the freedom to run, copy, distribute, study, change, and improve the software, proprietary software is licensed such that there are restrictions on one or more (possibly all) of those attributes.
One detriment of proprietary software is that you as a user cannot know for sure what the software is doing. As has been demonstrated in various well-known proprietary applications, the software may well be sending data about you or your usage of the software to its developers without telling you. This, Stallman concludes, makes the application malware. It is spying on its users, and is an attack on their privacy.
Publishing the application as free software, on the other hand, is a defense against such malware. While it is still possible that a free application could spy on its users, it is much less likely, as anyone who uses the software could plausibly investigate what it is doing.
Mobile Phones and Surveillance
Mobile phones — smartphones and otherwise — can be remotely accessed and controlled by service providers, and can be converted into listening devices, to transmit all audio that they pick up. The only surefire way to prevent this from happening is to remove the batteries. All of the batteries. Some phones, Stallman says, include multiple batteries, including one that is designed to prohibit being removed. Other phones are designed to prohibit removal of batteries altogether.
Even when not converted into listening devices, mobile phones still, out of functional necessity, track where they go — and thus track where their users go. The mobile service providers can know at all times where their users are located, and can maintain a database of everywhere they have gone in the past.
Thanks to the efforts of NSA whistle-blower Edward Snowden, we know that there is far more surveillance of us today than there ever was in the Soviet Union. (Upon mentioning Snowden, the audience erupted into applause, and Stallman led everyone in three cheers for Snowden: “Hip, hip, hooray!”)
Service as a Software Substitute
What many people call Software as a Service — providing a software application over the internet, typically through a web interface — Stallman calls Service as a Software Substitute (SaaSS). Software that runs on someone else’s server is out of your direct control, so even if it is free software, it doesn’t matter: you cannot change it, study it, and so on. By definition, you are handing your data over to someone else, since your computing is being done on their computer and not yours, so the door is wide open for the SaaSS provider to invade your privacy.
Not all web applications fall under the category of Service as a Software Substitute; it depends on what service they provide. Communications services and collaboration services are not SaaSS, because by their very nature you must be sharing data over the internet. Even if you ran a free local application instead of using a web application, you still would end up sharing the data through whatever servers and routers were between you and those you were communicating with.
How can you tell if a web application is SaaSS or not? Dr. Stallman recommends a thought experiment: imagine that you have the most powerful computer possible. Using that computer alone, can you run the application you want to run? If the answer is yes, then to make that application run remotely from a server would be SaaSS, as that would be a service substituting for software.
For example, no matter how powerful of a computer you had, you could not use that computer by itself as a web search engine. You need to connect to other computers, and use resources on other computers, in order to have the functionality of a web search engine. So a web search engine application is not a software substitute; it is a service.
If all software in the world today was instantly licensed as free software, that would not be enough to guarantee ongoing software freedom long-term. People need to understand the value of freedom when it comes to using computer software; otherwise, someone could come along offering some new technology or some improved user experience with a proprietary license, and it would be accepted on its technological merits alone.
Software usage is still relatively quite young in the world; only for the past several decades has it been part of society at all. But there has never been any serious public debate or discussion about what rights and freedoms software users ought to have. Such matters were decided by proprietary software vendors as they published and sold their products. Is this really what is best for society?
- Reverse-engineering of proprietary hardware drivers and related software would be a huge benefit to free software development today. And developing expertise in reverse engineering would also be a potentially good career idea, as it’s an in-demand skill set that not many people have.
- If you want to learn how to develop large software applications from scratch, it’s not very helpful to spend time developing small software applications from scratch. Instead, start with contributing small changes to existing large applications. Then move on to contributing large changes. And then move on to building your own.
I’ve read many of Richard Stallman’s articles and listened to recordings of many of his lectures, but I still found attending this lecture in person to be a particularly insightful and educational experience. There is clearly much good that can come from having, using, and promoting free software; and there are clearly social ills and injustices that can come from using proprietary software.
As I sat in the auditorium listening, I started to ponder how arguing for free software might be likened to debates and discussions held in the framing of the United States government. What rights and freedoms and restrictions are best for the people, and for the long-term good of the country? Indeed, just considering how free software can help enforce constitutionally-provided privacy makes a strong case for why it is in the best interest of the people.
More reading from FSF Project GNU:
[Much of what I have written here is based from notes that I quickly jotted down during the lecture, and I may have misunderstood or misinterpreted something. Corrections would be welcome.]