[Comments turned off here; if you want to comment, head to the copy of the post at First Movers.]
Over the run of the semester, I’ve often been struck by how the US Constitution is like Windows. This seems like such a trite and obvious observation (at least to any software-engineer-turned-lawyer) that I have (mostly) resisted blogging it, but I can’t resist it any more.
The final straw that caused me to muse publicly was that today was my last day of Con Law, and try as I might, I was struggling to pick out any coherent themes which ran throughout the course.
The theme that finally jumped out, of course, was the lack of consistency. By necessarily being all things to all people, the Constitution has done a remarkable job of adapting and meeting the needs of a changing society. Yet, at the same time, the requirement of meeting the new challenges without much changing the underlying text, and doing that by layering together 200 years of constantly-shifting precedents overtop of the basic, underlying core, have left Constitutional law in a fairly precarious position. Because new changes are only tenuously linked to the core underlying concepts, they are unstable and susceptible to attack on similarly tenuous grounds. And as soon as you get off the well-documented paths, forget trying to make sense of the results you’re going to get from the court- give them A and you might get back X, Y, or π.
So too with Windows. As this Times article attempts to explain, by being all things to all people, Windows has become massively successful. But that same pandering has left the code in a precarious state- with security holes, instability, and serious usability problems. Microsoft ended up rewriting much of it in order to release Vista, and it still isn’t where it should be on any of those counts.
The analogy could be extended for literally dozens of pages (which I’ll spare everyone :), but unfortunately I’m not sure it has any practical implications. Software engineering has developed some techniques to deal with complexity, and many of them have analogues in the legal world. But unfortunately they often wouldn’t apply to the Constitution. For example, engineers often speak of ‘refactoring’ code- looking at a code base that has emerged over many years in order to draw out the common principles, and then reorganizing and simplifying. This will be familiar to any first year law student as a Restatement, and many commercial parties have been trying to follow suit by clarifying their contracts. Unfortunately, restating the Constitution would be impossible, as far as I can see- the political implications would stall any such effort dead in its tracks. Similarly, as any engineer will tell you, better engineering has costs- ‘doing things the right way’ often means saying no to customers now in order to better protect everyone’s long term interests. To anyone who has ever read a Scalia dissent, this will no doubt sound familiar, so this approach certainly can be tried in law. But it often isn’t clear whether this is good engineering or good jurisprudence.
And so we soldier on, precariously balanced between getting lots of things done and occasionally wanting to scream at our computers and our Con Law professors (not to mention our Supreme Court Justices.)
If any wiser, sager scholars of either legal code or software code care to share how this could have practical implications, or ask me questions about the other side, or wants to point me at where this has been said before and better, or just wish me desperately needed luck on my Con Law exam, fire away :)
[Image of the Constitution window from the National Cathedral, courtesy of dbking and his excellent collection of CC-BY Washington DC pictures. Image of a real Vista error message via the very cool Jeremiah Palecek.]