Some comments on software and law (was: Humanity and Criminalization)

Russell Turpin
Mon, 28 May 2001 19:20:49 -0500

Lisa Dusseault writes:
> But we don't actually try to write software anywhere 
> near as complex as our laws ..

What is the law, but software to be executed by human
processes? And like a lot of large software systems, it 
was created by different groups, working at different 
times. You're right, of course, that it is larger and more
complex than any software system. And like Jeff, I 
think it would benefit from simplification and refactoring. 
Better partitioning might also help. People tend to view 
the entirety of law and say "How can *anyone* be 
expected to know this?" I suspect, though, that most 
parts of it are irrelevant to most people. Unless you 
operate a boat, you never bother to learn COLREGS, 
nor anything about admiralty law. These portions of law 
operate much like an importable module, whose existence 
is irrelevant -- and maybe unknown -- to most people, 
much as most Python programmers never learn about the 
Python module that manipulates audio data. 

One candidate for further decomposition is to require
each law to separately explain what needs to be known
by the different parties involved. For example, we all
know that we're not supposed to commit murder. 
But few people except criminal lawyers will understand
the different degrees of murder, the elements of each,
punishments provided for these, and any special
probative rules for this crime. I suspect the law on
murder consumes quite a few pages in the law books,
most of which is completely  irrelevant to the ordinary 
person. So why not require laws to be written with this 
decomposition in mind? In essence, this requires 
parallel law books:  "what people must know to obey 
the law," "what police must know to investigate crimes 
and arrest criminals," "what judges and lawyers must 
know to prosecute, defend, and judge cases." Of
course, the first volume should be slim, and it should
trump in any conflict.