Internet-Draft Format Framework June 2023
Hoffman Expires 4 December 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-rswg-rfc7990-updates-00
Updates:
7990 (if approved)
Published:
Intended Status:
Informational
Expires:
Author:
P. Hoffman
ICANN

Updated RFC Format Framework

Abstract

This document updates RFC 7990 by changing the definition of the "canonical format" for RFCs and describing the archival versions of RFCs in more depth.

This draft is part of the RFC Series Working Group (RSWG); see https://datatracker.ietf.org/edwg/rswg/documents/. There is a repository for this draft at https://github.com/paulehoffman/draft-rswg-rfc7990-updates. Issues can be raised there, but probably should be on the mailing list instead.

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 4 December 2023.

Table of Contents

1. Introduction

[RFC7990] defines a framework for how RFCs would be published after that document was published, including new formats and a new canonical format for archiving RFCs. It talks about "the XML file" as if there will only be one XML file for an RFC because this was the expectation at the time [RFC7990] was published.

The first RFC to be published using the group of RFCs described in [RFC7990] was [RFC8651], published in October 2019. In the time since then, all published RFCs have followed the general plan from [RFC7990].

After extensive experience with publishing RFCs in the XML format, it has been decided that an RFC's XML file can be updated for narrowly limited purposes. This document updates [RFC7990] in that it changes the definition of the canonical format for RFCs and lists the purposes which can cause the RFC Editor to change the contents of the XML file. This document also specifies that older versions of the XML file for an RFC are archived and made available for historical purposes.

This document explicitly does not update the other documents referenced in [RFC7990].

[[ Jay Daley would like to use "RFCXML" instead of "XML" because we are describing a very specific XML language that is used. ]]

2. Updated Definition of "Canonical Format" and "Archive"

Section 3 of [RFC7990] defines the canonical format as:

The definition of "canonical format" in Section 3 of [RFC7990] is updated to be:

[[ Another option: the XML document published by the RFC Editor in the most recent version of the XML format ]]

Section 5 of [RFC7990] says:

This wording does not take into account the need to later 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 corrected XML for all RFCs, Section 5 of [RFC7990] is updated to say:

2.1. Reasons for Updating the XML Files

The XML file can be updated for the following limited reasons:

  • The XML vocabulary, originally defined in [RFC7991], changes
  • An error is discovered in the format XML for an RFC

During the development of this document, many other reasons for updating the XML file were suggested. Those reasons are not in scope for this document, and may be adopted later after the community has experience with the updating mechanisms described in this document.

3. Updating Publication Format Documents

Section 7 of [RFC7990] describes the HTML, PDF, and plain text versions of an RFC that are published by the RFC Editor. The section is titled "Publication Format Documents", so that term is used here to refer to the documents that are derived from the XML for an RFC. When the XML changes, the RFC Editor may also regenerate the publication format documents and publish those new versions.

Whenever the RFC Editor publishes regenerated publication format documents, it must keep archived sets of all versions of the publication format documents files. These archived sets must be available using the same access methods as for the XML and the published publication formats.

[[ There was disagreement about the paragraph above about "must" and deciding when the publication format files are archived. ]]

(Separately, the RFC Editor might also regenerate one or more of the publication format documents for an RFC if it sees errors in the generated output. This has already happened in cases where PDF files had display errors in them. Such regeneration is an operational decision that is not affected by this document.)

4. Archived Documents

When the RFC Editor archives documents, it does so in a manner that allows them to be found by people who want the historical (as compared to current) versions of those files.

To make the files easier to find, they should be stored in the same Internet-accessible locations as the current RFCs. The methods for storage and access will be determined by the RFC Editor in consultation with the technical community.

The naming of the archival files is a topic perfect for bike-shedding by IETF participants. Before this document is finished, hundreds (or thousands!) of messages, many with firm opinions of the best naming method, might be published. Heck, even the name of the directory for archival files is fodder for vigorous bike-shedding.

4.1. An Initial Proposal for File Naming

The file names for archived documents will be appended with a datestamp indicating the last day that the file was published as the XML or publication format documents. For example, if the XML for RFC 8888 is updated on March 4, 2024, the RFC Editor will publish the updated files as rfc8888.xml, rfc8888.html, rfc8888.pdf, and rfc8888.txt in the normal locations. It will also publish the files rfc8888-2024-03-04.xml, rfc8888-2024-03-04.html, rfc8888-2024-03-04.pdf, and rfc8888-2024-03-04.txt.

The same naming scheme is used when just a publication format document is published. For example, if the PDF of RFC 9432 had rendering issues that the RFC Editor fixes on January 8, 2024, the RFC Editor will publish tne updated file as rfc9432.pdf. It will also publish the file rfc9432-2023-01-08.pdf.

4.2. Explaining Reasons for Updating Files

During the development of this document, members of the community said that the archived XML should contain an explanation for why the document was updated. Some suggested methods include:

  • An XML comment in the document; however, [RFC7990] prohibits XML comments
  • A new element such as <comment> this would require an update to [RFC7991]
  • A <cref> element with a new attribute that would suppress inclusion in the publication format documents; this would require an update to [RFC7991]
  • An additional file in the archival directory; this would require the reader to find the file when looking at the XML

Because each of these has one or more downsides, choosing between them is not bike-shedding.

[[ Martin T. expressed a preference for XML comments. ]]

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. Acknowledegements

This document has greatly benefitted from the input or the RSWG. In particular, Brian Carpenter, Jay Daley, and Martin Thomson gave significant input on the early draft of this document.

8. References

8.1. Normative References

[RFC7990]
Flanagan, H., "RFC Format Framework", RFC 7990, DOI 10.17487/RFC7990, , <https://www.rfc-editor.org/rfc/rfc7990>.
[RFC7991]
Hoffman, P., "The "xml2rfc" Version 3 Vocabulary", RFC 7991, DOI 10.17487/RFC7991, , <https://www.rfc-editor.org/rfc/rfc7991>.

8.2. Informative References

[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/rfc/rfc8651>.

Author's Address

Paul Hoffman
ICANN