Legal documents such as EULA’s are notoriously hard to follow, we’ve all seen (and most likely glossed over) several pages of legal mumbo jumbo after installing a new piece of software.. “Yes Microsoft, I definitely read the entirety of that 35 page EULA, tick”.
But there is a very valid reason that legal documents need to be so verbose. When dealing with legal matters it’s vitally important that there be as little amiguity as possible in the language used. Anything that’s left to interpretation can cause a legal grey area that can be exploited. Unfortunately the English language is not well equipped to meet these requirements, it’s much more suited to expressive, creative writing that’s ambiguous and open to interpretation. The result is a heavily modified English, so called “legal English” that bares very little resemblence to the language we write and speak with on a daily basis. Talk about forcing a square peg into a round hole!
Programming languages seem to be a far better tool for the job. They are completely unambiguous and their structure & syntax far more suited to representing complex conditional logic in a concise way. I would estimate that a complex legal document written in “legal English” could be equally well represented in psuedocode using 20x less characters.
An intetesting topic is what programming language would be best suited to represent legal terms. First things first, it would have to be an open language which is not tied to a specific vendor. It would be pretty bad if Microsoft or Oracle had such influence over legal documentation (it would be like Apple having a patent on the paper that bank notes are printed on). So that’s C#, VB, Objective C and Java discounted. We can also discount lower level languages such as C++. It would be important that the language be able to support multiple paradigms. Object oriented for representing legal entities, and functional for expressing complex rules. Within my own (admittedly limited) experience of programming languages, I would say Python is a good fit! Let me know if you disagree!
Just imagine running unit tests for a mobile phone contract, or writing functional specs for an employment contract using Cucumber! How much faster could the government pass new laws if they had a continuous delivery process? Truly the world would be a better place if all lawyers were software engineers…