I am not a programmer. Sometimes I've wanted to get a t-shirt made saying this, because--as an author of Linux books--it's always assumed I am. But I'm an impostor. The last program I wrote ran on a ZX Spectrum in 1988, and then it was only to make "Keir is cool!" scroll across the screen.
What I am is a journalist and author. In other words, I'm an end-user. I'm a very good end user, as it happens. I might even be called a professional end-user. I wouldn't be able to write my books otherwise.
I've spent a lot of time "reverse engineering" the culture of Linux. I'm so good at this that I've had conversations with programmers where they think I'm one of them. But I'm not. I can speak their language. I can apply a patch and tweak source code. But I've no idea how to make sense of that source code. I know it involves the word DEFINE a lot, and square brackets. And something called MALLOC, which sounds like a character from a Terry Pratchett book. But that's it.
I didn't study Computer Science at college. I studied literature, mostly, and bringing the (ahem) "skills" of a literature graduate to the world of Linux has been interesting.
Studying literature is all about criticism. This word has a slightly broader meaning than in the outside world. Literary criticism isn't a negative thing. To critically study a book is to take it apart--to explain its methods and meaning, in order to better our understanding of the world. It's not about being positive or negative.
Of course, value judgments can be an important part of criticism, and is seen daily in newspapers. The proponents are known as critics, and their goal is to tell you whether something is worthwhile--whether it's worthwhile seeing the latest movie, or reading the latest novel. It's a valuable service.
What's interesting about the world of Linux is that there aren't many critics within the community (there are many critics outside the community, of course, such as Microsoft people).
Most of the time the world of Linux tends to be anti-critical. If anybody in the community dares be critical, they get stomped upon.
I've made a handful of blog postings recently that have been critical of Linux (in the sense of pointing out perceived failings), and people hate it. If they explain why, it's usually a variation of the following: "Linux is free, so why are you complaining?"
The statement is an interesting one. It implies that Linux is inferior to commercial software because nobody pays for it. It supposes that the end-user of Linux just can't have the same expectations as with software he or she has paid for.
It also categorizes my comments as "complaints" when they're actually criticism--offered in good faith with the hope of making things better. There is a very important difference between a complaint (negative) and criticism (positive).
"You smell!" is a good example of a complaint.
The following is criticism: "Your body odor has become unbearable--it's clear your deodorant isn't working."
A complaint is offensive. It's a verbal attack. Genuine criticism is intended to help and often hints at a solution (get a better deodorant, dude!). Criticism might be blunt. It can be harsh. But it has genuine intentions.
The problem with this anti-criticism approach is that it's damning Linux to an eternity of navel gazing. Nothing can ever get any better. The best hope we have are the instances where a few bright sparks, with their heads screwed on the right way, get together and make something cool (as happened with, say, Firefox back in the day). But that's rare and can't be relied upon.
The world of Linux needs critics. Even more so nowadays as Linux slowly seeps into all kinds of industries (the Linux revolution is finally happening, but in slow motion). New people are coming into contact with Linux. Most of them will have high expectations--the same expectations they have of commercial software. If things ain't right, they're gonna say so. Linux people are going to have to get a thick skin. They have to learn to deal with criticism, and--even more important--they're going to have to use it to their advantage.
Keir Thomas is the award-winning author of several books on Ubuntu, including Ubuntu Pocket Guide and Reference.