Internet-Draft | Limited Mutability for RFCs | August 2023 |
Daley | Expires 3 March 2024 | [Page] |
The environment in which RFCs are produced has changed significantly since the inception of the series: the process for producing RFCs is now a heavyweight process; there is a large and growing set of errata, many with serious implications; and the expectations around the use of RFCs have changed significantly as document technology has evolved. In this new environment, the long-standing principle of immutability of RFCs, prevents the RFC Series from achieving its goals of technical excellence and easily understood documentation. This document addresses that by identifying a possible way forward of a new principle of limited mutability for the RFC Series that allows the publishing of new versions of RFCs in limited circumstances, replacing the principle of immutability.¶
This note is to be removed before publishing as an RFC.¶
This document is written by the IETF Executive Director, an employee of the IETF Administration LLC, whose role excludes them from having any direct influence on the Internet standards process. This document is intended as a discussion document for the RSWG about the overall RFC Series, and therefore broader than the Internet standards process, though inevitably it will have an influence on the Internet standards process if adopted. Given that potential, the IETF Chair has given permission for this author to produce this document as a discussion document.¶
Status information for this document may be found at https://datatracker.ietf.org/doc/draft-daley-rswg-limited-mutability/.¶
Discussion of this document takes place on the RFC Series Working Group Editorial Stream Working Group mailing list (mailto:[email protected]), which is archived at https://mailarchive.ietf.org/arch/browse/rswg/.¶
Source for this draft and an issue tracker can be found at https://github.com/JayDaley/draft-daley-rswg-limited-mutability.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 3 March 2024.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
The RFC Series has a long established principle of immutability as documented in Section 2.1 of [RFC2026], Section 2.2 of [RFC8153] and Section 7.6 of [RFC9280].¶
This principle was entirely appropriate when the series first began. The process for authoring and publishing an RFC was lightweight and, as those initial RFCs were typed up and distributed in hard copy, it was neither practical nor necessary to issue corrected versions. Even after RFCs switched to an electronic format, for many years the process for authoring and publishing an RFC was sufficiently lightweight that any serious error in an RFC could be corrected by publishing a new RFC.¶
The environment around the RFC Series has gradually transitioned and is now very different in three key aspects:¶
For the bulk of RFCs, the process for authoring and publishing is now intentionally a heavyweight process. This change began most notably with [RFC2026] and continued with many subsequent updates to the process. [RFC2026] set out some principles that determined the need for a heavier weight process, two of which are particularly relevant here:¶
The RFC Series now faces a number of problems relating to immutability.¶
The first and most serious of these is that there are many published RFCs that are known to contain serious errors and are being actively used by implementers and others who are entirely unaware of this. While there have been experiments in displaying RFCs with inline errata, no serious attempts have been made to ensure that implementers or other consumers of RFCs are not misled by these errors. This current position violates the two principles from RFC 2026 above - RFCs with known serious errors are neither technically excellent nor easily understood.¶
The second is that the use of XML as the canonical source format has created a new “layer” to the RFCs, the markup layer, that has its own set of issues and opportunities including:¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The following new principle is presented as a possible way forward to address these concerns, while avoiding a radical change to the RFC Series with all the implications of such a change.¶
The new principle for the RFC Series is limited mutability, which replaces the previous principle of immutability. This principle is stated as follows:¶
With limitations, and solely to correct original errors, or to maintain the utility of the metadata, markup, layout and renderings, of an RFC, a new version of an RFC or a new version of an existing rendering, MAY be published, replacing the previously published RFC or rendering.¶
The key definitions of terms in this principle are as follows:¶
An 'original error is an error in the content that, had it been discovered before the publication of the RFC, would have been corrected by the authors. Original errors are in one of three categories:¶
The general limitation of this principle is to restrict publication of new versions to the only those absolutely necessary to maintain correctness and utility, which leads to the following more detailed limitations:¶
Correctness and utility are measured as follows, though more detailed or more applicable measures may be developed over time:¶
The following notes are provided to explain certain choices in the development of this principle.¶
A specific minimum time period between publications is intentionally not provided as this may change as expectations of RFC consumers change, and because it would need to be different for different renderings. For example, the HTML or HTML-ised rendering of an RFC could change much more frequently than the PDF rendering while still meeting the limitations above.¶
Under this policy, when one RFC updates another that cannot result in a content change in the updated RFC. Updates do not always specify the precise text to change and even when they do, they rarely provide a clear statement of the new text. It would therefore require an entirely new process to determine the exact text to change, which is out of scope for this document.¶
Discussions in the RSWG indicate that a number of changes are needed before the information produced by the current errata system can be used to identify the 'original errors' that can be applied under this new principle. These changes include:¶
As an erratum may now be used to publish a new version of an RFC:¶
It is out of scope for this document to design a new errata system that incorporates these changes.¶
This document intentionally leave several implementation details unspecified as these are best considered operational matters for the RFC Editor to determine:¶
Adoption of this new principle could to lead to the following:¶
If this principle were adopted then that would mean updating [RFC2026] (Section 2.1), [RFC8153] (Section 2.2) and [RFC9280] (Section 7.6) to note that RFCs are now mutable in limited circumstances.¶
This document includes no request to IANA.¶
The implementation of the new principle identified in this document would enhance the security of the Internet by reducing the number of occasions when an implementer is presented with an RFC with serious errors in it.¶
This document was only possible after many conversations with Alexis Rossi, Alice Russo, Brian Carpenter, Jean Mahoney. John Levine, Martin Thomson, Paul Hoffman, Robert Sparks, Sandy Ginoza and Stephen Farrell and email exchanges with Steve Crocker and Scott Bradner.¶