Thanks to Canonical and its success with popularizing Ubuntu Linux, there has been an astonishing influx of new Linux users. This is one of those good news -- bad news scenarios; the growth is wonderful, but it also brings a growth in user demands, and a carryover of bad habits from the closed, proprietary software world. The core values of Free Software, which is not the same as Open Source software
, are Richard Stallman's famous Four Freedoms
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
You might notice some conspicuous absences from this list. There are no demands of "I just want it to work!" There are no demands for closed, proprietary drivers or software. There are no demands for a free ride, all the work done by someone else and handed over on a silver platter. Linux and Free Software are not about giving cheapskates a free ride. It is an unfortunate quirk of English that the word "free" means both free of cost, and liberty. Or perhaps it is an unfortunate quirk of humans that free of cost matters so much more than liberty. Free Software is all about liberty, not pandering to misers. Though even misers get to use it, thanks to the foresight and generosity of all the thousands of people who create it.
There is one other major point that goes hand-in-hand with free as in freedom, and that is that ethics matter. All decisions have an ethical basis. We hear "leave the zealotry and politics out of it, and just make a purely technical decision." There is no such thing, and if you don't make a consciously ethical decision then it will be made for you. Every time you purchase a software license for a product encumbered with shoddy patents and ridiculous, restrictive EULAs you are giving your support to shoddy patents and bogus EULAs. Every time you purchase a software license for a closed, proprietary, non-interoperable, non-standards compliant product you are saying that vendor lock-in is OK, and your data do not belong to you.
Contrast that with Free Software. By its nature Free Software is ethical: it is completely open, nothing is hidden, there are no sneaky backdoors, spyware, rootkits, or any of the other vile crimes-that-are-not-punished perpetrated by commercial software vendors. Nobody goes to jail for exposing flaws or talking about how the technology works. There are no EULAs or NDAs. There is little closed-door plotting; most discussions are out in the open for anyone to see, or even participate in. That is why people like me get so impatient with the demands to make Linux more friendly to closed-source proprietary software-- it is fundamentally opposed to what Free Software is all about. It's like saying that a little toxic waste in the water is OK, a little more air pollution isn't a problem because it's 90% pure, and only zealots and purists want 100%.
So what does this mean at a pragmatic level? First of all, it means understanding the different between "pragmatic" and "expedient." "Pragmatic" is defined as "concerned with practical consequences". Free Software is completely pragmatic because it is based on a thorough understanding of consequences. "Expedient" is defined as "immediately advantageous without regard for ethics or consistent principle." Expedience drives poor decisions such as buying hardware without first researching how well it is supported in Linux, and then complaining about how it won't work and Linux sucks. Expedience is renewing an agreement with a proprietary software vendor who treats customers like dirt, because researching the alternatives requires a bit of effort. Expedience is jumping on the "Linux is cool and free" bandwagon without having any idea of what it's about, and then getting mad when it's different from Mac and Windows.
Linux and Free Software make some demands on users. We are expected to build some skills and acquire some knowledge, and participate in the community because taking without giving is not ethical. A growing user community should mean a growing pool of contributors, rather than a growing number of demands and complaints.
So what can a Linux user do to give back? We talk about "community"-- a community is made up of all kinds of different people. Free Software needs artists, designers, documentation writers, community builders, helpful patient people to do hands-on work with newbies, teachers, distributors, computer fixers, programmers, bug-finders, evangelists, organizers, financial supporters, and so on. Just being friendly is very important, since there are still a sizable number of folks who would rather write 10 flames than one single helpful post. It's not like the world needs more hostility, so every little bit of civility counts.
What do you get in return? More control of your own computing infrastructure, knowledge, being part of something that matters, and for me the best part is that "I built something worthwhile today" feeling.
This article was first published on LinuxPlanet.com.