What would a free software world look like?
Free software activism is a struggle with short and long term goals. We try to stay focused on moving forward the world around us and not getting hung up on perfectionism or fantasies. But from time to time it's good to pause and envision the goal state we're working towards. Different free software activists have different goals -- at the FSF we advocate for an end to proprietary software and a 100% free software world, so that's what I'll write about here.
Inherently, there are a lot of assumptions I'm making for this thought experiment, and there's no way for the predictions to be actually accurate. With that said, let's step through the door of imagination into a different world... a world of all free software.
One of the first things we notice is that people think about software differently. Thinking of it less as a black-box product to buy, people understand that it is a living, evolving tool that reflects the efforts of the people that develop and use it. Though not everyone is a programmer, many more people have at least basic programming skills and an understanding of how computers work.
People are legally able to explore and customize any program that they have the hardware to run, so they are familiar with a more diverse array of software. Compatibility between programs and protocols is less of an issue, because they are all designed to work with as many other systems as possible, and programmers can add compatibility that the original authors overlooked. People are more often able to use the best software solution available for the problem at hand. Because so many people in so many different circumstances have created custom software solutions for their needs, there are programs available to help a wider range of people in different cultures and economies.
Powerful organizations also use software differently. Independent review of the software that runs important systems in government and corporations is commonplace, and these organizations see it as a great embarrassment for vulnerabilities to be found in the code, so they hire hackers to fix them in the open. Censorship and surveillance is considerably harder, though not impossible. Tools for circumventing them are widespread and under constant development to stay one step ahead. Governments spend less money on software. Hopefully they spend it on other things that are good instead, but maybe they spend it on something worse.
Perhaps most importantly, people are a little less accepting of being pushed around in general. Free software doesn't exist in a cultural vacuum, and having the expectation of control over their software conditions people to expect control over other aspects of their lives. Democracy is stronger, and people are more comfortable working out their differences and coming to solutions together.
Back to the real world...
We may or may not see an all free software world in our lifetimes, but I think that it's worth conceptualizing it, both to inspire us in our work and to help us prioritize different efforts within the scope of free software activism, based on which parts of the goal are most important to us. I'd love to hear your thoughts on these ideas. Email me at email@example.com if you want to share them. I can't guarantee that I'll respond to every message, but I'll read them.