Pages

Friday, October 5, 2012

Another rant about software



Software does not really rot, despite what developers experience every day.

What decays is its environment.

Software embodies perfectly adapted machines that cease to function as everything around them evolves. Software has no friction to wear it out. The claimed obsolescence occurs because it gets old compared to the world around it. At least that is the hype. Clients are missing out on upgrades, security fixes, whatever. The Internet helps of course because it is a true wilderness with predation.

The smart boys in the IT marketing departments of big companies learned this probably by accident and have been helping the phenomenon along ever since.

This is the upgrade cycle.

The lucrative business model is based on what I think is a partly artificial problem, or at least one that has been blown out of proportion.

Here is a fantasy based on a moral, ethical and unrealistic world:

A program is written to meet a requirement, is tested, goes through a few iterations with the user community and becomes stable and useful and productive and everyone is happy for a long time.
The underlying hardware also gets faster and better but remains consistent with the older platforms so that the software can continue to run, or be upgraded in an incremental way, but stays in support essentially as long as nothing fundamentally better comes along.

This is not impossible, Windows and IBM both provided this kind of upgrade path for their OS's and systems  for a long time, but then realized that there was much more money to be made by setting deadlines on support so as to convince client IT managers that their stuff may break and cost too much to fix if they did not pay protection upgrade.

FUD is easy when knowledge and complexity do not keep up with each other, and a company certainly can create and control complexity, which has the added bonus of thwarting compatibility, integration and competition. IT companies that have survived have defied the inexorable race to zero cost of most consumer technology, especially something as perfectly light, reproducible and useful as software, by bucking all the good practices of design while giving them marketing lip service. HP, and other engineering companies, like DEC may have misunderstood this twisted logic. Sun certainly did.

Open source is a defense and a mitigation to this pathology and has the potential  to reduce the crazy costs associated with IT change by distributing the cycle of maintenance it across IT shops, using common knowledge. It is an extension of the Unix ideals of clarity and modularity and community. Heresy of course. Communism some have called it.

So we continue to have big companies and governments paying huge sums for essentially very little, a sort of insurance. Let's call it that then, software insurance. That is heresy too, especially if you read the disclaimers that are standard with all commercial software. No guarantees.

Any suggestions on how to shine some light here?




No comments: