No, I didn't say "SHOULD means MUST", I said "MUST do this unless
you have a good reason to make an exception."
Yes, hence the ellipsis.
Which is a paraphrase of the more carefully worded language in
2119.
Actually not. Note that the 2119 text for SHOULD does not give
implementers, end users, etc. leave to "make an exception" because
doing so makes them feel good,
who said anything about making an implementor (or whomever) feel good?
it states "that there may exist valid reasons in particular
circumstances to ignore a particular item ...", e.g. while the
recommendation is made for good cause, there may be particular
protocol states, network conditions, backward compatibility issues,
etc. which may apply -- and a careful specification writer will make
clear why a recommendation is made and under what sorts of
circumstances the recommendation might be ignored.
Uh, no. SHOULD and SHOULD NOT exist precisely because specification
writers too often get into the business of trying to specify exactly
when it is permissible for an implementor to make an exception to a
specification.
In particular, MUST is an imperative and MUST only be used where
there is potential for harm or where required for interoperation.
That language was intended to apply to all of the keywords in the
document. e.g. SHOULD is also an imperative.
http://www.dictionary.com/search?q=imperative gives definitions of
imperative which include such terms as "command", "obligation", and
"rule [...] that compels a certain behavior".
It is unwise to assume that the author of 2119 consulted dictionary.com
before using that word. I can recall cases where that same author
objected to the use of SHOULD in a document because he didn't think it
was necessary to prevent harm or to ensure interoperability.
Now I think you are the one interpreting 2119 liberally. It
doesn't say that SHOULD is a recommendation.
Considering that SHOULD has the same BCP 14 meaning as the adjective
RECOMMENDED, and that a recommendation is something which is
recommended, it's pretty hard not to reach that conclusion. You're
welcome to try to rationalize not doing so...
I can see why you reached that conclusion. But there are subtle and
important differences between the definition given in 2119 and the
normal meaning of "recommended" (just as there are subtle and important
differences between 2119's SHOULD and "should"). If we want to
encourage a practice without imposing the requirement that "the full
implications _must_ be understood and carefully weighed before choosing
a different course" (emphasis mine) then we need another word besides
RECOMMENDED, or we need to use definitions other than those in 2119.
Keith