Re: [rtcweb] Uppercase question for RFC2119 words

John C Klensin <> Wed, 30 March 2016 17:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 15D1612D5B8; Wed, 30 Mar 2016 10:07:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ctKrl4RXyt2B; Wed, 30 Mar 2016 10:07:22 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8CCDD12D65F; Wed, 30 Mar 2016 10:07:21 -0700 (PDT)
Received: from [] ( by with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <>) id 1alJaJ-000ORn-6d; Wed, 30 Mar 2016 13:07:11 -0400
Date: Wed, 30 Mar 2016 13:07:06 -0400
From: John C Klensin <>
To:, "Scott O. Bradner" <>
Subject: Re: [rtcweb] Uppercase question for RFC2119 words
Message-ID: <>
In-Reply-To: <>
References: <> <> < om> <> <> <> <> <20160328104731.GO88304@verdi> <> <20160328132859.GP88304@verdi> <> <> <> <>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Scanned: No (on; SAEximRunCond expanded to false
Archived-At: <>
Cc: "Heather Flanagan (RFC Series Editor)" <>,, IETF discussion list <>, IESG <>
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 30 Mar 2016 17:07:24 -0000

--On Wednesday, March 30, 2016 07:34 -0700 Dave Crocker
<> wrote:

> That such a rule differs from natural English -- which does
> not typically alter semantics based on case -- and that most
> readers of RFCs will not have such detailed knowledge of
> RFC2119 nor read RFCs with the care such a rule demands, my
> question BARRY and adam and EveryOne Else, is what makes
> anyone think that such a rule must (MUST?) ensure proper
> reading of RFCs so as to distinguish between normative
> portions and advisory portions?

Dave, I'd suggest that technical (and, btw, legal) documents
define words to have local meanings in the context of that
document all the time, and that caps, boldface, italics, and
capital letters are commonly viewed as doing a favor to the
reader.  Usually that is done for slightly-unusual terms, rather
than words that are in common use, but that doesn't really
change the situation especially because, for most practical
cases, the difference between 2119-MUST and ordinary-must is
fairly slight.    I've explained elsewhere why I don't believe
the use of convoluted and forced language to avoid using words
like "must" is not a satisfactory solution, YMMD on that point
(and, I presume, does).

> It's worth distinguishing between rules that make the writers
> more comfortable, from rules that aid the reading efficacy in
> practical terms.

Sure.   But the convoluted sentences proposed by some
alternatives are likely to improve the situation for neither

It seems to me that we may be asking the wrong questions.  To
review and consolidate two things that others have mentioned,
there are almost separate issues about (i) the difference
between normative and non-normative language and (ii) the
difference between interoperability requirements and conformance

For the first, I don't think expecting people to do detective
work based on whether or not certain words (capitalized or not)
appear in a sentence of paragraph.  If we don't think our
documents are clear enough about it, the solution probably lies
in what some other standards bodies have done for years: be
really clear about whether the default is normative or
non-normative and then specifically identify every section or
paragraph that is the other.  That approach is sometimes tedious
for both authors and readers but is efficacious for readers and
does not allow misunderstandings.  

On the other hand, while the problem is easy to identify and
worry about, in watching IETF documents over the years, I've
rarely seen examples that represent real problems in practice.
The only major exceptions occur when the same information is
presented in two ways.  For example, when an ABNF description of
syntax and a prose description both appear in the same document
and do not turn out to be 100% consistent, it might be helpful
to have clear language that says "that is the one to believe if
there is any doubt", but we've often done that without having to
resort to "normative" and "non-normative" section labeling.

For the second, 2119 made a shift from the conformance language
of, e.g., RFC 1122 and 1123, to interoperability language.  In
retrospect, I think the implications of that change (quite
unintentionally, AFAICT) snuck by the community and perhaps have
never been adequately appreciated.  In many cases, there is no
practical difference but, it is sometimes important.  If that is
really our problem today --and a number of comments on these
threads suggest that it is -- then we aren't going to solve it
by discussing whether some words are written in upper case.  The
solution to that one probably lies in a 2119bis that provides
two sets of definitions (or at least explanations) and requires
each invoking document to call out which it is using.