I have not yet read Lawrence Lessig’s ”Code and other laws of
cyberspace”, but I like its catchphrase, ”Code is Law”. Sadly,
the reverse do not hold, particularly not in the real world.
As a programmer, it’s natural for me to view any legal text, be it a
law, an agreement or something else, as a set of definitions,
conditions and other instructions, similar to a computer program. Most
of the time, these instructions are badly written; they do not strive
for simplicity, they do not cover corner cases, and for many inputs
the outcome is impossible to determine without resorting to case law.
In computer terms, way too much checking is done at runtime (when laws
are applied) instead of compile time (when they are written).
There’s an interesting
article up on Kuro5hin
which argues along the same lines, and how the awful quality of most
laws makes for a very opaque society, where only legally trained
people with a lot of time on their hands can fully understand the
The author draws paralells between the way laws are written and
computer programs are constructed, and suggests that the law making
process should be ”open sourced”; I think the process is already about
as open as it can be. What’s lacking is good engineering: the will to
strive for clear and simple designs.
Computer programmers realized the need for a structured approach to
programming almost as soon as programming was invented. This was
needed to be able to construct and maintain large programs. There is,
no doubt, a lot of structured thinking in law as well, with its 3000+
year history, but somewhere along the way it seems that clear and
unambigious writing fell off the list of things to prioritize.
Of course, my reasoning is a classic example of someone, new to a
field, thinking they can apply all lessons learned in another field. I
might have more insightful commentary after a few years of law school.