For this post, let’s consider a system to be anything that executes steps and accomplishes a purpose, probably a social or business purpose. The margining of brokerage accounts could be accomplished by a system of computer programs, data, and hardware. The turnover and recycling of nutrients in a forest could be accomplished by a system of scavengers, detritus feeders, bacteria, and fungi.
Systems are fascinating in their own right; they generally begin small and grow in complexity to some upper limit, that seems to be set only by the vicissitudes and fickleness of their environment.
Experience with systems indicates that many of them will eventually benefit from re-organization or reconstruction. A village may be centuries old, but people and even the buildings in it, are not. Ecosystems and biological entities can evolve into traps, see comments about evolutionary traps elsewhere in this blog. In this case some limitation prevents the system from expanding, and prevents it from modifying itself in adaptive ways.
I submit that our system of law is a system in this state. We always add laws. We add special cases to laws. (Discrimination against: blacks gays elderly the poor: why not a general decent-behaviour law?)
When a computer system is redesigned, a good architect will be asking, how does this generalize, with every step the system is meant to accomplish. This results in fewer special cases, less and cheaper testing, and thus the system can be made more effective and stable with less code.
Our legal system seems never to do this. We add amendments, make laws that partially contravene other laws, argue about jurisdiction when laws conflict.
In computer systems, there is some reward for not-doing something if it has become unnecessary. Parts of the system get retired. A large report may be replaced by a more modern user query which is more relevant and whose results are actually read.
In legal systems, laws seem hardly ever to get repealed entirely.
One symptom of an old computer system is what is called spaghetti code: the modifications upon modifications make following any logic thread difficult. The impact of a small change becomes not-predictable; every conceivable case has to be tested to be sure of what the system will do. Similar things seem to happen in law; when lawmakers are asked what a law means, they may reply: we won’t know until it goes through the courts.
Old computer systems are generally replaced when it becomes feasible, prodded by the cost and riskiness of maintaining and tweaking them. Before this happens, expensive experts weigh in on every conceivable small change or challenge to the system.
Our legal system requires expensive experts merely to tell us what it means; and sometimes expensive legal actions are required to test that.
The law is an old system. Lawyers, like programmers in antique systems, are in short supply and command lucrative fees.
When these fees are to decide something simple for an ordinary citizen, it seems that the legal system’s cost of quality is being borne by its users. Those employed by the system enjoy a sort of monopoly over testing the confusion of spaghetti-code-like legislation.
When a computer system becomes outdated, and is also considered life-blood to its owning corporation, there is generally a carefully architected replacement, modular by function if possible. Big-bang system switches do occur but are avoided when practical.
How this might be done with our legal system is an interesting question. I will be both amazed and pleased if any lawyers make suggestions here. They are the experts, eh?