This is the second chapter in the book, and it’s pretty much a rehash of a previous post, so regular readers may want to skip this.
02 — The Perils of Software Development
If you have to watch out for your own interests, you at least have a chance with Linux.
The term Open Source has become rather familiar to most people who surf the Net. The basic concept is software that is not proprietary; it’s open to public inspection. Whether it’s better than commercial software development is not the point. The idea is that anyone can get involved. If it matters to you, the door is open. All it takes is sufficient competence to engage it intelligently, even if you don’t actually contribute code. The broader concept of Open Source has caught on in a lot of other areas seen on the Internet. It’s typically the antithesis of the older corporate atmosphere. Like many today, having worked in that atmosphere, I have come to hate the entire claptrap of corporate greed and materialism. However, that doesn’t mean Open Source development brings us to computing nirvana. Quite the opposite, for the simple reason that the essence of Open Source development caters to the worst of human moral failure. It makes godlings of developers with talent, when said talent all too often accompanies the most implacable arrogance about the way things ought to be.
Greed we understand. If a man is unwilling to take the risks of violent seizure of things he wants, then he becomes a manipulative slimeball who suckers you into giving him those things. When it comes to computer technology, you can bet the slimeballs far outnumber the thugs. In an effort to pull in the big bucks, the corporate guy will at least try to convince you that he’s offering what you want. We’ve learned to be wary of those who are playing head games, so it’s not too hard to find corporate software that meets most of your needs, provided you can adjust to the dominant market paradigm. Gamers get what gamers tend to want, as do consumers of other entertainment, while business managers and government drones get what they want. That’s where the money is. At some point on the scale of accommodating unusual demands, it starts to cost providers too much to and they simply don’t respond. They may even squelch developer interest in obscure features — “Not on company time.” Then there are a host of niche market providers who extend the original product or even make a whole new product on the cheap.
When you know how to develop the software for yourself, you don’t have to worry about what anybody else wants. You can follow your own vision. Chances are you can get a few other volunteers to work alongside and develop something really nice to answer common needs. But that usually means needs common to computer geeks, and perhaps no one else. I suppose no one really knows exactly why, but there is a powerful correlation between software developer talent and social stupidity. That is, it would seem a great many geeks are so very good at computers precisely because they are so very bad about dealing with people. For some reason, these two seem to come in the same package a great majority of the time. I’m not suggesting oddballs hate the rest of us, but they often have no clue just how alien they are. Yet, give them some power over those others that they do not understand, and suddenly it becomes a primary form of entertainment to abuse everyone who isn’t like them. Pretty soon, you find a significant portion of them revel in perversion.
So instead of designing software that tends to meet the broad human need of common users, they develop software with the intent of herding folks into some private or sub-cultural computer orthodoxy. “Well, that’s the way you ought to be doing it!” There is none of this business of dealing with the reality of what is actually out there. Instead, it’s a highly unreasonable demand that the world change to conform to their vision of perfection.
While the corporate software guys tend to be just as freakish, they have managers who keep them in check. If the weirdo developer wants a paycheck, he’d better produce software that the marketing dweebs can sell. There is no restraint on Open Source developers, unless you count the tight club membership in certain projects. Social skills are often not a high priority for selecting project managers in Open Source. That’s okay within the development process, but there is also nothing to protect the end user from the hateful arrogance that pervades way too many projects. Developers only hear from each other and maybe a few devoted fanboys permitted to hang around. This remains a pretty incestuous environment.
It’s the fanboys who pretend they are the marketers of the resulting product. They also just don’t get it. They love and understand the product, but the wider audience they do not. Mostly they succeed in alienating the world, but you would think they have no idea what effect their noise has on the rest of us. They have a religious zeal that drives everyone else nuts, and they get angry when we don’t bow the knee to their favorite deities. It’s not merely that they aren’t interested in what you might want or need, but they are spitefully hostile to anything that isn’t already provided by their favorite product. It’s so totally brilliant, how can you not be impressed? You aren’t supposed to want something different; the developers said so.
No, I don’t have any easy answers to this quandary. We are stuck between the quagmire of cloying corporate artificial niceness and the stony fierce sense of personal entitlement from the independent guys. Rare indeed is the software project that is neither of these. Sure, you can meet some genuinely great people in Open Source development, and some projects truly serve the user. However, those are not the dominant experience. The difference is that, with Open Source software, you don’t have to worry about the product hiding secret traps. In commercial software, the actual product is you and your attention delivered to the commercial marketing allies of the software producer. There are restrictions that prevent you from interfering with their abuses. With Open Source, the developer is his own customer. If he’s cranky, you have to tolerate his quirks in the design, but there are no secrets used against you.
Again, the one thing that keeps computer technology alive is that people find it useful, but developers often don’t like people as people. You are more likely to sense this honestly when using Linux. Moving from commercial software to Open Source does require some adaptation to a different culture, one which is dominated by the DIY ethic.