Re: New Version Notification for draft-leiba-rfc2119-update-00.txt

Brian E Carpenter <> Sat, 13 August 2016 04:26 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CEF2012D0AF for <>; Fri, 12 Aug 2016 21:26:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id pYN-KDYbS11J for <>; Fri, 12 Aug 2016 21:26:35 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400e:c03::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7F6D312B03C for <>; Fri, 12 Aug 2016 21:26:35 -0700 (PDT)
Received: by with SMTP id ti13so1782357pac.0 for <>; Fri, 12 Aug 2016 21:26:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=subject:to:references:from:organization:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=fs/dd1rjX/R4Tl/J1qDUytx6MjuuGLLbwYsnmJA0UQY=; b=oX4IefLAEaiGP4Imu+y3WvBIYfbGZ70Mk5iL8uO1c94QGjaYPHenCWexnueRaIBqU+ quHb2ZdKyDs7vT1cxHTKOTBQkiC0nU0VW8lwE2xQFfn763Gp7oA9RuXKAxbG8ciAk0if 8iQIL4OKkbCgUnpi2/HNrKjnrIoTNUWWcXKsYvxiOV0751IIf1a3rKjfGdaTcozNlXod JJYaNQTmrWc345xRgDZNQbJmu784IyA5XZWUZ/wRcDMJqJZ+QSnR7qwx7LkiEeHGbCp1 WHSbLhB++XWwCGQEp9QBg6HnFgjt0uUWaDaqo95l/eyDcI8djR0rwVvxp2k+ZX/CAnCn UvgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:subject:to:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding; bh=fs/dd1rjX/R4Tl/J1qDUytx6MjuuGLLbwYsnmJA0UQY=; b=lzJtyshp/ilDLV0NEXZA5zFdbcFGkNZngkk32JJgTpgHZrZRTF/lPLyREgLj4yJyFZ R9jayoImmDeUKd+bu7LZtIBxyl82shCCcyIxcBdqwtk7EiXRH76DhceL25HhFjIzFt6z zzMnCOdXJS6UMZ2Tuw0xHTjBOHGZ4XMImzc5uwVClzlj+u8IF5Jc4JfD44JF2BqyRDED JBu3SFjmhye1IpBn9nZMCWhS3n7OWx2LM4trDCdKS6S4hEGm7Im8cHhu/xgKMxq14iiE TtJhTOZiIPBEnzGmpgqbSQd7BieW0Zk9exKljyhLrWoPp6GKsHJkXEQVaGu6EEVaa6HO l1/g==
X-Gm-Message-State: AEkoouuY5tmibP5hD8QYX3ZeVYvl+IjE5WCg+CVrcLd66e5+TczGkb5ysUPyKQ7Nw/BX6w==
X-Received: by with SMTP id oq11mr33155496pab.4.1471062394906; Fri, 12 Aug 2016 21:26:34 -0700 (PDT)
Received: from ?IPv6:2406:e007:5003:1:28cc:dc4c:9703:6781? ([2406:e007:5003:1:28cc:dc4c:9703:6781]) by with ESMTPSA id cf1sm16508693pac.20.2016. for <> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Aug 2016 21:26:33 -0700 (PDT)
Subject: Re: New Version Notification for draft-leiba-rfc2119-update-00.txt
References: <> <> <> <> <>
From: Brian E Carpenter <>
Organization: University of Auckland
Message-ID: <>
Date: Sat, 13 Aug 2016 16:26:43 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Archived-At: <>
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 13 Aug 2016 04:26:37 -0000

On 13/08/2016 11:13, Pete Resnick wrote:
> On 11 Aug 2016, at 6:44, Stewart Bryant wrote:
>> Optional is useful in a requirements RFC.
>> Feature x is REQUIRED
>> Feature y is OPTIONAL
> One last (and perhaps fruitless) attempt to keep this section and 
> deprecate the adjectives:
> Using REQUIRED and OPTIONAL results in exactly the problem of using 
> passive voice anywhere: REQUIRED by whom? OPTIONAL for whom?

I think that overstates the case. Certainly, they will be used as part of
a passive construct, but I really can't see a problem with something like:

The foobar header is OPTIONAL but the barfoo header is REQUIRED in all messages.

Of course, I could construct an equivalent sentence using MAY and MUST.
However, I think the adjectives are also useful in feature lists:

foobar  OPTIONAL
barfoo  REQUIRED
foobra  OPTIONAL


> If you say,
> "A MUST do X and B MAY do Y", it is perfectly clear which actor is 
> responsible (and in network protocols there are inevitably at least 2). 
> If you say "X is REQUIRED and Y is OPTIONAL", you'll end up needing more 
> text to explain the actors and their roles.
> Using REQUIRED and OPTIONAL is lazy. It makes specs less clear. They 
> ought to be dropped.
> pr