RE: SHOULD vs MUST case sensitivity

"Eric Gray" <> Fri, 27 June 2008 17:49 UTC

Return-Path: <>
Received: from [] (localhost []) by (Postfix) with ESMTP id 127723A67D1; Fri, 27 Jun 2008 10:49:26 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 648AC3A68C8 for <>; Fri, 27 Jun 2008 10:49:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.699
X-Spam-Status: No, score=-6.699 tagged_above=-999 required=5 tests=[AWL=1.900, BAYES_00=-2.599, GB_I_LETTER=-2, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Fj3Co3R3y9DD for <>; Fri, 27 Jun 2008 10:49:23 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 09F453A67D1 for <>; Fri, 27 Jun 2008 10:49:22 -0700 (PDT)
Received: from ( []) by (8.13.1/8.13.1) with ESMTP id m5RHnJi4015511; Fri, 27 Jun 2008 12:49:19 -0500
Received: from ([]) by with Microsoft SMTPSVC(6.0.3790.1830); Fri, 27 Jun 2008 12:49:50 -0500
x-mimeole: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Subject: RE: SHOULD vs MUST case sensitivity
Date: Fri, 27 Jun 2008 12:49:48 -0500
Message-ID: <>
In-Reply-To: <>
Thread-Topic: SHOULD vs MUST case sensitivity
Thread-Index: AcjYb9o1wwaYbp2eQsytPhkYIKz5nQAB8Umw
References: <> <> <> <> <> <g3ror8$2b9$> <> <> <2D990430F5F5D3C7984BDFDF@p3.JCK.COM><> <> <> <>
From: "Eric Gray" <>
To: "Dave Crocker" <>
X-OriginalArrivalTime: 27 Jun 2008 17:49:50.0729 (UTC) FILETIME=[32A62F90:01C8D87E]
Cc: IETF Discussion <>
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit


	See inline below...

Eric Gray
Principal Engineer

> -----Original Message-----
> From: Dave Crocker [] 
> Sent: Friday, June 27, 2008 12:04 PM
> To: Eric Gray
> Cc: IETF Discussion
> Subject: SHOULD vs MUST case sensitivity
> Importance: High
> Eric Gray wrote:
> >> (By the way, I hope folks are clear that IETF use of these words as
> >>  normative does not depend upon the case that is used?)
> > 
> > This is NOT true.  These terms are explicitly defined in 
> > all capital letters to make it possible to distinguish when 
> > they are being used as normative and when they are not.
> Sorry, no.  Please re-read rfc 2219.  Specifically:
>       "These words are often capitalized."
> The key word is "often" which means not always which means 
> not required.

I assume you meant to refer to RFC 2119, rather than 2219.

I specifically refer to usage, rather than RFC 2119.  We often
do that.  

You, for instance, recently co-authored an RFC that is a full
standard, uses lower case instances of these terms, and does 
not refer to RFC 2119 at all. RFC 5234/STD 68, I believe.

I suspect that this wording is an aspect of RFC 2119 that 
should be changed - and probably would have been were it not 
for the fact that capitalization has not always been used 
consistently and RFC 2119 is supposed to be a "Best Current 
Practices" RFC.

In English, "best current practices" cannot typically be used
to refer to what we wish to be true.

I strongly suspect that RFC 2219 should say "SHOULD be"
instead of "are often" - if for no other reason than to
encourage consistency.

> Computer science long ago made the mistake of imposing 
> semantic difference on case differences, which is distinct
> from other uses of case.  Absent explicit specification of 
> case sensitivity for the keywords, the rules of English 
> writing apply, I would think.

Yeah, you're not that much older than I am.

However, in this case, people who actually include a section
that lists the RFC 2219 normative terms effectively DO make
an implicit specification of case sensitivity and - unless
the reader decides to read RFC 2219, the reader may not know 

The statement that "should" be contained in any RFC that is
intended to use the "requirements level" aspect of RFC 2119
terms is:

      'The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      "OPTIONAL" in this document are to be interpreted as described in
      RFC 2119.'

There is nothing in this statement that indicates that these
terms are meant to be anything other than capitalized.

> > In text that is not meant to be normative, the special 
> > terms should be avoided - even in lower case - but this
> > can lead to exceptionally stilted use of the English 
> > language.
> Not really.  Words like "can" and "ought" do the job nicely.

Actually, no they do not.

As most of us know, "can" is NOT a synonym for "may" and 
(as most anyone who would be familar with the word ought
would know) "ought" is also a synonym for "zero."

If you decided to use the word "may" in a non-normative
sense - but wished to be consistent with Enlgish usage -
you would need to say something like "is allowed to."

That seems to me to be a fine example of "stilted" usage.

An example of a non-normative use of "should" is this:

 "The reader should already be aquainted with the contents
  of ..."

Assuming this statement is normative is absurd. Re-writing 
it to use "ought" makes it read "... reader ought to be ...
- which seems like another fine example of stilted English.

And a good example of when you might use the word "must"
in a non-normative sense is when describing something
that is unavoidable (e.g. - what goes up, must come down)
and describing such a thing "normatively" is also absurd.

Would you write "what goes up, would need to come down"?
Strictly speaking, inanimate objects (rocks, balls, etc.)
have no "needs" and many animate objects (kittens, puppies, 
etc.) would not necessarily feel any such need.

And, before you dismiss these as irrelevant examples, ask
yourself whether or not the statement "a message must have
a finite number of octets" is normative...

> d/
> -- 
>    Dave Crocker
>    Brandenburg InternetWorking
Ietf mailing list