Comment Software is brittle (Score 2) 58
As a software developer, I agree that lawyers could learn a lot from software development methodology. However, when we start talking about applying software representations to law and making it 'computable', we should remember that a fundamental property of software (at least so far) is that it is brittle. I don't think you want law to be brittle. I don't think you want legal contracts that can be subverted by a buffer overflow (although that definitely would make things interesting).
Laws as they are often implemented also have a tendency toward brittleness, often due to over-specificity. Laws should have a purpose and be based on principles, and it should be possible to challenge either a particular application of a law, or its existence, on the basis of failing to serve its purpose or violating its principles. A law is a mechanism for implementing a policy. But it is a characteristic of mechanisms that they often have edge cases that they cannot handle,and with sufficient complexity, bugs are inevitable.
One can view our court system as acting in a role that is somewhat analogous to a support organization for software. But its ability to issue patches mostly takes the form of declaring laws unconstitutional, or establishing precedents for the interpretation of a law, which they hope will have the force of law. We really need actual bug reporting and tracking for laws, and to hold our legislatures accountable for fixing them.