Charting a course to a free world
Over here at the Free Software Foundation (FSF), we're often accused of being a "utopian" organization. That is, when we're not being called out for presenting so many aspects of digital life as a dys-topia. But, for a moment, let's forget about what Apple, Microsoft, and the corporation formerly known as Facebook are up to and consider this "utopian" vision. If we're going to make any progress on the FSF's (and assumedly your!) mission to bring freedom to all computer users, envisioning just where we want to go can help us keep the goal in mind.
At least as evidenced in our most recent talks with American high schoolers, it's rare to encounter people who really grasp just what the word "program" means, let alone why you ought to be unrestricted in how you run one, and free to share it if you wish. What we need (and what free software activists are working for) is a world where users are able to do just that: copy programs from a friend, study them, and change them to suit their needs before offering it to others. Ideally, and as GNU's education pages helpfully point out, sharing programs would begin in the classroom.
While it doesn't promote the idea of software freedom directly, Alan Kay's original essay on the "Dynabook," the so-called "personal computer for children of all ages" outlines some of the best parts of what a free software world might look like. If you're unfamiliar with it, it's well worth a read. Despite its being written fifty years ago, we should still think of it as prefiguring the world to come: where, just like in the paper, children are editing programs on the fly in the classroom, transparently accessing the world's knowledge without onerous burdens on their freedom, and learning as much about outer space as they are about the basic elements of computing.
Free software developers arguably are the people who benefit the most from computing freedom, given that they're the members of our community currently able to make the most use of that freedom. From where we stand today, there's an increasingly widening gap between developers and the everyday users of software. It's true that software development requires certain special skills, but it's not these skills alone that have caused such a wide disparity between those who can and can't get their computer to "compute" things in the way that they want by talking to it in a programming language. After all, imagine how hectic things would get if that same gap existed between people who can and can't drive a car! Or, perhaps even worse, dependent on someone to drive you somewhere who does not let you decide how you get there.
It's my opinion that this disparity has been a calculated move on the part of large proprietary software development firms which, from there, has trickled down into the way we all use computer software. Users are often left in the dark on what the software they use actually does, and are at the mercy of whatever these corporations say is necessary for the program to function. I refuse to believe that an email address or Wi-Fi connection is necessary for a vacuum cleaner to function.
If free software had been the norm from the beginning, that gap between mere users and developers of software wouldn't have become so profound. In that world, where free software was the norm, the average computer user would look a lot more like the "power user" in the GNU Emacs or general GNU/Linux communities. That is, someone who knows how to customize their environment to their liking and who's written a few commands or aliases to make life a little easier.
Such an individual might not have a burning desire to learn about assembly languages and other lower levels of operation, but they're able to extend the program to fit their needs. If it were common for users to write as many pieces of code extending a program as the GNU Emacs (and GNU Guix) communities do, we'd not only have better programs; we'd also have a healthier relationship to technology. In such a world, it'd be harder for programs to actively abuse users. It also would be one where an actually beneficial relationship between humans and machines takes hold: not a fake, buzzword driven "metaverse" where a single corporation dictates how users can express themselves, but one where every user is equipped to extend the programs that they use however they please. Keep this in mind when considering the free software movement, and please think about the world you're working toward when it comes to your own free software advocacy. As a computer user, it's your movement!
Copyright © 2022 Carlos Chan. This image is available under the Creative Commons Attribution-ShareAlike 4.0 International License.