The Price of Free
Prelude
I’ve had free software on my mind quite a bit lately. This is likely due in part to the recent RMS interview on the Linux Action Show, reading The Cathedral & The Bazaar, and my recent purchase of a ZaReason laptop, which is the first time I’ve made such a major hardware purchase with Linux support as the top priority.
Before any of my thoughts here make sense, it’s important to emphasize how I view and approach software. Computers are first and foremost a tool, but to the vast majority of the world, that’s all they are. There is by and large no appreciation for the complexity (and dare I say, art) of computer software beyond “I love how the little elves inside my Mac make it possible to watch cat videos.” On the contrary, people who actually know a little bit about how computers work are classified as nerds. You’re not supposed to care, since Apple and Microsoft will take care of all that hard stuff for you if you just hand them a little bit of money.
I firmly believe that capitalism is both the best and the worst thing to happen to software. I say best because without the funding provided to groups at Bell Labs and MIT, software as we know it would likely not exist. In the span of a generation, we’ve gone from simple number crunching with computers the size of a room to having, quite literally, the entire knowledge base of mankind in the palm of our hand.
But this comes at a cost in the form of demand. The usefulness of computers cannot be overstated, and neither can their demand. Because demand is so high and the number of people who know enough to fulfill that demand is so low, Apple and Microsoft (among others) can charge users much more than they would otherwise be able to. In dollars, how much is an operating system worth? $200? $1,000? $5?! Nobody knows. This excess demand is seen most sharply on the internet, where good programming and security practices are often eschewed in favor of getting it done now. Everyone and their mother wants a website or an app; entrepreneurs are coming up with grandiose ideas for the next great product, but just need someone to “code it up for them.” The appreciation for the process of software development is almost completely overshadowed by the rabid desire for what it produces.
This isn’t to say that everyone should drop what they’re doing and go learn to program; I do want some job security, and specialization is what made society what it is today; but given the prevalence of computers in our day-to-day lives, I do believe it’s important to have a more fundamental understanding of how they work. It should not be socially acceptable to proudly admit knowing nothing about computers while those who do know something about computers are, quite often, ridiculed for that knowledge.
On Users of Free Software
The existence of free and open-source software like Linux is a modern miracle that goes largely unnoticed. We live in a capitalist-driven society, yet for the past few decades, people have been contributing source code for free to improve the quality of many different software projects. Why? Because we love software. Somewhere out there in this capitalist, algorithm-illiterate world, there are enough people who are not only smart enough to write software, but are passionate enough about it to spend their free time doing it. Linux is a labor of love, as is almost every other free software project in existence. We want software to get better, but more important than that, we want it to be more than just a tool. We want it to be our tool.
I want more people to use Linux, because an increased user base would help prove its validity as a day-to-day operating system. More users = more testers = more bugs reported = more bugs fixed. But, due to the lack of large numbers of paid developers (Red Hat and GNOME are examples of paid free software developers, but their size pales in comparison to Apple and Microsoft), there is a price to be paid for using free software: to get the most out of free software, you must participate in it. Linux is not a tool to be consumed in the same way as Mac and Windows. If something goes wrong, you must put in some effort to fix it, either by searching Google for people who’ve had a similar problem, filing a formal bug report, or attempting to implement a fix yourself, but there is no company standing by to take your complaints.
There is nothing in the free software world that I hate more than non-constructive criticism, since the whole point of free software is to spread ideas and introduce new ones, not to tear down someone else’s. It is quite literally impossible to please everyone, so there’s no point in even trying to. This means that those of us who use free software will, ultimately, run into something that we don’t like. And that’s okay, because we have every right to change it, either through a patch or a new extension; in fact, given how short-handed the developers of that software likely are, we’re almost obligated to. This doesn’t mean that you have to be a programmer in order to use free software (it is free, after all), but it does mean that you should put in a little effort to become part of the community if you’re going to criticize the software for an outstanding bug or strange design decision. Quite often it’s enough to share your experience, either through a bug report or as a feature suggestion, where someone can see it and create a solution.
Joining a free software community is, however, easier said than done. The first step is to locate the project’s official communication channels. As an openSUSE user, this would be the forums, IRC, and mailing lists. Once you begin to run into specific issues that you want to solve, you’ll want to find out where to submit bugs and suggest features. Taking a glance through the project’s home page, we can find the wiki and even a social network. Other, smaller projects likely won’t have quite as many different places to communicate, but almost all of them will have a mailing list and a place to report bugs.
Bottom line: if you use Linux or other free software and you’ve run into an issue ranging anywhere from severe bug to minor annoyance, talk to someone about it. Someone who can help. That’s what free software is about, and we as a community want nothing more than to see the user base grow and the software improve. Post on the forums. Lurk in an IRC channel. Because without community support, you will eventually run into something you don’t like, get frustrated, and wonder why you didn’t just stick with Windows. And that’s the price of free software.











