Catch-22

On the whole, most software BLOWS. There are of course exceptions. I tend to think that the ColdFusion server is one of them. My favorite example however is email. I've been using the internet for about 14 years now, and programming professionally with ColdFusion for nearly a decade. And in all this time, I have yet to find an email client that even comes close to approaching a vague semblance of what I would call "good". Yes, they all "work", but I'm not talking about software that works. I'm talking about "good" software. I'm pretty certain that Pine works. I'm also pretty certain that it SUCKS in the sort of way that likely only someone subjected to water torture can truly appreciate. In all the time that I've used email, to this day, I can only find one that's "the lesser of evils".

Like water torture, bad software doesn't leave any marks on its victims, but the effects are dramatic and far-reaching. Just ask the families of those who died in a plane crash mentioned in Alan Cooper's Inmates as a result of software with no safeguards to warn the pilot that he was about to "land" the plane rather abruptly into the side of a cliff face.

Part of the reason this happens is that most commercial software is developed by people who are both significantly removed from the impact of their work and who are largely motivated by a paycheck. It's similar to the decision of the Ford Motor Company to avoid a recall to make an $11 repair to all of their Pinto line (the barbecue that seats four), resulting in a large number of injuries and deaths from a product they knew was defective. That decision was made initially by an individual who was far removed from its impact and of whom the company requested only a costs benefits analysis. When viewed in purely capitalistic terms, it was going to cost the company less money to pay the legal fees (according to the analysis) than to perform the recall. Each person involved "knew their place" in the corporate hierarchy and understood their job in very specific terms - "I'm being paid to analyze the finances - it's not my fault if the people paying me misuse that information".

As an industry we have a moral obligation to connect the dots between our engineering and the human impact much later down the line. We frequently fail that moral obligation because we view the work as "just a job" and for that matter that often our employers expect and even demand that we view it as "just a job". They ask us to "just get the job done", without really questioning its impact.

There are a small number of people trying to produce some alternative. Some semblance of software created with a "moral center". Software made by people who genuinely care about the outcome. These individuals can be found mostly although not entirely in the open-source community. The open source community could be AWESOME... if it weren't for all that damned free software.

Therein lies the catch.

Commercial software tends to suck because most of the people paid to create it are "just doing their job". Hence they create software that's "good enough for government work", because at the end of the day, all they really wanted was for the day to be over in the first place. Necessity is the mother of frustration.

Open source software tends to suck because the people not paid to create it need to eat. Necessity is the mother of frustration.

Damned if... Damned if...

What we need is a revolution.

Comments
BlogCFC was created by Raymond Camden. This blog is running version 5.5.006.