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

Ben Campbell <> Tue, 11 September 2018 18:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B71BE130F2C; Tue, 11 Sep 2018 11:52:34 -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 nej-mITye7co; Tue, 11 Sep 2018 11:52:31 -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 5FAEA130F53; Tue, 11 Sep 2018 11:52:27 -0700 (PDT)
Received: from [] ( []) (authenticated bits=0) by (8.15.2/8.15.2) with ESMTPSA id w8BIqNox061800 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 11 Sep 2018 13:52:26 -0500 (CDT) (envelope-from
X-Authentication-Warning: Host [] claimed to be []
From: Ben Campbell <>
Message-Id: <>
Content-Type: multipart/signed; boundary="Apple-Mail=_3AF37670-0C44-4F55-9188-8997E03E1BB2"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Subject: =?utf-8?Q?Re=3A_Proposed_IESG_Statement_on_the_use_of_the_?= =?utf-8?Q?=E2=80=9CUpdates=E2=80=9D_header?=
Date: Tue, 11 Sep 2018 13:52:21 -0500
In-Reply-To: <013501d449fe$b0c8fdb0$125af910$>
Cc: Robert Sparks <>,, The IESG <>
References: <> <> <013501d449fe$b0c8fdb0$125af910$>
X-Mailer: Apple Mail (2.3445.9.1)
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 18:52:39 -0000

Hi Adrien,

The question of compliance came up in internal IESG discussion.

I think that whenever “compliance” comes up in discussion, we are off-mission. RFCs exist to enable interoperability. Whether an implementation complies with an RFC is a red herring; what matters is if it interoperates with other implementations. From that perspective, I think questions about whether an implementation continues to “comply” are irrelevant.

The point is to give implementors enough information to decide if they need to apply an update. In some cases they may need to do so to continue to interoperate in the future, or to improve interoperability with other implementations. We don’t think questions like that can be fully answered by the Updates header alone; that’s why we ask that the updating RFC contain enough information to answer them.



> On Sep 11, 2018, at 1:38 PM, Adrian Farrel <>; wrote:
> Pretty much agree with Robert here.
> Can live with it, and some rule will be more helpful than no rule.
> But there may be an issue caused by talking about "complying with an RFC". What we want to do is implement protocols in a way that ensures interoperability. So what Robert says about "changing the protocol defined in the updated document in an essential way" is the language I'd prefer.
> I guess people are worried that their "compliant" implementation will suddenly be declared "non-compliant" by the publication of an "Update". That's a good worry, but we should recall that if a spec is broken, then the implementation is also broken and claiming compliance won't help. So, yes, adding features in a backward compatible way is not an Update.
> As I said, and just like Robert, I can live with what's proposed. Just would prefer it different.
> Thanks,
> Adrian
>> -----Original Message-----
>> From: ietf [] On Behalf Of Robert Sparks
>> Sent: 11 September 2018 19:09
>> To: Ben Campbell;
>> Cc: The IESG
>> Subject: Re: Proposed IESG Statement on the use of the “Updates” header
>> 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 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.