Internet-Draft Format Framework August 2022
Hoffman Expires 9 February 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-hoffman-rfc-format-framework-as-implemented-00
Updates:
7990 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Author:
P. Hoffman
ICANN

RFC Format Framework As Implemented

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.

Table of Contents

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. [[ 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 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/. [[ 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:

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:

Section 5 of [RFC7990] says:

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:

[[ 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, , <https://www.rfc-editor.org/info/rfc7990>.

7.2. Informative References

[RFC6635]
Kolkman, O., Ed., Halpern, J., Ed., and IAB, "RFC Editor Model (Version 2)", RFC 6635, DOI 10.17487/RFC6635, , <https://www.rfc-editor.org/info/rfc6635>.
[RFC6949]
Flanagan, H. and N. Brownlee, "RFC Series Format Requirements and Future Development", RFC 6949, DOI 10.17487/RFC6949, , <https://www.rfc-editor.org/info/rfc6949>.
[RFC7991]
Hoffman, P., "The "xml2rfc" Version 3 Vocabulary", RFC 7991, DOI 10.17487/RFC7991, , <https://www.rfc-editor.org/info/rfc7991>.
[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, , <https://www.rfc-editor.org/info/rfc8651>.

Author's Address

Paul Hoffman
ICANN