Most of my working life was spent writing computer software. Designing a program to perform its declared task was easy. The effort came in building in the far greater functionality required to make sure that:
Every possible circumstance which could occur within the program had to be tested for and guarded against, no matter how unlikely, ridiculous or nonsensical the exercise may appear at the time. It was not for me to second-guess what things a user may do with the program ages after its release. And such safeguards always sooner or later proved to have been necessary.
Recent legal debate has gravitated towards the notion that computer software is just another consumer product. As a saleable good, it is therefore regarded no differently in law from a simple device or appliance such as a vacuum cleaner. It must be just as fit for its intended purpose and as free from defect. The law thereby makes me, the developer, liable for damage caused to users as a result of even the most obscure set of circumstances occurring within the software.
A vacuum cleaner has a single demarcateable purpose wherever and however it is being used. Computer software does not. Businesses are as diverse as the people who run them and the markets they serve. So, therefore, are the data objects and processes used to control and record their goings on. This means that even standard applications have to be configured in an infinity of different ways, few of which can ever be tested within a viable time frame. Advanced structuring techniques help, but sheer statistics alone dictate that problems - sometimes catastrophic ones - must occur sometime.
I tried to protect myself from potential ruination by such an unforeseeable occurrence through a clause in my software licence. I tried to make it reasonable. Nevertheless, it seems that common law now renders such a clause void. As a result, many software developers may consider it too risky to continue trading. Those who, through personal circumstances, can trade no other way become effectively barred from their natural market. This will result in a serious loss to the quality and diversity of software.
Computer software is an absolutely vast set of instructions and rules. These tell the computer its obligations - what it is required to do. They state under what conditions different actions must be taken. They catch exceptions (detect misdemeanours) and state how each should be responded to. Software does not merely control individual computers. It also regulates whole societies of computers operating under a variety of government regimes. Among these is one which is far more egalitarian than any so far implemented at any time in human society.
There is no perfect analogy between computer software and human law. Computer software operates according to natural logic which is immutable. Human law operates according to human reason which is fallible and open to subjective perception, debate and argument. Nevertheless, the number and complexity of circumstances which can arise in each are astronomical. They are beyond the bounds of time and imagination to test in total before each is unleashed upon the wider public.
Hence it follows that, if in law computer software be a vacuum cleaner, then so too should be the law itself. And they who enact the law should likewise be liable for the undeserved ruination their product may perpetrate in unforeseen circumstances upon its innocent subjects. But we all know this is not going to happen. I wonder why?