Re: Proposed IESG Statement on the use of the “Updates” header

Robert Sparks <> Tue, 11 September 2018 21:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A241A130DF1; Tue, 11 Sep 2018 14:07:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ouq9rJUKK-QE; Tue, 11 Sep 2018 14:06:59 -0700 (PDT)
Received: from ( [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B5701130DE5; Tue, 11 Sep 2018 14:06:59 -0700 (PDT)
Received: from unescapeable.local ([]) (authenticated bits=0) by (8.15.2/8.15.2) with ESMTPSA id w8BL6vRG083798 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 11 Sep 2018 16:06:58 -0500 (CDT) (envelope-from
X-Authentication-Warning: Host [] claimed to be unescapeable.local
Subject: =?UTF-8?Q?Re:_Proposed_IESG_Statement_on_the_use_of_the_=e2=80=9cUp?= =?UTF-8?B?ZGF0ZXPigJ0gaGVhZGVy?=
To: Brian E Carpenter <>, Ben Campbell <>,
Cc: The IESG <>
References: <> <> <>
From: Robert Sparks <>
Message-ID: <>
Date: Tue, 11 Sep 2018 16:06:57 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 11 Sep 2018 21:07:02 -0000

On 9/11/18 3:56 PM, Brian E Carpenter wrote:
> On 2018-09-12 06:08, Robert Sparks wrote:
>> I can live with this statement, but I don't like it.
>> I'm in the camp that prefers the more specific "This changes the code
>> you need to write" camp - I would prefer Update be restricted to the
>> cases where you are changing the protocol defined in the updated
>> document in an essential way.
> The IAB already opined indirectly on this topic.
> says:
>>>>     Extension designers should examine their design for the following
>>>>     issues:
>>>>     1.  Modifications or extensions to the underlying protocol.  An
>>>>         extension document should be considered to update the underlying
>>>>         protocol specification if an implementation of the underlying
>>>>         protocol would need to be updated to accommodate the extension.
>>>>         This should not be necessary if the underlying protocol was
>>>>         designed with a modular interface.
> (followed by more detailed discussion).
> I'm not sure the IESG text is 100% compatible with this.
>> nor do they, by themselves, imply that implementers must implement the updating RFC to continue to comply with the updated one.
> seems to be going to far. It may be the intent of the update that
> implementations *need* to be updated, because the update fixes a bug.
> In that case, "updates" really means "partially obsoletes".
> Another point: the statement is scoped to the IETF stream.
And it's currently standards-track-centric. The text doesn't work well 
when considering an update of, say, RFC7957 (an IETF-stream process 
> But it would
> be much better if all RFC streams use the same semantics. I'd like to
> hear from the RFC Series Editor on this.
>       Brian
>> The use of extension points doesn't cross
>> that bar. So, count me as against everything in the second paragraph
>> beyond the first sentence.
>> That said, I again note that I can live with what's proposed.
>> RjS
>> p.s. I assume you've rehashed previous IESGs discussions of adding a
>> "See Also" relationship?
>> On 9/11/18 10:55 AM, Ben Campbell wrote:
>>> Hi Everyone,
>>> There have been several discussions lately about the use and meaning of the “Updates” header in RFCs, and the resulting “Updates”/“Updated by” relationships. The IESG is thinking about making the following statement, and solicits feedback.
>>> Thanks!
>>> Ben.
>>> --------------------------------------------
>>> There has been considerable confusion among the IETF community about the formal meaning of the “Updates” / "Updated by" relationship in IETF stream RFCs. The “Updates” header has been historically used for number of reasons of various strength. For example, the “Updates” header may be used to indicate critical normative updates (i.e. bug fixes), optional extensions, and even “additional information”.
>>> The IESG intends these headers to be used to inform readers of an updated RFC that they need to be aware of the RFC that updates it. The headers have no formal meaning beyond that. In particular, the headers do not, by themselves, imply a normative change to the updated RFC, nor do they, by themselves, imply that implementers must implement the updating RFC to continue to comply with the updated one.
>>> The specific reasons that a given RFC updates another should be described in the abstract and body of the new RFC. The level of detail may differ between the abstract and the body; typically an abstract should contain enough detail to help readers decide if they need to read the rest of the RFC. The body should contain enough detail for readers to fully understand the nature of the update.
>>> The importance of including an “Updates” header depends on the nature of the update. Normative updates that do not use a known extension point should always include an “Updates” header. Extensions that do use known extension points do not typically need to include the “Updates” header, but may in cases where it’s important to make the extension known to readers of the original RFC. Other uses of “Updates” may be appropriate when it’s important for readers to know about them; for example a new RFC may expand security or operational considerations in a way that is not normative, but still important.
>>> RFCs that fully replace other RFCs should typically use the “Obsoletes” header rather than the “Updates” header. The “Updates” header should be used to flag updates to published RFCs; it is not appropriate to “Update” an Internet-Draft.