As you see by the date of the article about the Aaron Swartz case I’ve linked to, I’ve been mulling this blog post over for a while. 🙂
I’ve known a fair number of software engineers/developers (including myself) and also a fair number of lawyers (including immediate family).
It’s tempting to think we all view the world in a similar way: we work in systems governed by complex sets of rules and try to understand how those rules can be applied. But this masks an important difference.
Software systems, however complex they get, are fundamentally deterministic. Computers don’t make judgement calls, and they don’t make mistakes. If you get the wrong result, it’s a bug to be crushed. (Something that distinguishes professional developers from others is that for us, letting an issue go as an insignificant outlier is often more difficult than digging until you find a solution.)
For lawyers, laws aren’t processed by silicon CPU’s, they’re processed by human judges, juries, and prosecutors. For them, individual discretion is not a bug, it’s a feature. Furthermore, there’s a difference between litigators and corporate lawyers. Much as things like EULA’s are the bane of everyone’s existence, we can find common ground with the corporate lawyers who write them, because we get the idea that inputting a certain formula into “the system”–like a magical incantion–should lead us to desired results. Whereas litigators and prosecutors (and sometimes politicians) are much more comfortable in that risky space where one’s fortune can be changed, not simply by whether you followed the letter of the law, but by human judgement in applying it.
The point of the blog post isn’t to say that one worldview is right and the other is wrong, but that it might help everyone to understand that they are different, and that either way of thinking can be used for good or evil. Both sticking to the rules and never making an exception, and fighting to win by bending the rules, can lead to inhumane results. We need to strike a balance.