meaning RFC 2119 (was Re:I'm struggling with 2219 language again)

Abdussalam Baryun <abdussalambaryun@gmail.com> Fri, 04 January 2013 20:25 UTC

Return-Path: <abdussalambaryun@gmail.com>
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 EB4FA21F8842 for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 12:25:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ULYhUTpmZBa5 for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 12:25:53 -0800 (PST)
Received: from mail-vb0-f43.google.com (mail-vb0-f43.google.com [209.85.212.43]) by ietfa.amsl.com (Postfix) with ESMTP id A3F2221F8804 for <ietf@ietf.org>; Fri, 4 Jan 2013 12:25:53 -0800 (PST)
Received: by mail-vb0-f43.google.com with SMTP id fs19so17161910vbb.30 for <ietf@ietf.org>; Fri, 04 Jan 2013 12:25:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=RZbfc5/Lmn+Mh0Rs3F7lh9XZlB/Fj0010GHkiuk+FcE=; b=bVf3T9IWCQ+q7lhM39FDPNB9+u9IQBaRqYhbFslln8onR0K96rIEihm90QafUXYH7e XTQCbl1kVJMNPchdXiOvkkhrZvH7Ik6IJ5PMwpcs+b3rrAaQMdCj2ukYz9K+6vI2Dhd7 oHfsoBGsgH+SWc6oQ2gFDPDDf8ODECXJKqCA8equf7s8GwnLUAJpz4QwJfkm8QWerGqc AkWc8h/LeJSqLco9VGxZf64Hfnc6W65VMtWaSStkQ1aQ75K+bTBnVK9BKi/l51r2I0Ja 3jKhEZrJWNPlBizd3H9tq6PMUv5d9tmnr2jY3vq8gWtN2BSRITYxnCQbHz4XNXwj3TAw F0ZQ==
MIME-Version: 1.0
Received: by 10.52.27.50 with SMTP id q18mr68133861vdg.20.1357331153075; Fri, 04 Jan 2013 12:25:53 -0800 (PST)
Received: by 10.220.145.5 with HTTP; Fri, 4 Jan 2013 12:25:52 -0800 (PST)
Date: Fri, 04 Jan 2013 21:25:52 +0100
Message-ID: <CADnDZ8_BPe-L4M=3nWE2k2Uj8bO11uRqCxunVN=22PYDDGOAQA@mail.gmail.com>
Subject: meaning RFC 2119 (was Re:I'm struggling with 2219 language again)
From: Abdussalam Baryun <abdussalambaryun@gmail.com>
To: dean.willis@softarmor.com
Content-Type: text/plain; charset="ISO-8859-1"
Cc: ietf <ietf@ietf.org>
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: Fri, 04 Jan 2013 20:25:58 -0000

Hi Dean

I agree with you which I suggested before an update to the RFC [*], I
actually writing a work in progress ID, you may give me your
suggestion if you like. I recommend you use for your work IF, THEN
rather than MUST. Easier to read.

*  http://tools.ietf.org/id/draft-baryun-rfc2119-update-00.txt

AB

>
>
> I've always held to the idea that RFC 2119 language is for defining
> levels of compliance to requirements, and is best used very sparingly
> (as recommended in RFC 2119 itself). To me, RFC 2119 language doesn't
> make behavior normative -- rather, it describes the implications of
> doing something different than the defined behavior, from "will break
> the protocol if you change it" to "we have reason to think that there
> might be a reason we don't want to describe here that might influence
> you not to do this" to "here are some reasons that would cause you to
> do something different" and on to "doing something different might
> offend the sensibilities of the protocol author, but probably won't
> hurt anything else."
>
> But I'm ghost-editing a document right now whose gen-art review
> suggested replacing the vast majority of "is" "does" and "are" prose
> with MUST. The comments seem to indicate that protocol-defining text
> not using RFC 2119 language (specifically MUST) is "not normative".
>
> This makes me cringe. But my co-editor likes it a lot. And I see smart
> people like Ole also echoing the though that RFC 2119 language is what
> makes text normative.
>
> For example, the protocol under discussion uses TLS or DTLS for a
> plethora of security reasons. So, every time the draft discusses
> sending a response to a request, we would say "the node MUST send a
> response, and this response MUST be constructed by (insert some
> concatenation procedure here) and MUST be transmitted using TLS or
> DTLS.
>
> Or, a more specific example:
>
> For the text:
>
> In order to originate a message to a given Node-ID or
> Resource-ID, a node constructs an appropriate destination list.
>
>
> The Gen-ART comment here is:
> -First sentence: "a node constructs" -> "a node MUST construct"
>
>
> We'll literally end up with hundreds of RFC 2119 invocations (mostly
> MUST) in a protocol specification.
>
> Is this a good or bad thing? My co-editor and I disagree -- he likes
> formalization of the description language, and I like the English
> prose. But it raises process questions for the IETF as a whole:
>
> Are we deliberately evolving our language to use RFC 2119 terms as the
> principle verbs  of a formal specification language?
>
> Either way, I'd like to see some consensus. Because my head is
> throbbing and I want to know if it MUST hurt, SHOULD hurst, or just
> hurts. But I MUST proceed in accordance with consensus, because to do
> otherwise would undermine the clarity of our entire specification
> family.
>
> --
> Dean
>