Does 'should' imply an unquestionable command?
My question is prompted by a question on the programmers.stackexchange:
This may be a duplicate of another question here on english.stackechange, but the answers given to that question did not provide a definitive legal definition of 'should' vs. 'must'.
It has long been my impression that 'shall', 'will', and 'must' have about the same imperative weight; that is, the phrase that follows these words is a command that is not to be questioned. However, in my mind, 'should' falls in a category of lighter imperativeness, almost to the same level as 'may'; that is, the phrase that follows 'should' is a command that does not need to be completed.
Does 'should' imply an unquestionable command, as is the claim in the chosen answer on programmers.stackexchange and the second definition on wiktionary, or is it closer in meaning to 'may'?
Solution 1:
Since it appears that you're referring to requirements analysis or contracts specifications, the governing body or contracting agency should specify what the language requirements will be. In some instances I've been involved with, anything not specifically using shall (which would include should) is not considered to be a true requirement (that is, failure to abide by it is not ground for breach of contract).
However, if you look at the IETF Standard for RFC writing, they use shall, must, or required to indicate a true requirement. Should is used to mean a recommendation only.
IEEE's Style Guide has the following to say:
13.1 Shall, should, may, and can
The word shall is used to indicate mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (shall equals is required to). The use of the word must is deprecated and shall not be used when stating mandatory requirements; must is used only to describe unavoidable situations. The use of the word will is deprecated and shall not be used when stating mandatory requirements; will is only used in statements of fact.
The word should is used to indicate that among several possibilities one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required; or that (in the negative form) a certain course of action is deprecated but not prohibited (should equals is recommended that).
The word may is used to indicate a course of action permissible within the limits of the standard (may equals is permitted).
The word can is used for statements of possibility and capability, whether material, physical, or causal (can equals is able to).
So at least in a couple instances, you're correct that should is not equivalent to shall as the programmers SE question suggested.
Solution 2:
As you rightly imply, there's no absolute "degree of imperativeness" concensually accepted by speakers for any of these modals.
Where it really matters, these words should be treated as terms and defined, just like any other terms in the contract/specifications in question.
Two slightly anecdotal comments that I can add from my own work. Firstly, as a professional programmer, I have dealt with formal specifications from time to time, and these generally stipulate the intended meaning of "shall", "must", "should"; "shall" and "must" are typically treated as synonymous, while "should" is interpreted as a "nice-to-have" or something that "must be implemented if readily possible". From that point of view, the answer to the previous question that you mention is, I think, wrong.
I also translate (among other things) contracts for a living and have consulted with lawyers/paralegals from time to time on this kind of issue. Amongst the legal proefssion, there appear to be two conventions readily used and accepted: (1) use "shall" for essentially any contractual future event, or (2) both "will" and "shall" can imply a contractual future event, with "shall" implying something more like 'will have a duty to', but with there being essentially nothing legally hinging on the choice of one or the other. In French, the language I translate from, the difference is marked by the future tense of the verb 'devoir' vs the future tense of other verbs, so I concede that part of the reason that I make a distinction is simply for "translational convenience". One comment I received from a property lawyer I worked with recently was that they preferred to use "shall" throughout because it "implied more of an obligation", but conceded that it was just a matter of preference (for the aforementioned translation reason, I was suggesting using "will" instead and they agreed that, legally speaking, it made no difference).
Solution 3:
First of all, legalese can be a very different beast than standard English, so expecting normal rules to apply may trip you up.
Secondly, and this is mostly conjecture on my part, I expect that that "should" in legalese is being used in its older grammatical form, as the past tense of "shall", rather than as a present-tense verb of its own meaning something around "ought to but need not necessarily". In that presumed legal sense, "should" is clearly the equivalent of "shall".
(If you check out the legal section of Freedictionary.com, you'll see that "should" is redirected to "shall".)