Network Working Group A. Roach Internet-Draft Mozilla Intended status: Best Current Practice May 07, 2019 Expires: November 8, 2019 Process for Handling Non-Major Revisions to Existing RFCs draft-roach-bis-documents-00 Abstract This document discusses mechanisms the IETF has historically used for updating RFCs subsequent to their publication, and outlines an updated procedure for publishing newer versions (colloquially known as "bis versions") that is appropriate in certain circumstances. This procedure is expected to be easier for both authors and consumers of RFCs. Status of This Memo 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 http://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 November 8, 2019. Copyright Notice Copyright (c) 2019 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 (http://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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of Roach Expires November 8, 2019 [Page 1] Internet-Draft Minor -bis Document Process May 2019 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Processing for Revised Documents . . . . . . . . . . . . . . 4 3.1. Basic Qualifications . . . . . . . . . . . . . . . . . . 4 3.2. Document Evaluation Process . . . . . . . . . . . . . . . 5 3.3. Deprecated Technology . . . . . . . . . . . . . . . . . . 5 4. Implications for Other Documents . . . . . . . . . . . . . . 6 5. To-Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 9.2. Informative References . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction [RFC2026] defines the Internet Standards Process, largely focusing on the handling of the RFC publication process. Part of this process as originally envisioned includes republication of documents under a number of circumstances, such as when a document is progressed towards Internet Standard status. The circumstances that necessitated republication originally also included various fixes to the contents of the documents; for example, RFC 2026 specifies: [A]n important typographical error, or a technical error that does not represent a change in overall function of the specification, may need to be corrected immediately. In such cases, the IESG or RFC Editor may be asked to republish the RFC (with a new number) with corrections... In the intervening years since the publication of RFC 2026, various additional mechanisms have emerged to deal with minor updates to existing, published RFCs. The RFC Editor maintains a set of errata associated with published documents. These errata are intended for use when the intention of the document can be deduced, but the expression of the intention is imperfect (e.g., it contains a typographical error or is ambiguous in its phrasing). Notably, errata cannot be used to change the intended meaning of a document from that which was originally intended. Roach Expires November 8, 2019 [Page 2] Internet-Draft Minor -bis Document Process May 2019 Additionally, it is increasingly common to publish new, relatively small RFCs whose sole purpose is to update the functioning of an existing RFC. Such documents are frequently formatted in a way that specifies an original text block that is to be replaced with a new text block. In some cases, such as [RFC8035], these documents contain a single straightforward update. In others, such as [RFC8540], several updates are bundled together in a single document. It should be noted that not all such updates are defined in a form that specifies old-text/new-text blocks; for example, [RFC7647] describes updates to an existing document in simple prose, but it is semantically the same as documents that perform text replacement. An unfortunate consequence of this approach to updating RFCs is that consumers of such documents are left with no authoritative, correct version of a document. Instead, they must read the base document, and then mentally apply the updates specified by each successor document that has updated it in this fashion. As a secondary concern, the production of such documents is complicated by the need for authors, contributors, and reviewers to flip back-and-forth between the base document and the updating document; and if multiple RFCs update a base document in sequence, this problem is compounded even further. One major concern that drives these incremental document updates is that an attempt to republish an RFC as originally described in RFC 2026 can result in such an effort being bogged down by issues that exist in text unrelated to the desired changes. Such issues can arise from a change in the consensus of the IETF around best current practices, such as in the areas of security, privacy, or architectural design of an underlying protocol. This complication arises from the fact that processing of an updated full version of an RFC is procedurally identical to processing of a green-field definition of a new protocol: review by the IETF at large, and review by the IESG, are performed on the entire document, leaving legacy text open to comments that will delay - and occasionally block - publication of such documents. In order to address this concern, this document proposes new guidelines intended to reduce the barriers to publication of updated documents, and to reduce the load on reviewers during IETF and IESG review. 2. Terminology 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 Roach Expires November 8, 2019 [Page 3] Internet-Draft Minor -bis Document Process May 2019 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Processing for Revised Documents At a high level, the process described in this document allows bis versions of documents to be processed along with a request to review teams, directorates, the IETF community, and the IESG that any reviews primarily take into consideration the changes to the document, rather than the document as a whole. While these requests do not strictly preclude feedback and discussion of the unchanged portions of bis documents, reviewers are expected to take them under serious consideration. Note that the process described in this document exclusively considers IETF-stream documents. 3.1. Basic Qualifications In order to be considered for the processing described in this document, a bis update needs to satisfy the following criteria: 1. The document must formally obsolete (not update) an existing RFC. 2. The changes from the document being obsoleted must not constitute the majority of the document. This is a subjective evaluation, not a mathematical one. 3. Except as detailed in verified errata, the document does not contain spurious changes (such as reformatting) in sections other than those containing substantive updates. 4. The document SHOULD contain an appendix detailing the changes from the RFC it is replacing. Any change for which the rationale is not abundantly obvious should be explained in this appendix. 5. The publication track of the new document MUST be the same as the document that is being replaced (for example, the process cannot be used when obsoleting an Experimental document with a Standards Track one) 6. The AD sponsoring the document must explicitly approve the use of the process described in this document. Although not a strict qualification, working groups and authors of documents using this process should carefully evaluate all verified errata on the original RFC and all RFCs that formally update the Roach Expires November 8, 2019 [Page 4] Internet-Draft Minor -bis Document Process May 2019 original RFC to determine which, if any, the new document should incorporate. 3.2. Document Evaluation Process When an author or working group wish to request publication of a bis document with targeted review of limited changes, the following considerations are applied. 1. The shepherd's write-up includes a statement indicating that the qualifications outlined in Section 3.1 are satisfied, and asking for the processing described in this document. 2. The "Last-Call notification" that is specified by RFC 2026 section 6.1.2 will include a prominent notification stating: "This document is being published according to the process defined in RFC XXXX. While reading the entire contents of the document will provide useful context to reviewers, the IESG is primarily soliciting input regarding the changed portions of the document at this time". 3. The "Last-Call notification" MUST also include a pointer to a mechanically-generated diff file that exhaustively indicates the changes between the bis document and the document it is obsoleting. 4. As part of the IESG's evaluation of the document, its sponsoring AD will communicate to the IESG that processing is requested according to the procedures in this document. This communication will request that the IESG focus on the changes from the obsoleted RFC. IESG members SHOULD NOT issue DISCUSS or ABSTAIN ballot positions based on unchanged text except as described in Section 3.3. In the rare case that such positions are balloted, they need to balance the scope of changes between existing RFC and bis document against the amount of work required to address potential comments. 3.3. Deprecated Technology One major change that results from the application of the procedure described in this document is that the IETF may re-publish older text that describes approaches to protocol design that are no longer considered safe, advisable, or appropriate. To avoid this re- publication implying an endorsement by the IETF of such deprecated approaches, they MUST be clearly indicated in the "Introduction" section of the document using the following text or text substantially similar to it: Roach Expires November 8, 2019 [Page 5] Internet-Draft Minor -bis Document Process May 2019 This document is a revision of a previously published RFC. Some portions of the text have not been updated and do not meet current best practices for documents published by the IETF. The introduction must then detail each specific technique in the document that would not generally be acceptable in newly-published specifications. Notably, this text might be added by the working group during development of the revision, as a result of IETF Last-Call or directorate reviews, or as part of the IESG evaluation process. The need for such a notice is explicitly considered an acceptable rationale for an IESG member to hold a blocking position on a document ballot. 4. Implications for Other Documents To avoid those usability issues described in Section 1, IETF-stream documents generally SHOULD NOT perform updates to existing RFCs by replacing text in such RFCs (either syntactically via "OLD TEXT"/"NEW TEXT" sections, or semantically by describing changes to protocol processing). Instead, such updates should be performed by publishing new versions of existing RFCs. Note that such new versions do not necessarily need to make use of the process described in this document. There may be exceptional circumstances that warrant simple text replacement rather than new document versions. These cases should be rare and carefully considered; and documents that do so should contain text explaining why the publication of a new version of the updated document is not desirable. 5. To-Do o The text uses phrasing like "the process described in this document" in several places. This is cumbersome. Ideally, we would come up with a short term of art to describe this process. 6. IANA Considerations This document makes no requests of IANA. Authors of documents that use this process should carefully examine the "IANA Considerations" sections of the document they are obsoleting, and ensure that any IANA data pointing to the obsoleted document is updated to instead indicate the new document. Roach Expires November 8, 2019 [Page 6] Internet-Draft Minor -bis Document Process May 2019 7. Security Considerations As stated in Section 3.3, this process may result in the re- publication of techniques, including security techniques, that are no longer considered safe. During development of a bis document, authors and working groups are strongly encouraged to update such outmoded security approaches in favor of more modern ones. It should be noted that, while the process introduced by this document does not necessarily improve this situation, it is carefully designed to also not exacerbate the status quo. Absent this process, the historical approach of issuing documents that update small portions of older RFCs would continue, and such outmoded security techniques would remain equally in effect. 8. Acknowledgments Thanks to Ben Campbell and Joe Hildebrand for early conversations that helped inform the contents of this document, and to the 2019 members of the IESG for helping to refine some of the more subtle points of handling deprecated approaches. 9. References 9.1. Normative References [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 9.2. Informative References [RFC7647] Sparks, R. and A. Roach, "Clarifications for the Use of REFER with RFC 6665", RFC 7647, DOI 10.17487/RFC7647, September 2015, . Roach Expires November 8, 2019 [Page 7] Internet-Draft Minor -bis Document Process May 2019 [RFC8035] Holmberg, C., "Session Description Protocol (SDP) Offer/ Answer Clarifications for RTP/RTCP Multiplexing", RFC 8035, DOI 10.17487/RFC8035, November 2016, . [RFC8540] Stewart, R., Tuexen, M., and M. Proshin, "Stream Control Transmission Protocol: Errata and Issues in RFC 4960", RFC 8540, DOI 10.17487/RFC8540, February 2019, . Author's Address Adam Roach Mozilla Email: adam@nostrum.com Roach Expires November 8, 2019 [Page 8]