Re: RFC 2119 terms, ALL CAPS vs lower case
Dave Cridland <dave@cridland.net> Wed, 16 May 2012 20:29 UTC
Return-Path: <dave@cridland.net>
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 6855021F8702 for <ietf@ietfa.amsl.com>; Wed, 16 May 2012 13:29:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.587
X-Spam-Level:
X-Spam-Status: No, score=-2.587 tagged_above=-999 required=5 tests=[AWL=0.012, BAYES_00=-2.599]
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 sg8UGuG5ul5M for <ietf@ietfa.amsl.com>; Wed, 16 May 2012 13:29:50 -0700 (PDT)
Received: from peirce.dave.cridland.net (peirce.dave.cridland.net [IPv6:2001:470:1f09:882:2e0:81ff:fe29:d16a]) by ietfa.amsl.com (Postfix) with ESMTP id 933B021F86FA for <ietf@ietf.org>; Wed, 16 May 2012 13:29:50 -0700 (PDT)
Received: from localhost (peirce.dave.cridland.net [127.0.0.1]) by peirce.dave.cridland.net (Postfix) with ESMTP id 0947E116808F; Wed, 16 May 2012 21:29:44 +0100 (BST)
X-Virus-Scanned: Debian amavisd-new at peirce.dave.cridland.net
Received: from peirce.dave.cridland.net ([127.0.0.1]) by localhost (peirce.dave.cridland.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JDrq8nlZClB1; Wed, 16 May 2012 21:29:40 +0100 (BST)
Received: from puncture (puncture.dave.cridland.net [IPv6:2001:470:1f09:882:221:85ff:fe3f:1696]) by peirce.dave.cridland.net (Postfix) with ESMTPA id 868B4116808D; Wed, 16 May 2012 21:29:40 +0100 (BST)
Subject: Re: RFC 2119 terms, ALL CAPS vs lower case
References: <562A61B995B24BD854A4D154@[192.168.0.2]> <m262bwchr9.wl%randy@psg.com> <08ab01cd3372$65934110$30b9c330$@olddog.co.uk> <tslaa18w21n.fsf@mit.edu> <4FB3E99D.1040606@stpeter.im> <4FB3EDB8.60809@gmail.com> <m2mx57c2g5.wl%randy@psg.com>
In-Reply-To: <m2mx57c2g5.wl%randy@psg.com>
MIME-Version: 1.0
Message-Id: <22965.1337200180.525898@puncture>
Date: Wed, 16 May 2012 21:29:40 +0100
From: Dave Cridland <dave@cridland.net>
To: Randy Bush <randy@psg.com>, IETF-Discussion <ietf@ietf.org>, Brian E Carpenter <brian.e.carpenter@gmail.com>
Content-Type: text/plain; delsp="yes"; charset="iso-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
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 20:29:51 -0000
On Wed May 16 21:10:02 2012, Randy Bush wrote: > > Authors must be fastidious about this. > > s/this/documents/ RFC 2119 §6 says: Imperatives of the type defined in this memo must be used with care and sparingly. In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmisssions). For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability. I note two things: 1) RFC 2119 also uses lower-case "must" and "may" throughout. 2) RFC 2119 also clearly states that using the terms too much will harm interoperability. The second is the one I feel we have violated much more, and caused much more damage, than any possible problem with the first. Consider: "An octet may contain 0-255". This is most certainly not going to be helped if we say: "An octet MAY contain 0-255". We could either rephrase: "An octet contains 0-255". Or use a different awkward word - although up with this I will not put: "An octet might contain 0-255" - or it might not? But many requirements can be re-cast as statements of fact about valid protocol: "The Foo octet MUST lie between 0 and 127 inclusive; that is, the highest bit MUST NOT be set." As Pete Resnick, I think, once said, these terms are not just a stick to beat people with. "A valid Foo octet lies between 0 and 127 inclusive; that is, the highest bit is never set." That's just as clear, to me, and allows me to concentrate the MUST stick where I actually do want to stress a real problem, perhaps: "Receivers of an invalid Foo octet - that is, one with the highest bit set - MUST emit the 'Invalid Foo' error, and therefore terminate the session immediately." Overuse of RFC 2119 language reduces its utility. Dave. -- Dave Cridland - mailto:dave@cridland.net - xmpp:dwd@dave.cridland.net - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/ - http://dave.cridland.net/ Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade
- RFC 2119 terms, ALL CAPS vs lower case Barry Leiba
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Scott Kitterman
- Re: RFC 2119 terms, ALL CAPS vs lower case Edward Lewis
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- RE: RFC 2119 terms, ALL CAPS vs lower case Adrian Farrel
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Andrew Sullivan
- Re: RFC 2119 terms, ALL CAPS vs lower case Simon Perreault
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Sam Hartman
- Re: RFC 2119 terms, ALL CAPS vs lower case Hector Santos
- Re: RFC 2119 terms, ALL CAPS vs lower case Peter Saint-Andre
- Re: RFC 2119 terms, ALL CAPS vs lower case Mary Barnes
- Re: RFC 2119 terms, ALL CAPS vs lower case Brian E Carpenter
- Re: RFC 2119 terms, ALL CAPS vs lower case Ole Jacobsen
- Re: RFC 2119 terms, ALL CAPS vs lower case Peter Saint-Andre
- RE: RFC 2119 terms, ALL CAPS vs lower case Adrian Farrel
- Re: RFC 2119 terms, ALL CAPS vs lower case Ole Jacobsen
- RE: RFC 2119 terms, ALL CAPS vs lower case John C Klensin
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- RE: RFC 2119 terms, ALL CAPS vs lower case Worley, Dale R (Dale)
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Cridland
- Re: [IETF] RE: RFC 2119 terms, ALL CAPS vs lower … Warren Kumari
- Re: RFC 2119 terms, ALL CAPS vs lower case ned+ietf
- Re: RFC 2119 terms, ALL CAPS vs lower case Ralph Droms
- Re: RFC 2119 terms, ALL CAPS vs lower case Dave Crocker
- Re: RFC 2119 terms, ALL CAPS vs lower case Jaap Akkerhuis
- Re: RFC 2119 terms, ALL CAPS vs lower case Hector Santos
- Re: RFC 2119 terms, ALL CAPS vs lower case ned+ietf
- Re: RFC 2119 terms, ALL CAPS vs lower case Doug Barton
- Re: RFC 2119 terms, ALL CAPS vs lower case t.p.
- Re: RFC 2119 terms, ALL CAPS vs lower case Tony Finch
- Re: RFC 2119 terms, ALL CAPS vs lower case Tony Finch
- Re: RFC 2119 terms, ALL CAPS vs lower case Julian Reschke
- RE: RFC 2119 terms, ALL CAPS vs lower case Lee Howard
- Re: RFC 2119 terms, ALL CAPS vs lower case Hector Santos
- Re: RFC 2119 terms, ALL CAPS vs lower case Marshall Eubanks
- Re: RFC 2119 terms, ALL CAPS vs lower case ned+ietf
- Re: RFC 2119 terms, ALL CAPS vs lower case Ralph Droms
- Re: RFC 2119 terms, ALL CAPS vs lower case Marshall Eubanks
- Re: RFC 2119 terms, ALL CAPS vs lower case Eric Rosen
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case ned+ietf
- Re: RFC 2119 terms, ALL CAPS vs lower case Ralph Droms
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case Ralph Droms
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case Brian E Carpenter
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- Re: RFC 2119 terms, ALL CAPS vs lower case Carsten Bormann
- Re: RFC 2119 terms, ALL CAPS vs lower case Ofer Inbar
- Re: RFC 2119 terms, ALL CAPS vs lower case Eliot Lear
- Re: RFC 2119 terms, ALL CAPS vs lower case Randy Bush
- RE: RFC 2119 terms, ALL CAPS vs lower case Yaakov Stein
- Re: RFC 2119 terms, ALL CAPS vs lower case Brian E Carpenter
- Re: RFC 2119 terms, ALL CAPS vs lower case Bill McQuillan
- Re: RFC 2119 terms, ALL CAPS vs lower case Stephen Farrell
- Re: RFC 2119 terms, ALL CAPS vs lower case Hector Santos
- Re: RFC 2119 terms, ALL CAPS vs lower case John C Klensin
- Re: RFC 2119 terms, ALL CAPS vs lower case Brian E Carpenter
- Re: RFC 2119 terms, ALL CAPS vs lower case Stephane Bortzmeyer
- Re: RFC 2119 terms, ALL CAPS vs lower case Marc Petit-Huguenin
- Re: RFC 2119 terms, ALL CAPS vs lower case Yoav Nir
- Re: RFC 2119 terms, ALL CAPS vs lower case Abdussalam Baryun