Shall
A century or two ago, it was everywhere. Today, it's practically verboten. American drafting expert Ken Adams is vehement. Don't use "shall". Say "must" instead. Commonwealth legislative drafters agree. Just Say No To Shall.
I agree too. But I always wondered: why? Let me share my guess.
(This is just one programmer's personal opinion. It's not as well researched as I'd like; and that's why this is a random article and not published in a peer-reviewed law journal.)
I think it has to do with time. Drafting-time versus executed-time.
Drafters writing a contract, or a bill, are thinking: "after this contract is signed, or after the bill is passed, everything here will be in effect; but until then, I'm in the present, talking about a future that hasn't happened yet."
So they say "shall"!
Shall Mean
"For the purposes of this section, weekend shall mean a Saturday or Sunday". They mean: "after this is signed, weekend shall mean a Saturday or Sunday."
And that makes perfect sense, especially if you think of a contract draft being negotiated and emailed around between the counterparties.
But after the contract is signed and the bill is passed, people reading the text of the definition are confused: "why didn't you just say that weekend means Saturday or Sunday"?
The drafter's response: because at the time I wrote that, it wasn't in effect, so saying that it means whatever, would have been incorrect.
Shall Do
This becomes even worse when we talk about the parties and their obligations.
The text is written before signing, but read after signing.
And that creates a situation where "party shall do" means two different things!
At the time of drafting, it meant: "after this is signed, we expect the party to do this thing right away."
But when read after execution, the party could read it as "yeah, we shall do this thing. Tomorrow. Or maybe the day after. Or in a month or year, really, because the contract doesn't give a deadline!"
Why Programming Doesn't Have This Problem
Programmers are conscious that the code they write is going to run.
So the tense, if any, of a program, is the present perfect.
Even though programmers have to worry that they screwed up in some way that will be caught at compile time, the actual thrust of the program takes effect at run time. And so everything is written for run time.
Last updated