Re: I'm struggling with 2219 language again

Ben Campbell <ben@nostrum.com> Fri, 04 January 2013 21:58 UTC

Return-Path: <ben@nostrum.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 16BAA21F8877 for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 13:58:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.6
X-Spam-Level:
X-Spam-Status: No, score=-102.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, SPF_PASS=-0.001, 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 6uLmtOOSCQfs for <ietf@ietfa.amsl.com>; Fri, 4 Jan 2013 13:58:25 -0800 (PST)
Received: from shaman.nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by ietfa.amsl.com (Postfix) with ESMTP id 4AFB421F8A71 for <ietf@ietf.org>; Fri, 4 Jan 2013 13:58:25 -0800 (PST)
Received: from [10.119.77.186] (173.234.16.19.rdns.ubiquityservers.com [173.234.16.19] (may be forged)) (authenticated bits=0) by shaman.nostrum.com (8.14.3/8.14.3) with ESMTP id r04LwD6b092983 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 4 Jan 2013 15:58:17 -0600 (CST) (envelope-from ben@nostrum.com)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
Subject: Re: I'm struggling with 2219 language again
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <156C25BD-1769-44C5-87B1-3BD670A1B2E0@bbn.com>
Date: Fri, 04 Jan 2013 15:58:11 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <AB205837-7A8A-4FBE-B52E-82807ACF16CB@nostrum.com>
References: <7ED55FF1-3E1A-4DF7-918E-07790517B848@softarmor.com> <50E719DA.1040709@internet2.edu> <50E71C24.1000701@stpeter.im> <156C25BD-1769-44C5-87B1-3BD670A1B2E0@bbn.com>
To: Richard Barnes <rbarnes@bbn.com>
X-Mailer: Apple Mail (2.1499)
Received-SPF: pass (nostrum.com: 173.234.16.19 is authenticated by a trusted mechanism)
Cc: 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 21:58:44 -0000

I generally take (what I infer to be) Richard's view on the matter.  If not doing something will break interoperability or security, then make it normative. (I realize that's a gross oversimplification).

But that still doesn't mean you have to have a MUST for every step an implementation has to take. To take Dean's original example, I think it makes sense to say the implementation "... MUST send a response according to the following procedures..." then describe the procedure without peppering it with 2119 language,  except for special cases when needed for emphasis or clarity. This seems to cover the risk of people not implementing stuff, but still avoids an explosion of MUSTs (and the resulting requirements matrix).

Sticking with Dean's example, the use of TLS might qualify as one of the special cases needing additional normative emphasis, but you can always say something like "... MUST send all message over TLS" once, rather than restate it for every message.


On Jan 4, 2013, at 1:04 PM, Richard Barnes <rbarnes@bbn.com> wrote:

> Anecdotal data point number N+1...
> 
> As an occasional implementor of IETF specs, I have to say it's much easier to check my conformance if I can just grep for "MUST" and "SHOULD".  It's also easy for developers to get in the bad habit of ONLY doing those things that are clearly marked in that way.  So ISTM that if you're not tagging things you want done with RFC 2119 language, then you're risking people not implementing them.
> 
> 
> 
> On Jan 4, 2013, at 1:15 PM, Peter Saint-Andre <stpeter@stpeter.im> wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> 
>> Wonderful perennial topic. :)
>> 
>> As I always say when this comes up, when writing drafts I've settled
>> on using the 2119 keywords only in their uppercase form, and otherwise
>> using "need to", "ought to", "might" (etc.) to avoid all possible
>> confusion. Sure, it's a bit stilted, but we're not writing gorgeous
>> prose here, we're writing technical specifications that need to be
>> completely clear.
>> 
>> Peter
>> 
>> - --
>> Peter Saint-Andre
>> https://stpeter.im/
>> 
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
>> Comment: Using GnuPG with undefined - http://www.enigmail.net/
>> 
>> iEYEARECAAYFAlDnHCQACgkQNL8k5A2w/vxKmwCfXKjDtMqQiPp4a0udOB8Q9IbA
>> q9QAoNiXj2r/q4yRLp0B/13m6Xxg5YN4
>> =3PER
>> -----END PGP SIGNATURE-----
>