RFC5222 defined an https based protocol. The draft adds an optional parameter and it adds a new interface.  It also defines an alternative form of schema.  Any implementation of RFC5222 that exists now, or built in the future would be interoperable with any other implementation of that RFC.    If any implementation, old or new, is extended with the new optional parameter, it will interoperate with any other implementation. 

So you don’t need to know about the new document interoperate with any other implementation, whether that implementation has the new parameter or interface.

I claim that the new document doesn’t Update 5222.  But because it adds a new, optional parameter and interface, one of the chairs thinks it does.  Depends on how
you define “Updates”.   It Extends it. It doesn’t Amend it. 

Brian

On Jul 4, 2026, at 2:23 PM, Eliot Lear <[email protected]> wrote:



Excellent.  A worked example.  Can you say more about dispute and which draft is in question?

For context, Barry's rule as I understand it is simple: if a draft requires an implementation to vary its behavior from a previously issued RFC using that RFC as a base, then an Updates tag is needed, and an explanation of why the Updates tag is there must be present in the front matter.

Examples: 

  • RFC XYZ defines flags a, b, and c in the protocol and leaves some reversed bits for future flags.  draft-jones-use-flag-c-this-way changes the implementation behavior when flag c is seen, then draft-jones-use-flag-c-this-way must Update RFC XYZ.
  • draft-smith-flag-d adds a new flag d.  It too must Update RFC XYZ and say why it is doing so in the front matter.
  • RFC PDQ has a code point registry.  draft-levy-some-new-thing defines a code point in that registry that requires a new exchange (think SMTP EHLO tags).  The new behavior does NOT require an Updates header, because the code point is already a signal for new behavior, and non-compliant implementations simply don't invoke it.

There are some corner cases, like when participants in an exchange are not directly connected (think email headers, for instance), or perhaps downstream BGP peers?  Those cases require some care, regardless of the tag.

Eliot

On 04.07.2026 11:42, Brian Rosen wrote:

We are VERY inconsistent on Updates.  Some, including me, believe Updates changes something about the prior work. Others believe that it informs readers that there is prior relevant work. The example is a simple extension. The extension adds capability, does not change anything to the updated RFC.  So does the document that describes the function extension Update or not?  I have a draft that presents this very issue. One chair believes that Updates is needed. I, and the relevant AD do not. We should not be in this situation.   I think an Extends label is precisely what it needed, and some label should be used  in a draft that makes some actual change.  Amends works for me.   

Brian

On Jul 4, 2026, at 9:43 AM, Eliot Lear <[email protected]> wrote:



&TL;DR; the cure will cause interoperability problems.

I appreciate the attempt to clarify semantics, but I don't think this document is a good starting point for the following reasons:

  • Nobody outside our little lot is going to understand the differences between extends and amends, so this will just add confusion to the reader.  The scariest version of this would be use of any two or even three of these tags.
  • If they actually understand Amends, the result will be conformance chaos.  People claim conformance to and interoperability with, a specification (e.g., an RFC).  You cannot retroactively determine that they no longer claim compliance with that spec through some other spec.  Either they do or they don't.
  • Amends seems to invite backward incompatibility and interoperability failure.  With so many decades of experience, that should be done sparingly and with great consideration.  When it happens, the best approach is create a new spec and obsolete the old one.
  • Extends seems to attempt to obviate appropriate use of code point registries and IANA, inviting sloppy specifications, knowing that "we can just Extend it later".  If appropriate use of code points is used, Extends is not needed.

I would not deny that there are inconsistencies with Updates.  Let's just fix that.  In fact, I thought Barry Leiba had created a best practice for that by saying that when you Update a specification you have to say how you update it in the front matter.  Are we still so inconsistent in Updates' use?

Eliot

<OpenPGP_0x87B66B46D9D27A33.asc>
--
rswg mailing list -- [email protected]
To unsubscribe send an email to [email protected]

<OpenPGP_0x87B66B46D9D27A33.asc>
--
rswg mailing list -- [email protected]
To unsubscribe send an email to [email protected]
-- 
rswg mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to