Re: meaning RFC 2119 (was Re:I'm struggling with 2219 language again)
Abdussalam Baryun <abdussalambaryun@gmail.com> Fri, 04 January 2013 20:33 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 2886C21F8880 for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 12:33:29 -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 DDxxe-GENSJU for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 12:33:25 -0800 (PST)
Received: from mail-vc0-f171.google.com (mail-vc0-f171.google.com [209.85.220.171]) by ietfa.amsl.com (Postfix) with ESMTP id E275E21F86EF for <ietf@ietf.org>; Fri, 4 Jan 2013 12:33:24 -0800 (PST)
Received: by mail-vc0-f171.google.com with SMTP id n11so17245374vch.30 for <ietf@ietf.org>; Fri, 04 Jan 2013 12:33:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ELmN0z4H3s59ji8IN0A16nEmd02xwcBxit6CN0/A7dE=; b=LOmiW2kWuTuRASLYiA6Tjzewxjxy4M/UuBCPZWp+4I7ppCwuuLR/ywR0p3j7KNAwV+ MBxte+yRlP3Ve3WtZ28nm/lyIpII6PuvcLmMSOnf8ItO7JNeXVCywW9/ORvlM7dtfVKu 5IfoWAm0uNYWl0YzE3Loqj2lwdDE78KK0Wz/PvPtANhagq4A2XP8jqaaD350VPzxGWZH Ff8nCuhjrDa4uwP7Ba/m7qqlTN3atS6P/RVqpzzkgWaxFDbAzyJhao2fs/pRUYrHV7zf Gs/U2kK4KuEiCHxOdhGKGjphnC3EHa1Bx9DRWs9trsmH97bZ+lkJBm4Mv86NQpWMRaCg IAew==
MIME-Version: 1.0
Received: by 10.52.27.50 with SMTP id q18mr68152029vdg.20.1357331604174; Fri, 04 Jan 2013 12:33:24 -0800 (PST)
Received: by 10.220.145.5 with HTTP; Fri, 4 Jan 2013 12:33:24 -0800 (PST)
In-Reply-To: <CADnDZ8_BPe-L4M=3nWE2k2Uj8bO11uRqCxunVN=22PYDDGOAQA@mail.gmail.com>
References: <CADnDZ8_BPe-L4M=3nWE2k2Uj8bO11uRqCxunVN=22PYDDGOAQA@mail.gmail.com>
Date: Fri, 04 Jan 2013 21:33:24 +0100
Message-ID: <CADnDZ8_n7gP3mO72OCGusu07HN7Ew=eTLV22nDEJZ7yihnLhKw@mail.gmail.com>
Subject: Re: meaning RFC 2119 (was Re:I'm struggling with 2219 language again)
From: Abdussalam Baryun <abdussalambaryun@gmail.com>
To: brian.e.carpenter@gmail.com
Content-Type: text/plain; charset="ISO-8859-1"
Cc: ietf <ietf@ietf.org>, dean.willis@softarmor.com
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:33:29 -0000
>I guess the test is whether a reasonably careful reader might interpret a sentence incorrectly while writing code; and if so, would a normative keyword help? I think the best key word used/help is *IF, THEN, ELSE* the programmer will never miss that key for running code and specification. AB > 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 >> >
- meaning RFC 2119 (was Re:I'm struggling with 2219… Abdussalam Baryun
- Re: meaning RFC 2119 (was Re:I'm struggling with … Abdussalam Baryun