<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-thomson-rswg-syntax-change-01" category="info" submissionType="editorial" updates="7990" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title>Changing XML Syntax for RFCs</title>
    <seriesInfo name="Internet-Draft" value="draft-thomson-rswg-syntax-change-01"/>
    <author fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <date year="2023" month="October" day="03"/>
    <area>RFC Editor</area>
    <workgroup>RFC Series Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 36?>

<t>The authoritative version of RFCs are published in an XML format.  This format
is chosen for its ability to capture semantic details.  A policy governing how
the RFC XML format changes is described.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://martinthomson.github.io/rfc-syntax-change/draft-thomson-rswg-syntax-change.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-thomson-rswg-syntax-change/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RFC Series Working Group Editorial Stream Working Group mailing list (<eref target="mailto:rswg@rfc-editor.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rswg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/martinthomson/rfc-syntax-change"/>.</t>
    </note>
  </front>
  <middle>
    <?line 42?>

<section anchor="rationale">
      <name>Rationale</name>
      <t>The canonical format for published RFCs is XML <xref target="RFC7990"/>.  Historically, the
published version of an RFC has been immutable (<xref section="7.6" sectionFormat="of" target="RFC9280"/>).</t>
      <t>The RFC XML format <xref target="RFC7991"/> is not able to address use cases that were not
originally anticipated during its design.  It might also be possible to improve
the format to better capture meaning.</t>
      <t>Though it might be possible to evolve the format and only use the new format for
the publication of new RFCs, this would mean that there would be no single
format across the series.  Tools that seek to process RFC XML would need to
understand all iterations of the format.</t>
    </section>
    <section anchor="syntax-change-policy">
      <name>Syntax Change Policy</name>
      <t>The RFC Series Working Group (RSWG), constituted by <xref target="RFC9280"/>, acts as
custodian for the RFC XML format.  If the RSWG reaches consensus, they can
propose a revision to the RFC XML format.</t>
      <t>The RSWG publishes an RFC on the Editorial stream that describes the format
change.  An updated XML format is used for the publication of new RFCs.  Some
time might be necessary to implement those changes in tools and active
documents.</t>
      <t>Existing RFCs can be updated to use the new format.  The RFC that describes
format changes can also describe how the XML of existing RFCs will be updated.</t>
      <t>Updates to the RFC XML format need to ensure that any change to existing RFCs
preserves -- to the greatest extent possible -- the semantics expressed in the
original RFC.  That is, the intent is that changes only update the XML syntax,
they do not alter the semantics that are expressed using that syntax.</t>
      <t>The intent behind limiting changes to syntax only is that the goal is to
preserve the semantic meaning encoded in the RFC XML document.  While, stream
procedures formally establish agreement or consensus about a specific artifact
-- RFC XML in particular -- it is the semantic meaning expressed in that
document that is important.</t>
      <t>This process does not require that updates to XML avoid all risk of introducing
semantic changes to existing RFCs.  Instead, it only requires that the RSWG
carefully consider the potential for semantic changes, take steps to understand
the risk of a semantic change (either deliberate or inadvertent), and to limit
those risks.</t>
      <section anchor="canonical-version">
        <name>Canonical Version</name>
        <t>When the RFC XML for an RFC is updated, the updated document becomes
the canonical version of that RFC.</t>
      </section>
      <section anchor="archival">
        <name>Archival</name>
        <t>When the RFC XML of an RFC is updated, the updated document shall be archived in
addition to the existing version.  Any archive shall record the date that a
document was created or revised.</t>
        <t>This document does not specify how archives are maintained or how archived RFC
XML might be located or identified.</t>
      </section>
      <section anchor="publication-formats">
        <name>Publication Formats</name>
        <t>Publication formats are produced from the RFC XML format.  As noted in <xref section="10.2" sectionFormat="of" target="RFC7990"/>, "publication formats may be republished as needed".</t>
        <t>As the RFC XML format of a document changes, publication formats can change,
even if this might not result in observable differences.  Similarly, as
production tools change, publication formats can be regenerated to ensure a
consistent presentation across the series.</t>
        <t>Publication formats -- or the contexts in which they are displayed -- can
optionally provide additional details of the specific RFC XML version that they
were generated from, or provide a means to discover alternative renderings.</t>
        <t>This document does not stipulate whether publication formats are archived.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The RSWG are responsible for managing the risk of semantic changes that would
affect the interpretation of existing and future RFCs.  Changes to content that
has security implications would have security-relevant consequences.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7990">
          <front>
            <title>RFC Format Framework</title>
            <author fullname="H. Flanagan" initials="H." surname="Flanagan"/>
            <date month="December" year="2016"/>
            <abstract>
              <t>In order to improve the readability of RFCs while supporting their archivability, the canonical format of the RFC Series will be transitioning from plain-text ASCII to XML using the xml2rfc version 3 vocabulary; different publication formats will be rendered from that base document. With these changes comes an increase in complexity for authors, consumers, and the publisher of RFCs. This document 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.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7990"/>
          <seriesInfo name="DOI" value="10.17487/RFC7990"/>
        </reference>
        <reference anchor="RFC9280">
          <front>
            <title>RFC Editor Model (Version 3)</title>
            <author fullname="P. Saint-Andre" initials="P." role="editor" surname="Saint-Andre"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document specifies version 3 of the RFC Editor Model. The model defines two high-level tasks related to the RFC Series. First, policy definition is the joint responsibility of the RFC Series Working Group (RSWG), which produces policy proposals, and the RFC Series Approval Board (RSAB), which approves such proposals. Second, policy implementation is primarily the responsibility of the RFC Production Center (RPC) as contractually overseen by the IETF Administration Limited Liability Company (IETF LLC). In addition, various responsibilities of the RFC Editor function are now performed alone or in combination by the RSWG, RSAB, RPC, RFC Series Consulting Editor (RSCE), and IETF LLC. Finally, this document establishes the Editorial Stream for publication of future policy definition documents produced through the processes defined herein.</t>
              <t>This document obsoletes RFC 8728. This document updates RFCs 7841, 8729, and 8730.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9280"/>
          <seriesInfo name="DOI" value="10.17487/RFC9280"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7991">
          <front>
            <title>The "xml2rfc" Version 3 Vocabulary</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2016"/>
            <abstract>
              <t>This document defines the "xml2rfc" version 3 vocabulary: an XML-based language used for writing RFCs and Internet-Drafts. It is heavily derived from the version 2 vocabulary that is also under discussion. This document obsoletes the v2 grammar described in RFC 7749.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7991"/>
          <seriesInfo name="DOI" value="10.17487/RFC7991"/>
        </reference>
      </references>
    </references>
    <?line 136?>

<section anchor="advice-on-regenerating-publication-formats">
      <name>Advice on Regenerating Publication Formats</name>
      <t>This document does not include specific guidance regarding the generation of
publication formats from RFC XML source.  Decisions about how to maintain
publication formats are not a matter governed by policy as specified in RFC 9280
<xref target="RFC9280"/>.  This section contains advice and considerations for the process
of regeneration that came out of discussions of the policy changes in this
document.</t>
      <t>Changes to the RFC XML for existing documents might result in changes to the
documents rendered from that XML.  At the same time, the tools used to generate
renderings are under active maintenance.  Having it be possible for a fresh
rendering to replace existing publication formats is a goal supported by the
policy changes in this document.</t>
      <t>This creates a risk that a rerendered documents change in unexpected ways when
they are regenerated.  This risk of unintentional change can be managed by
implementing validation processes:</t>
      <ol spacing="normal" type="1"><li>
          <t>Tools can be continuously checked by producing renderings for existing RFCs.
Any change in the rendered document can then be compared with previous
outputs and validated.  This will ensure that changes in tooling are
deliberate and understood.</t>
        </li>
        <li>
          <t>When a change to XML occurs, rendered documents can be regenerated and any
change in the rendering can be validated.</t>
        </li>
      </ol>
      <t>Validation should be aided by automated tooling that is able to disregard
inconsequential changes in renderings, like changes in timestamps and other
annotations.  Validation of tooling can be continuous, for which automation is
essential.</t>
      <t>In both cases, the decision to make renderings available as the publication
format for an RFC is a decision that can be made on a case-by-case basis.
Making fresh renderings available more often could mean a greater risk that
people seeking to read RFCs will obtain a copy that contains accidental errors.
At the same time, errors in publication formats might persist if they are not
replaced as tool quality and reliability improves.</t>
      <t>Old copies of replaced publication formats could be retained to provide the
ability to isolate changes and understand the evolution of documents.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Paul Hoffman, Eliot Lear, John Levine, Pete Resnick, and Alexis Rossi
for constructive discussions about how the evolution of the RFC XML format might
be managed.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA4VZ25IbtxF9x1cg6xe7iuRaSlUcbVXK3lLkW1mJSutYeQVn
QA6KM8AIwJCit/TvOd2NuXCXjp+8GgJ979On4fV6rbLLrb3TN68b4/fO7/V/
3/6iH84+m096F6J+//3rdKMqk+0+xPOddn4XlKpD5U2He3U0u7zOTehS8OuY
Tvt14svrigTa9dcvVMrRmu5O29rlEJ1plR+6rY13auhrCE53+ptXr75W9Ped
Ot7pvyqDGzAKyvUbvnWjTiEe9jEMffn+YKOzSX/AZzL7B/rpRh3sGQfrO6XX
2ttPWe+tt9FkFzx9GryrQuQ/U2/ioaWrtYOFbjtkW+vW1nsb1dH6AbZo/eca
tc7nniL4ZnRPP7DDzw92xrU4SFH6Lu6qtQRkE+KefjWxavBrk3Of7m5v6TB9
cke7cTbv6NgtfbjdxnBK9pbE3NLFvcvNsMXVzsTsfEnGLWm4yAWdbSne+ULN
4s5GRG1ceH779s9SvWly194oZQaciZQB6NN6N7St1MpbVqV/FQn8I3wy3v3O
+cGB8LtrW8O/2BKsLn/XhpP1OYb+vPE2Q4MPscOVIzKkqB7nf6n1eq3NFvk0
VVbq18ZqMcdlPqKPNibo0mHHlY2gW90P29alBtmHdcZzB4jQjYa1LpV/KfxV
NSFZz53hMq5vXevyWeegK9PnAdISLPfZVbq2GS4kyLjXfWhdddb7AP2eaqIJ
J5VhHdXVrE9LJJOGptqmClVp64141bm6bq1SX+j3HC5D/yAHK+MDyhp1V4SQ
cbNP7CbkkZbHx7/gn9Rsnz/Drh9R+AgNrrbnlYY5ar62CBRCQmY2JumthfOu
64Zstq3VXz4+PtiKrNHfbP5GZ7/FyVcv/w75X23EvCcePj5+Kya8+PyZzPIh
a5aFEJq6jjYlPSTyKiEOucGVk0VYcU7BVkAUWas5xK431LP1ECmklA8Eze09
XPspI2D7BrLbFGA2MpCSK3pc10dkghNQzMp0KGcbpzx21lCm2Isw7BvILyKf
SLPH0KKyFsKMr3XwsJIcoe/enhbJYb0c6YozSXGjE5QpSgOicgpDW7MJEgLc
gEnydUvB0Am2oQJGjVWERawrMUpR5YbQlggmaw9kKtyuKMBjTkSgtwhiDmrw
NZKeyXrEGP4W4Exk4OweIoIiLCOCx4bV77i+54Rfg0r95fuHDz98tdIVRGLs
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

-->

</rfc>
