Treating our Legal Code like Computer Code

I’ve posted before about the idea of treating our legal system (legal code) like a computer system (computer code):

Our legal code is almost entirely like an entire operating system written in undocumented Perl.

  1. There are no hints as to what any part of it is supposed to do and it is written in a language that to most people looks like line noise.
  2. Every significant patch is applied by adding an additional Perl module that overrides an existing method in an existing module, replacing all of the code in that method with a complete new copy of the method that is almost identical to the old one but adds or removes a backslash in a single regular expression.
  3. The entire core logic was written in a crunch session by a bunch of geeks locked in a room together and forced to design it by committee.
  4. The application was a rewrite of another application that never really worked well in the first place.
  5. Every function name is chosen explicitly to provoke an emotional response in the developer, e.g. thisFunctionSucks() or callMeNow().

Although that was somewhat tongue-in-cheek, there was a certain grain of truth to it.

It seems that I’m not the only one to think this – and indeed, someone has taken the idea even further by applying systems design principles to the new health care reform legislation that the US Congress is working on at the moment.

Bruce F. Webster writes:

On the occasions where I have reviewed the actual text of major legislation, I have been struck by the parallels between legislation and software, particularly in terms of the pitfalls and issues with architecture, design, implementation, testing, and deployment. Some of the tradeoffs are even the same, such as trading off the risk of “analysis paralysis” (never moving beyond the research and analysis phase) and the risks of unintended consequences from rushing ill-formed software into production. Yet another similarity is that both software and legislation tend to leverage off of, interact with, call upon, extend, and/or replace existing software and legislation.  Finally, the more complex a given system or piece of legislation is, the less likely that it will achieve the original intent.

He then goes on to talk about some “design flaws” in HR 3200 – otherwise known as the “America’s Affordable Health Choices Act of 2009.” (Brings to mind point #5 from the “Legal System as a Perl OS” quote from above, doesn’t it?)

Bruce then goes on make a point which is basically the same as point #2 in the “Legal System as a Perl OS” quote above:

Much of HR 3200 makes piecemeal modifications to existing legislation, often with little explanation as to intent and consequences.

Or to put it another way, entire sections of HR 3200 do nothing other than override some existing legislation in some incredibly small way, which will (presumably?) have huge (and in all likelihood, unintended and unforeseen) effects – much like how adding or removing a single backslash from a regular expression can have huge (and often unintended and unforeseen) effects on its pattern-matching behavior.

Bruce’s entire article (it’s the first of a 3-part series – as I write this, only parts 1 and 2 are done) is well worth reading – and in fact I highly recommend it, even for non-programmers.

Of course, if you ask me, I really think all legislators should be required to take a programming course or two – because, as I’ve said before (in my “A Programmer’s Perspective on Politics” article), laws are effectively the “operating system” of our society… and right now, the people writing our society’s “operating system” don’t seem to be particularly good programmers!!

The Problems

Found this over on a Slashdot story about how attacks on voting machines are practical (despite arguments to the contrary):

The problem is our elections are supposed to be transparent by law.
The problem is our elections are supposed to have public oversight.
The problem is a private company can not provide public oversight.
The problem is electronic vote tabulation devices use invisible signals which no human (especially a poll watcher) can see.
The problem is China or North Korea could decide our elections and we wouldn’t know.
The problem is there is no electronic vote tabulation device (or electronic vote registration poll book device) which can be validated with public oversight.
The problem is without public oversight, no election can be validated.
The problem is if our elections can not be validated, we can not hold our representatives responsible.
The problem is if our representatives can not be held responsible, they tend to ignore the rule of law.
The problem is if our representatives ignore the rule of law, they tend to ignore protecting the US Constitution against all enemies.
The problem is when the US Constitution is ignored, we no longer live in a Constitutional Republic.
The problem is when we no longer live in a Constitutional Republic, we slip into fascism.
The problem is we have slipped into fascism.
The problem is ignorance is no longer an excuse for corruption.

It was, of course, posted Anonymously… but that doesn’t make it any less meaningful.

Using Tax Money

Found this great quote from a discussion over on Slashdot on a story of some attackers cutting fiber cables into a city in California:

“Using tax money to provide goods and services does two things: it hides the true cost by shifting the burden of payment onto other people and it eliminates choice. Those are both bad, but for different reasons.”

This is a very insightful quote, and one that people would do well to remember whenever they start talking about having “the government pay for it.” (Of course there are cases where using tax money is the only way to do certain things, but it’s still good to keep this in mind.)

What Happened to an “Open and Transparent” Government?

Apparently, some things are still “too secret” to ever be allowed to be challenged in court. Of course, the effect of this is that the executive branch of our government can do pretty much as it pleases and claim “national security” or “sovereign immunity” to prevent any sort of oversight or review. Sound familiar?

This is sickening. Just sickening. A government with “secrets” can never be a “free” government. The more secrets a government has, the more oppressive it is towards its citizens, and the less “freedom” they will actually have.

This quote from the article I linked above sums it up pretty well:

What’s being asserted here by the Obama DOJ is the virtually absolute power of presidential secrecy, the right to break the law with no consequences, and immunity from surveillance lawsuits so sweeping that one can hardly believe that it’s being claimed with a straight face.  It is simply inexcusable for those who spent the last several years screaming when the Bush administration did exactly this to remain silent now or, worse, to search for excuses to justify this behavior.

Equality before the law means equality before the law for everyone – that must include government as much as it does the people they govern.

A government that is above the law is not a government – it is a tyranny.

Open Government

Oh, yells yeah:

A democracy requires accountability, and accountability requires transparency.

[...]

The Freedom of Information Act should be administered with a clear presumption: In the face of doubt, openness prevails. The Government should not keep information confidential merely because public officials might be embarrassed by disclosure, because errors and failures might be revealed, or because of speculative or abstract fears. Nondisclosure should never be based on an effort to protect the personal interests of Government officials at the expense of those they are supposed to serve.

[...]

The presumption of disclosure also means that agencies should take affirmative steps to make information public. They should not wait for specific requests from the public. All agencies should use modern technology to inform citizens about what is known and done by their Government. Disclosure should be timely.

I’ve been waiting for this for a long time. Of all the things President Obama has promised to do, I hope this is his most lasting legacy. An open government is a trustworthy government.