RFC 2119 terms, ALL CAPS vs lower case

Barry Leiba <barryleiba@computer.org> Wed, 16 May 2012 13:59 UTC

Return-Path: <barryleiba@computer.org>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB8D621F864A for <ietf@ietfa.amsl.com>; Wed, 16 May 2012 06:59:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pe8gTnjyRzDn for <ietf@ietfa.amsl.com>; Wed, 16 May 2012 06:59:18 -0700 (PDT)
Received: from server1.netnutz.com (server1.netnutz.com [72.233.90.3]) by ietfa.amsl.com (Postfix) with ESMTP id 37D0821F85F7 for <ietf@ietf.org>; Wed, 16 May 2012 06:59:18 -0700 (PDT)
Received: from ool-4a599c7c.dyn.optonline.net ([74.89.156.124]:64275 helo=[192.168.0.2]) by server1.netnutz.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.77) (envelope-from <barryleiba@computer.org>) id 1SUel2-00030S-Lv for ietf@ietf.org; Wed, 16 May 2012 09:59:17 -0400
Date: Wed, 16 May 2012 09:59:08 -0400
From: Barry Leiba <barryleiba@computer.org>
To: ietf@ietf.org
Subject: RFC 2119 terms, ALL CAPS vs lower case
Message-ID: <562A61B995B24BD854A4D154@[192.168.0.2]>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server1.netnutz.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - computer.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: ietf@ietf.org
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 May 2012 13:59:26 -0000

Some snippets from another discussion thread, in a galaxy far, far away:

Murray:
>>> Sections 1, 3-7: The "may" in a document citing RFC2119 ought to be
>>> "can" or such.

Ned:
>> This seems pretty silly to me. The entire point of capitalizing these
>> terms is so they aren't confused with conventional usage, freeing up
>> the regular forms for conventional use.

Murray:
> As Dave would have pointed out had I not beaten him to it, RFC2119
> doesn't actually say "MAY" is different from "may".  And I've been
> asked to deal with this in enough of my own drafts that now I bring
> it up when I see it.
>
> Barry has suggested, and I believe the IESG has allowed, that the
> RFC2119 boilerplate included in the document also say that the RFC2119
> meaning for each only applies when the word is in all-uppercase. 
 That
> allows the stuff you're talking about.
>
> We could further suggest that someone who feels so inclined propose a
> BCP draft to actually update RFC2119 accordingly.


In fact, RFC 2119 says that the normative keywords are "often 
capitalized", but doesn't require that they be.

As Murray says, my habit is to use this for 2119 boilerplate:

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119] when they
   appear in ALL CAPS.  These words may also appear in this document in
   lower case as plain English words, absent their normative meanings.

This passes all nit checks, including those involving the eyes of the 
IESG, and I think it makes the situation absolutely clear.  We could, 
certainly, as Murray notes, update 2119 to require all caps in order to 
use the words as 2119 terms.

Alternatively, Tony and Dave had submitted this draft, now expired:
   http://tools.ietf.org/html/draft-hansen-nonkeywords-non2119
It suggests words such as "can" and "ought to" as substitutes, which is 
what Murray's original review was also suggesting.

The trouble with the first approach (using all caps as 2119 terms, and 
using the same words in lower case as normal English) isn't so much 
that someone might be confused later, but that during development and 
review we're not sure whether you meant to put the word in all caps, 
and just forgot.  No amount of documentation can avoid that question, 
and using "can" or "ought to" gets us away from the issue.

The trouble with the "non-normative synonyms" is that it makes document 
text awkward, by requiring us to artificially substitute less apt 
words, when "may" and "should", as English words, are exactly what we 
mean.

It's probably worth having a discussion of all of that, and seeing 
whether there's some possibility of developing a rough community 
consensus on what we might-could-maybe-oughta-should do.

Barry