Why Free Software is Important
I've been an advocate for free software for several years now, and as time goes on, I become more and more insistent on digital freedom. Many have noticed that my insistence is often in the face of practical problems, but I've always tried to explain why the practical problems are less important than the deeper philosophical ones. I hope to directly address that issue here today by showing why digital freedom is one of the most important things to consider.
I'll note briefly that I've done something similar in the past. I wrote about practical problems being worth consideration, but I've also written about how free software isn't a religion and how free knowledge can extend to physical things. My article on making money ethically also touches briefly on the importance of free software.
Users are most frequently the ones to say they have a practical problem with free software. They'll claim that without non-free software, they can't watch movies, play games, or create art. Most of the time, those complaints are based on incompatibilities, like when a Flash game is not compatible with Gnash, or based on lack of features, like when the GIMP is missing some advanced graphical feature that is included in Adobe Photoshop. There are practical reasons that those complaints can be mitigated in the free software world, but that's not the main reason that users should be interested in digital freedom.
Users also often say that the four freedoms aren't important to them--they claim that the freedom to modify is useless, as are the two distribution freedoms, and that in practice, all software is free to be run in any way. This, too, is not accurate: While a user may not be trained in programming, they may at some time wish to learn about it, which would require the freedom to study. And even if the user has no interest, ever, in programming, they also have the freedom to bring the software to another programmer who can help them fix a problem or add a feature.
However, there's even more to worry about. Not specific cases, not practical advice, but philosophical reasons. As a software user, when you sign a license agreement, you sign away some rights. When those rights are speech, digital or otherwise, any person should be worried. In the past, governments have made laws to restrict speech. This manifested in restrictions on printing presses, restrictions on the sale of texts, and restrictions on what could be said, even in the most intimate of settings. Today, free speech is under less attack from the government, but more attack from corporations. TV and radio stations are more frequently resistant to controversial speech, and several corporations that create forms of communication will censor that communication based on their own standards of decency. Perhaps most notably, software companies restrict digital speech in the form of their software--that software, or any part thereof, or any modified form of either, cannot be transmitted to anyone else. How can we allow that?
I sure hope you didn't skip the above section, because it was important. Even if you're only a developer, and not a user, the above section is largely the basis for this one.
To start, however, let's look at the direct benefits: The developer who licenses their software freely will probably have a more involved user base. This is not a fact, but a likely result of the free software model. This result has been codified in the open source development model, but that model has also somewhat confused the meaning of freedom. Rather than mandating that the source code be open to the world, the free software developer allows their users to share it with anyone they like. That could include "everyone," but it could also be restricted to a few people, if the right license is used on redistribution. The direct benefit is, any user of the software is also potentially a developer, a mirror, or at the very least, a tester.
Now, since you read the section for users, I can talk about indirect benefits. I have to assume that most programmers aren't horrible people, so if you are a horrible person, then I can't really help you. But if you happen to think others deserve to have rights, then the section on users applies to developers as well. As a user is allowed freedom, the developer is benefited by not causing a detrimental effect to others, and so their ethical code is preserved.
I'm always interested in hearing why people disagree with me. Below is a link to my e-mail address, so please contact me with your concerns, and I will try to address them in a follow-up post.