Network Working Group P. Hoffman Internet-Draft ICANN Updates: 7990 (if approved) 8 August 2022 Intended status: Standards Track Expires: 9 February 2023 RFC Format Framework As Implemented draft-hoffman-rfc-format-framework-as-implemented-00 Abstract RFC 7990 "serves as the framework that provides the problem statement, lays out a road map of the documents that capture the specific requirements, and describes the transition plan" for the format of RFCs. The eventual implementation of the framework happened somewhat differently than was described in RFC 7990. This document describes how the framework was, and is being, implemented. It updates RFC 7990 by changing the definition of the "canonical format". 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 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 9 February 2023. Copyright Notice Copyright (c) 2022 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. Code Components Hoffman Expires 9 February 2023 [Page 1] Internet-Draft Format Framework August 2022 extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Multiple XML v3 Vocabularies . . . . . . . . . . . . . . . . 2 3. Rendering RFCs in HTML, Plain Text, and PDF . . . . . . . . . 3 4. Updated Definition of "Canonical Format" . . . . . . . . . . 3 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 7.1. Normative References . . . . . . . . . . . . . . . . . . 4 7.2. Informative References . . . . . . . . . . . . . . . . . 4 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction [RFC7990], published in December 2016, defined a framework for how RFCs would be published in the future, including new formats and a new canonical format for archiving RFCs. The first RFC to be published using the framework was [RFC8651], published in October 2019. In the time since then, the new framework has been applied to all published RFCs. The implementation of the framework did not go completely as planned. The canonical format changed many times between the publication of [RFC7991] and now, and is expected to change more times in the future. Similarly, the software used to generate the non-canonical HTML, plain text, and PDF formats also changed during that time. This document describes how the RFC format framework was actually implemented. This document also updates [RFC7990] in that it changes the definition of the canonical format for RFCs. This document explicitly does not update the other documents referenced in [RFC7990], but it does describe how the implementation of the formats for the RFC series has differed from that described in [RFC7990]. 2. Multiple XML v3 Vocabularies The RFC Editor has changed the XML v3 vocabulary used to generate RFCs many times since the publication of [RFC7991]. The XML grammars used are currently cataloged at https://github.com/rfc-format/ v3grammar (https://github.com/rfc-format/v3grammar). [[ It would probably be good to move that list and all of the files to rfc- editor.org ]] This means that different RFCs were published using different XML grammar. In every case so far, the newer grammar has Hoffman Expires 9 February 2023 [Page 2] Internet-Draft Format Framework August 2022 been a superset of the previous grammar so that all of the RFCs published earlier would be valid in the newest grammar. The current vocabulary is published as https://datatracker.ietf.org/doc/draft-irse-draft-irse- xml2rfcv3-implemented/ (https://datatracker.ietf.org/doc/draft-irse- draft-irse-xml2rfcv3-implemented/). [[ It would probably be good to move that document to rfc-editor.org ]] 3. Rendering RFCs in HTML, Plain Text, and PDF The rendering of the non-canonical formats evolved after the initial implementation of the framework. Thus, accessing the files for the non-canonical formats would get different results over time. The rendering is expected to continue to change in the future. 4. Updated Definition of "Canonical Format" Section 3 of [RFC7990] defines the canonical format as: Canonical format: the authorized, recognized, accepted, and archived version of the document That definition is the only place in [RFC7990] that uses the word "archived" or "archive". [RFC6949] uses the word in a fashion similar to [RFC7990]. [RFC6635], the earlier model for the RFC Editor as a whole, says "The archive of RFC documents, any source documents needed to recreate the RFC documents, and any associated original documents (such as lists of errata, tools, and, for some early items, originals that are not machine readable) need to be secured against any kind of data storage failure." These definitions never explicitly state that the initial archived version of a document must never change. However, some people in the IETF community have said that they make that assumption. Others say that the archived version can change to fix XML format errors as long as the underlying meaning of the text does not change. At the time that this document is written, the RFC Editor has not changed the XML files for RFCs after they were published. The definition of "canonical format" in Section 3 of [RFC7990] is updated to be: Canonical format: the authorized, recognized, accepted, and most recent archived version of the document Section 5 of [RFC7990] says: Hoffman Expires 9 February 2023 [Page 3] Internet-Draft Format Framework August 2022 The final XML file produced by the RFC Editor will be considered the canonical format for RFCs; it is the lowest common denominator that holds all the information intended for an RFC. This wording does not take into account the need to change the XML file to fix XML errors. XML format errors, and better design choices, have been discovered by the community since the first RFCs were published using the XML format. In order to allow the RFC Editor to publish correct XML for all RFCs, Section 5 of [RFC7990] is updated to say: The XML file produced by the RFC Editor will be considered the canonical format for RFCs; it is the lowest common denominator that holds all the information intended for an RFC. The RFC Editor may change the file over time to incorporate changes in the XML format. THe RFC Editor must also make available all earlier versions of the XML file. [[ There is no need to bikeshed how the RFC Editor will make these available. They will propose a method, and the community will tell them if that's OK. ]] 5. IANA Considerations This document has no IANA considerations. 6. Security Considerations This document has the same security considerations as [RFC7990]. Those are: Changing the format for RFCs involves modifying a great number of components to publication. Understanding those changes and the implications for the entire tool chain is critical so as to avoid unintended bugs that would allow unintended changes to text. Unintended changes to text could in turn corrupt a standard, practice, or critical piece of information about a protocol. 7. References 7.1. Normative References [RFC7990] Flanagan, H., "RFC Format Framework", RFC 7990, DOI 10.17487/RFC7990, December 2016, . 7.2. Informative References Hoffman Expires 9 February 2023 [Page 4] Internet-Draft Format Framework August 2022 [RFC6635] Kolkman, O., Ed., Halpern, J., Ed., and IAB, "RFC Editor Model (Version 2)", RFC 6635, DOI 10.17487/RFC6635, June 2012, . [RFC6949] Flanagan, H. and N. Brownlee, "RFC Series Format Requirements and Future Development", RFC 6949, DOI 10.17487/RFC6949, May 2013, . [RFC7991] Hoffman, P., "The "xml2rfc" Version 3 Vocabulary", RFC 7991, DOI 10.17487/RFC7991, December 2016, . [RFC8651] Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link Exchange Protocol (DLEP) Control-Plane-Based Pause Extension", RFC 8651, DOI 10.17487/RFC8651, October 2019, . Author's Address Paul Hoffman ICANN Email: paul.hoffman@icann.org Hoffman Expires 9 February 2023 [Page 5]