I'm struggling with 2219 language again

Dean Willis <dean.willis@softarmor.com> Fri, 04 January 2013 05:15 UTC

Return-Path: <dean.willis@softarmor.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 B829721F8E5C for <ietf@ietfa.amsl.com>; Thu, 3 Jan 2013 21:15:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.599
X-Spam-Level:
X-Spam-Status: No, score=-103.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 f09TuMnE+uxn for <ietf@ietfa.amsl.com>; Thu, 3 Jan 2013 21:15:23 -0800 (PST)
Received: from mail-ye0-f176.google.com (mail-ye0-f176.google.com [209.85.213.176]) by ietfa.amsl.com (Postfix) with ESMTP id C69A221F8E58 for <ietf@ietf.org>; Thu, 3 Jan 2013 21:15:22 -0800 (PST)
Received: by mail-ye0-f176.google.com with SMTP id m1so2540016yen.21 for <ietf@ietf.org>; Thu, 03 Jan 2013 21:15:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=softarmor.com; s=google; h=x-received:from:content-type:content-transfer-encoding:subject :message-id:date:to:mime-version:x-mailer; bh=Jmvdb+szXoQ/8XmrgBwXzVdPPzc9XeBkjZU2Hr/F688=; b=XrNOkE/GcEKunIJpZ2E6YPwD2iStrM/8lTbhV3ZJOTb0R/Atpq2wIJt6velBzScXIQ /wL7nnD/i1zKtrcoOr8oC8Z2GDFjhN7BSiWKHa2W9hbCTb4bAHu0B5Sc2p6/VfXTLUdB HuUbbzL5qn9jeouFkdwXb6+gWoHt8IPJuHwAw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:content-type:content-transfer-encoding:subject :message-id:date:to:mime-version:x-mailer:x-gm-message-state; bh=Jmvdb+szXoQ/8XmrgBwXzVdPPzc9XeBkjZU2Hr/F688=; b=U7qMZKXccS9FNhCAooTSNIji8UYgUWgeRzXjsDic1JsrHqjn0hDCIjJe/685HG3q5i R+XZrDsPU0jeC4BL4ie+kc/xEPSLnZi8ivdrW7Qm/Fj/Y8lR3w/QnyOplaAUKXNeghak CRvK14TsfCDZJ2sn3vdGydeVWPjpHa8pnBTSV3lRJ728fHJ6FxzzdwYK2IQFkqHARTyz mVo/wvwe7Fw+6qFOOP2yqBOuD2m93yFjYiWea2yKYYF/Y8LYsXbV4RC68fbj+rd5yyPH gPZINOsufo7DF2MDP4SSa5CVOtL8/AOwJk8YuXss/jwTDVzcBvvdQbLg2K3IsMqmbabJ oPQw==
X-Received: by 10.236.114.11 with SMTP id b11mr53893547yhh.61.1357276522220; Thu, 03 Jan 2013 21:15:22 -0800 (PST)
Received: from [192.168.2.115] (cpe-72-181-157-19.tx.res.rr.com. [72.181.157.19]) by mx.google.com with ESMTPS id j25sm52558720yhm.13.2013.01.03.21.15.21 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 03 Jan 2013 21:15:21 -0800 (PST)
From: Dean Willis <dean.willis@softarmor.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: I'm struggling with 2219 language again
Message-Id: <7ED55FF1-3E1A-4DF7-918E-07790517B848@softarmor.com>
Date: Thu, 03 Jan 2013 23:15:20 -0600
To: ietf@ietf.org
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
X-Mailer: Apple Mail (2.1499)
X-Gm-Message-State: ALoCoQmmA9N/aaGPu0CRXIqomMOYUGgbMhBIgnJutZi2ftZBMUp/XHY65Ja+Bw3HPNTp2wwaOzRw
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 05:15:23 -0000

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