<?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.6.39 (Ruby 3.2.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-restatement-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="The Restatement Anti-Pattern">The Restatement Anti-Pattern</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-restatement-00"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2023" month="July" day="23"/>
    <abstract>
      <?line 112?>

<t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern, and
how it can be mitigated.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-restatement/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/restatement"/>.</t>
    </note>
  </front>
  <middle>
    <?line 128?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Normative documents that cite other normative documents often
<em>restate</em> normative content extracted out of the cited document in
their own words.</t>
      <t>The present memo explains why this can be an Antipattern
<xref target="KOENIG"/><xref target="ANTIPATTERN"/>, and how it can be mitigated.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -21?>

</section>
    </section>
    <section anchor="the-restatement-anti-pattern">
      <name>The Restatement Anti-Pattern</name>
      <t>A <em>Restatement</em> is the attempted expression of information that is
already expressed elsewhere.</t>
      <t>In this document, we are mostly concerned with <em>Normative
Restatements</em>, i.e., statements that are intended (or look like they
are intended!) to be normative.</t>
      <t>Restatements are rarely verbatim copies of the original statement and
the context needed to interpret that, so they tend to introduce
uncertainty about the interpretation of the restatement.</t>
      <t>Authors often presume a reader is well-versed enough to infer that
such an uncertainty (or outright contradiction) is not intended and
how it is to be resolved.
There is little reason to believe this is actually the case.</t>
      <t>An <em>internal restatement</em> is a restatement of information that has
been provided previously in the document under discussion.
Note that an unambiguous internal reference is not a restatement, as
it points to the original text and its context.
(There may still be uncertainties how to interpret the internal
restatement in the additional context.)</t>
      <t>A reference is <em>unambiguous</em> if the previous passage is clearly
identified and delimited.</t>
      <t>An <em>external restatement</em> is a restatement of information that has
been provided in (one or more) external documents.
Here there is increased danger of an unclear scope of the reference,
often by pointing to an entire document where only a specific passage
is actually intended to be referenced.</t>
      <t>Restatements can be entirely <em>hidden</em>, i.e., there is no indication
that information given is a restatement.  Restatements can also be
<em>explicit</em> by clearly being
identified as such, typically no longer using normative language.</t>
      <t>Restatements can be an Anti-Pattern because they can be "a common
response to a recurring problem that is usually ineffective and risks
being highly counterproductive" <xref target="WP-ANTIPATTERN"/>.  <xref target="reasons"/> discusses
the recurring problems as perceived by document authors, <xref target="perils"/>
explains why restatements can be ineffective and counterproductive,
and <xref target="defuse"/> discusses how to use restatements in a way that is not.</t>
    </section>
    <section anchor="reasons">
      <name>Reasons for making restatements</name>
      <t>There are many reasons that cause document authors to include
restatements in their work, many of which are actually good reasons
once the perils of restatements are properly managed.</t>
      <section anchor="integrating-a-complicated-base-standard-ecosystem">
        <name>Integrating a Complicated Base Standard Ecosystem</name>
        <t>Sometimes the source of the actual normative statement is complex and
would require considerable time to digest.
A <em>simplifying</em> restatement tries to shield the reader by rephrasing
or summarizing information from that source.</t>
        <t>Such a restatement can be of good intention, or it can try to hide
complexity that the referencing document actually does make required to incur.</t>
      </section>
      <section anchor="trying-to-be-a-textbook-for-the-implementer">
        <name>Trying to be a Textbook for the Implementer</name>
        <t>More generally, a restatement can attempt to be a directly useful
source for an implementer or user of a standard, e.g., by giving a
mere checklist of items (not necessarily complete!) that must be
implemented instead of actually identifying where the requirement and
possibly its finer points come from.</t>
      </section>
      <section anchor="increasing-availability-from-a-source-with-restricted-access">
        <name>Increasing Availability from a Source with Restricted Access</name>
        <t>In some cases, normative information from a cited document is not
openly available, but only under specific conditions that cannot be
expected to be satisfied by all users of the referencing document,
such as membership in an organization or payment of a non-trivial fee.
It may be appropriate to restate information from such a source so the
referencing document becomes useful.</t>
      </section>
      <section anchor="trying-to-raise-attention-to-a-detail-deemed-surprising">
        <name>Trying to Raise Attention to a Detail Deemed Surprising</name>
        <t>The author of the referencing document may see a need to alert the
reader to a detail of the cited document that might seem unintuitive
(i.e., not familiar) to the author.  By restating the detail in terms
more familiar to readers of the referencing document, this alert can
be more useful.</t>
      </section>
      <section anchor="bad-formal-description-techniques">
        <name>Bad formal description techniques</name>
        <t>Formal description techniques (<em>FDT</em>, such as ABNF) are usually designed to
document a single specific artifact, not its evolution or its
embedding into another artifact.  This can lead to wholesale imports
of FDT material, without indication whether just the FDT was imported
or whether the importing document is intended to evolve with the donor
document.
See <xref target="example-8288"/> and <xref target="example-6991"/> for additional illustration of
this reason.</t>
      </section>
    </section>
    <section anchor="perils">
      <name>Perils of restatements</name>
      <t>The danger of restatements is that they might not be exactly
expressing the same normative statement that the cited document makes.</t>
      <t>One form of this is the <em>incomplete</em> restatement.</t>
      <t>Abridged copies of a normative statement from the cited document often
leave open whether the abridgment is intentional: Is the referencing
document only importing some of the requirements of the cited
document?
In the worst case, the restatement may appear to be <em>forking an
ecosystem</em>, i.e., an implementation of the cited document cannot be
used because it makes additional constraints that are not meant to be
included in the referencing document.
(This peril of course is also present with <em>intentional</em> changes to
the normative statements in a cited document, but is likely to receive
much more attention during review.)</t>
      <t><xref target="example-eat"/> presents an example for the situation where a reader
might infer behavior based on the common law statute interpretation
rule:</t>
      <ul empty="true">
        <li>
          <t><em>"Expressio unius est exclusio alterius"</em></t>
        </li>
      </ul>
      <t>which states that the reader is to presume that expressly referencing
one matter implies that other similar matters are intentionally not
mentioned and therefore are excluded.
This is particularly problematic with abridged statements, where this
rule may be invoked by the reader without an author being aware of it.</t>
      <t>Restatements may be slightly <em>semantically different</em> from the cited
document, in particular if the latter is based on a relatively
inaccessible (possibly poorly documented or poorly developed)
terminology.
Both authors and readers may not be aware that they need to use tools
that are commonplace in the ecosystem of the cited document.</t>
      <t>A large danger originates from restatements that are unclear whether a
<em>new</em> normative requirement is intended or a just a restatement of
known normative requirements of the cited document.  This is, of
course, particularly dangerous for <em>hidden</em> restatements.</t>
      <t>A restatement can cause <em>maintainability hazards</em>, as illustrated in
<xref target="example-8288"/>; it also can cause a referencing document to
<em>decouple</em> from the ecosystem of a cited document once that is
repaired (<xref target="example-6991"/>).</t>
      <t>Finally, to readers familiar with the cited document, the restatement
can be surprising; if there really is no information in the
restatement, the reader automatically searches for a specific reason
this restatement is made and starts to reinterpret it until it means
something specific that would justify its presence.
If the restatement is not clearly identified as such, this is likely
to cause misinterpretations, as if the usage envisioned attempts to
fork the cited ecosystem.
(Often, the people who need to interpret the document in question are
actually more familiar with the cited document and the surrounding
ecosystem than the authors of the referencing document, who may just
be pulling in the ecosystem to solve one of their problems.)</t>
    </section>
    <section anchor="defuse">
      <name>Defusing restatements</name>
      <t>A general recommendation for readers of a referencing document is that
they should try to detect restatements and read them in full knowledge
of their perils (<xref target="perils"/>).
If a resolution is required, the RFC errata process may provide a
(poor) mechanism to obtain the resolution and ensure it is documented
in the context of the referencing document.
Mailing list discussions are also a good way to obtain a resolution,
but for additional readers they can be hard to find, and, when found,
it can be hard to extract any consensus that was formed.</t>
      <t>The rest of this section provides a summary of the recommendations
made by this document, employing <xref target="RFC2119"/> keywords as an instruction
to the potential implementers of this document, i.e., document authors
and reviewers.</t>
      <t>Much of the danger of restatements can be averted if they are
sufficiently identified by the authors as such.</t>
      <ul spacing="normal">
        <li>For identification of internal restatements, use phrases such as:
In other words, hence, in particular, as discussed in Section NN.</li>
        <li>For identification of external restatements: As described/defined in ...</li>
        <li>In both cases, make sure that any local reference is clear and any
non-local reference is resolvable and well-scoped.</li>
        <li>Rephrasing the statement as a Note can make clear that there is no
normative intention.</li>
        <li>Examples <bcp14>MUST</bcp14> be identified clearly as such, including identifying
any explanatory notes as such so that these are not misunderstood as
new normative statements.</li>
      </ul>
      <t>If a larger copy from a cited document is made, it <bcp14>SHOULD</bcp14> be made
verbatim and differences introduced deliberately should be explicitly
identified, possibly in a second step.
Note that the FDT mechanisms and their evolution can make verbatim
copies less useful, in which case a systematic approach of first
copying and fixing and then, if necessary, modifying can help the
reader.
For instance, <xref target="RFC2397"/> uses a variant form of ABNF that can be
parsed only once the variant "<tt>:=</tt>" syntax is replaced by "<tt>=</tt>".
(This is an active specification and was cited as recently as in
<xref section="4.3" sectionFormat="of" target="RFC9399"/>, which provides a clearly identified
restatement in modern ABNF, with errata applied and rules referenced
from elsewhere added [we ignore the innocuous redefinition of "hex"
from "HEXDIG"].)</t>
      <t>By making the copy informative, repairs from the base document (in the
<xref target="RFC2397"/> example e.g. <xref target="errata2397"/>) can be imported, even future
ones.</t>
      <t>Where the copy is made because the cited document is not openly
available, this also often requires more processing than a verbatim
copy, increasing the probability of introducing errors and
misunderstandings.
This can be somewhat mitigated by clearly stating the purpose of a
restatement, and the intended result when the restatement and the
original diverge.</t>
      <section anchor="summary-of-recommendations">
        <name>Summary of Recommendations</name>
        <t>(...Add nice checklist text for authors and reviewers based on <xref target="defuse"/> later...)</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="example-8288">
        <name>Example: Web linking <xref target="RFC8288"/></name>
        <t>This example is about an internal, FDT-induced restatement in
<xref target="RFC5988"/>, which turned into an external restatement in <xref target="RFC6690"/>,
which was not healed by the update to <xref target="RFC5988"/> in <xref target="RFC8288"/>.</t>
        <t><xref section="5" sectionFormat="of" target="RFC5988"/> defines a serialization of web links in a Link Header Field.
A link can have zero of more <tt>link-param</tt> parameters, each of which
has the form (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-extension = parmname [ "=" ( ptoken / quoted-string ) ]
]]></sourcecode>
        <t>So link-extensions can always be written as a <tt>quoted-string</tt>, or,
alternatively, without quotes as a <tt>ptoken</tt> if the more limited character
repertoire of <tt>ptoken</tt>s suffices.</t>
        <t>However, <xref target="RFC5988"/> also defines the specifics of a few link parameters.
When simply inserting this into the overall ABNF, the ABNF given for
these link parameters needs to <em>restate</em> the ABNF
for link parameters in their common syntax (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param  = ( "rel" "=" relation-types )
            / ( "anchor" "=" <"> URI-Reference <"> )
            / ( "rev" "=" relation-types )
            / ( "hreflang" "=" Language-Tag )
            / ( "media" "=" ( MediaDesc / ( <"> MediaDesc <"> ) ) )
            / ( "title" "=" quoted-string )
            / ( "type" "=" ( media-type / quoted-mt ) )
]]></sourcecode>
        <t>This restatement loses the intended choice between <tt>ptoken</tt> and <tt>quoted-string</tt> for
many predefined link parameters, only keeping it for <tt>"media"</tt> and
<tt>"type"</tt> (and <tt>"rel"</tt> in the definition of <tt>relation-types</tt>, which is
arguably faulty by allowing non-ptoken characters in an unquoted URI).</t>
        <t>One could say that this restatement was caused by a limitation of ABNF:
ABNF
cannot separately express both the overall syntax of link-params (which yields
the link-param value)) and the specific syntax for the predefined
link-params, contaminating the former with the latter.
The specific syntax would really need to be in terms of the value
yielded as opposed to <em>restating</em> the link-param syntax that yields the value.</t>
        <t><xref section="3" sectionFormat="of" target="RFC8288"/> finally repairs this:</t>
        <blockquote>
          <artwork><![CDATA[
link-param = token BWS [ "=" BWS ( token / quoted-string ) ]
]]></artwork>
          <t>Note that any link-param can be generated with values using either
  the token or the quoted-string syntax; therefore, recipients <bcp14>MUST</bcp14> be
  able to parse both forms.  In other words, the following parameters
  are equivalent:</t>
          <artwork><![CDATA[
x=y
x="y"
]]></artwork>
          <t>Previous definitions of the Link header did not equate the token and
  quoted-string forms explicitly; the title parameter was always
  quoted, and the hreflang parameter was always a token.  Senders
  wishing to maximize interoperability will send them in those forms.</t>
          <t>Individual link-params specify their syntax in terms of the value
  after any necessary unquoting (as per <xref section="3.2.6" sectionFormat="comma" target="RFC7230"/>).</t>
        </blockquote>
        <t>Unfortunately, <xref target="RFC6690"/> adds an external restatement copying from
<xref target="RFC5988"/> in defining a few more link-params (simplified):</t>
        <sourcecode type="abnf"><![CDATA[
link-param     = ( "rel" "=" relation-types )  ; ...
               / ( "type" "=" ( media-type / quoted-mt ) )
               / ( "rt" "=" relation-types )
               / ( "if" "=" relation-types )
               / ( "sz" "=" cardinal )
cardinal       = "0" / ( %x31-39 *DIGIT )
]]></sourcecode>
        <t>The letter of this specification for instance prohibits <tt>sz="47"</tt>
(requiring this to be represented as <tt>sz=47</tt>).   The repair in
<xref target="RFC8288"/> cannot quite fix this as:</t>
        <ul spacing="normal">
          <li>it is not clear that the repair actually applies to <xref target="RFC6690"/> (a
general problem with updated ["obsoleted"] references)</li>
          <li>the ABNF in <xref target="RFC6690"/> would need to be rewritten to apply the rule
<tt>cardinal</tt> to the extracted value of the link-param.</li>
        </ul>
      </section>
      <section anchor="example-restatement-of-iso8601-in-rfc3339">
        <name>Example: Restatement of <xref target="ISO8601"/> in <xref target="RFC3339"/></name>
        <t><xref target="RFC3339"/> was largely intended as a freely available restatement of
the paywalled <xref target="ISO8601"/>, with focus added on formally defining the
parts that might be useful in the Internet.
However, when <xref target="ISO8601-2000"/> introduced additional text that seemed to
disallow the syntax used for one extension that <xref section="4.3" sectionFormat="of" target="RFC3339"/> had made to the semantics of <xref target="ISO8601"/>, the precedence
remained unclear.
Implementers of Internet-related standards largely ignored the
additional semantics of that extension anyway, while implementers of
<xref target="ISO8601"/> in general often performed input validation that made sure
the extension made by <xref target="RFC3339"/> wouldn't work.
(This is only now being addressed by <xref section="2" sectionFormat="of" target="I-D.ietf-sedate-datetime-extended"/>.)</t>
      </section>
      <section anchor="example-6991">
        <name>Example: Date-Time in YANG (RFC6991)</name>
        <t><xref target="RFC6991"/> defines a YANG type <tt>date-and-time</tt> on page 11, restating
parts of <xref target="RFC3339"/> (the restatement is also faulty in its item (b), with an
attempted cleanup in <xref target="I-D.ietf-netmod-rfc6991-bis"/>).
Now that <xref target="RFC3339"/> is being bug-fixed via <xref section="2" sectionFormat="of" target="I-D.ietf-sedate-datetime-extended"/>, it is not clear whether the change
applies to the YANG type as well.
This is more of a problem for YANG than it might be otherwise, as it might trigger
the YANG concept of a "non-backwards-compatible" change to that
datatype — a problem that is not entirely <em>caused</em> by restatements but gets
much harder to discuss.</t>
      </section>
      <section anchor="example-9444">
        <name>Example: ACME for Subdomains (RFC9444-to-be)</name>
        <t>RFC9444-to-be defines a new feature added to <xref target="RFC8555"/>, referencing
the base standard in a number of places.</t>
        <t>Reviewing the draft <xref target="I-D.draft-ietf-acme-subdomains-04"/>, <xref target="acme-comment"/> states:</t>
        <ul empty="true">
          <li>
            <t>## restatement vs. new normative content</t>
            <t>Providing a specification of a new feature added to ACME, the text
explains a number basic ACME mechanisms that are relevant to this
specification.</t>
            <t>One pervasive problem is that these restatements of RFC 8555 content
are not always easy to distinguish from new, normative statements made
by this document.
E.g., 4.2 contains a statement about "is defined" that is part of a
paragraph restating RFC 8555 -- this one, however, appears to be new
normative content.
(Languagetool diagnoses overuse of passive voice, which exacerbates
this problem.)</t>
            <t>(The first paragraph of section 4 repeats the last paragraph of
section 3.  But that is not a problem; redundancy can be good if it
improves the flow, and this is clearly labeled as a restatement.)
The introduction of section 4 is a summary/restatement of RFC 8555;
section 4.1 introduces new normative content without warning (and
leads the reader astray by actually referencing RFC 8555).</t>
          </li>
        </ul>
        <t>(These problems were addressed in a later draft of RFC9444-to-be.)</t>
      </section>
      <section anchor="example-eat">
        <name>Example: Base64 Encoding variants in draft-ietf-rats-eat-20</name>
        <t>Base64 encoding is defined in <xref target="RFC4648"/>, but comes in a number of
variants.  These often have default settings that are to be used
"unless the specification referring to this document explicitly states
otherwise" (e.g., <xref section="3.2" sectionFormat="of" target="RFC4648"/>).</t>
        <t>Documents that reference <xref target="RFC4648"/> normatively are
surprisingly often sloppy in doing so.
Not <xref target="I-D.draft-ietf-rats-eat-20"/>: Its Section 2 (terminology) defines
the term "Base64url Encoding”, referencing <xref target="RFC4648"/> as well as
<xref target="RFC7515"/> to fill in the open questions from <xref target="RFC4648"/> (i.e., Section
5 and not Section 4, no '=' padding that would be default, no extra
characters).</t>
        <t>While this was a good start, incomplete restatements in the following
text cause a problem <xref target="rats-comment"/>:</t>
        <blockquote>
          <t>A term "base64url encoded” [...] is used in multiple places.  One of the
places restates its own reference to RFC 4648, but doesn’t restate
the reference to RFC 7515 and the text required with that.  This
restatement is very misleading as it strongly implies RFC 7515 is
<em>not</em> used here; the reference needs to be removed.  In the other
places I find the term is simply used, which assumes the reader
will think to look up the term in the terminology [...]</t>
        </blockquote>
        <t>(The problem in the draft was quickly addressed in the next revision.)</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Restatements about security requirements and properties can create the
same uncertainties and interoperability problems as restatements in
other contexts.
Security considerations sections have turned out to be an attractor
for such problems.
They are meant "both to encourage document authors to consider
security in their designs and to inform the reader of relevant
security issues" <xref section="1" sectionFormat="of" target="RFC3552"/>.
In practice, they tend to be the first point in a document that
security issues are considered at all, so they often both contain
normative statements that are nowhere else in the document and
security-conscious restatements of other normative statements in the
document, the latter with all the perils that this memo is about.
The fact that security considerations sections are often heavily
fleshed out during IESG processing can exacerbate the problem.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="ISO8601" to="ISO8601:1988"/>
    <displayreference target="ISO8601-2000" to="ISO8601:2000"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="KOENIG">
          <front>
            <title>Patterns and Antipatterns</title>
            <author initials="A." surname="Koenig" fullname="Andrew Koenig">
              <organization/>
            </author>
            <date year="1995"/>
          </front>
          <seriesInfo name="J. Object Oriented Program." value="8(1): pp. 46-48 "/>
        </reference>
        <reference anchor="ANTIPATTERN" target="http://wiki.c2.com/?AntiPattern">
          <front>
            <title>Anti Pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2012" month="November" day="21"/>
          </front>
          <refcontent>C2 Wiki (Last edited:)</refcontent>
        </reference>
        <reference anchor="WP-ANTIPATTERN" target="https://en.wikipedia.org/w/index.php?title=Anti-pattern&amp;oldid=1144938932">
          <front>
            <title>Anti-pattern</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="July" day="21"/>
          </front>
          <refcontent>Wikipedia page (at the time of writing:)</refcontent>
        </reference>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC2397">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="errata2397" target="https://www.rfc-editor.org/errata/rfc2397">
          <front>
            <title>RFC Errata Report » RFC Editor</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <refcontent>search result</refcontent>
        </reference>
        <reference anchor="RFC9399">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Logotypes in X.509 Certificates</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Freeman" initials="T." surname="Freeman"/>
            <author fullname="L. Rosenthol" initials="L." surname="Rosenthol"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a certificate extension for including logotypes in public key certificates and attribute certificates. This document obsoletes RFCs 3709 and 6170.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9399"/>
          <seriesInfo name="DOI" value="10.17487/RFC9399"/>
        </reference>
        <reference anchor="RFC5988">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>This document specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5988"/>
          <seriesInfo name="DOI" value="10.17487/RFC5988"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc6991-bis">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="Jürgen Schönwälder" initials="J." surname="Schönwälder">
              <organization>Constructor University</organization>
            </author>
            <date day="23" month="January" year="2023"/>
            <abstract>
              <t>   This document defines a collection of common data types to be used
   with the YANG data modeling language.  This version of the document
   adds several new type definitions and obsoletes RFC 6991.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc6991-bis-15"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="I-D.ietf-sedate-datetime-extended">
          <front>
            <title>Date and Time on the Internet: Timestamps with additional information</title>
            <author fullname="Ujjwal Sharma" initials="U." surname="Sharma">
              <organization>Igalia, S.L.</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="14" month="July" year="2023"/>
            <abstract>
              <t>   This document defines an extension to the timestamp format defined in
   RFC3339 for representing additional information including a time
   zone.

   It updates RFC3339 in the specific interpretation of the local offset
   Z, which is no longer understood to "imply that UTC is the preferred
   reference point for the specified time"; see Section 2.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present version (-09) addresses comments received during IETF last
   // call.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sedate-datetime-extended-09"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-eat-20">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="13" month="June" year="2023"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-20"/>
        </reference>
        <reference anchor="rats-comment" target="https://mailarchive.ietf.org/arch/msg/rats/H8qXwQywD0W6x4QcC9Iwd5LYl2s">
          <front>
            <title>Re: [Rats] I-D Action: draft-ietf-rats-eat-20.txt</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="I-D.draft-ietf-acme-subdomains-04">
          <front>
            <title>ACME for Subdomains</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Tim Hollebeek" initials="T." surname="Hollebeek">
              <organization>DigiCert</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="29" month="June" year="2022"/>
            <abstract>
              <t>   This document outlines how ACME can be used by a client to obtain a
   certificate for a subdomain identifier from a certification
   authority.  The client has fulfilled a challenge against a parent
   domain but does not need to fulfill a challenge against the explicit
   subdomain as certification authority policy allows issuance of the
   subdomain certificate without explicit subdomain ownership proof.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-subdomains-04"/>
        </reference>
        <reference anchor="acme-comment" target="https://mailarchive.ietf.org/arch/msg/last-call/v0RYQkByhAII9yvaD6gbKWx0WtA">
          <front>
            <title>[Last-Call] Artart last call review of draft-ietf-acme-subdomains-04</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date year="2022" month="November" day="23"/>
          </front>
        </reference>
        <reference anchor="ISO8601" target="https://www.iso.org/standard/15903.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="1988" month="June"/>
          </front>
          <seriesInfo name="ISO" value="8601:1988"/>
          <annotation>Also available from &lt;⁠<eref target="https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf</eref>&gt;.</annotation>
        </reference>
        <reference anchor="ISO8601-2000" target="https://www.iso.org/standard/26780.html">
          <front>
            <title>Data elements and interchange formats — Information interchange — Representation of dates and times</title>
            <author>
              <organization abbrev="ISO">International Organization for Standardization</organization>
            </author>
            <date year="2000" month="December"/>
          </front>
          <seriesInfo name="ISO" value="8601:2000"/>
        </reference>
      </references>
    </references>
    <?line 585?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Julian Reschke opened the author's eyes to the fundamental problem of
restatements, possibly not using this word.
Many IETFers over decades have worked on mitigating restatements; the
author apologizes that examples in this memo naturally mainly come
from the author's own recollection.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vc2XIbSXZ9z6/IgcIWKRPgKrVItdRDbd2c0dYiOzTtnjZZ
QCWAGhaqMJVVhCCGJtr/4Bc/OGIeHP4Jv43/pL/E99ybmZUFQuoZ22/20gJr
yeWu5y5Z/X5fXR3pfaXqrM7NkT6bGv3W2DqpzcwUtT4u6qz/JqlrUxUqGQ4r
c/ULD6XlqEhmNFRaJeO6PyyrWVIU/ap9vp/TD1urEf0zKavlkc6KcalsXZlk
hj9SMzf0n6JWKqVnjtSoLKwpbGOP1C2d0GP4d1FWl5OqbOZH6tIs6a/0SKkr
UzQGd/UsyfIj3ctMPf41/jMoq0lPaT3J6mkzpDujZFhuR8vqKZU09bSsjuip
Pv2/pqXYI/1koB/LJviabO5JUtnaFJ07NMGR/q7Irkxls/q//r3WjyuMrM/+
8YQfwA5NfaTflLYeJ6Op3t/fOTjY4XujrCZCyAtyoUxpnqf9vfv7dw/dlaao
Qa6vDSZd8sX5tCzouX84OOwf7O3293bv9+/tH+7t8k0jRMBOf11/yEACpUBs
er+mdWKnv3397NXJ10f8fLv/dqfHRVqZhf5taYpswnecqDiGW50UKYvA3F2Q
vZoqMxZz+eF+M9Cvh38wo1q/pltFbVL9pionVTIbHOlH7iGt72/sbh7p+Xyg
D+71D+7zdZYCvXt4eJf+PH51dvLm+Ozs2dtXMnSdVBOQdVrX86Pt7UV2mQ1G
e4NROdv+CuvykhmtHZd1fL0aEU/39Dt6V2+8SGytTZrREo82owXs7ezu9XdB
ZLr47k3/syuxtBRTDLCaOY2VgPjbi21I9/vBfDr/ipfykHXHUe7vyzzN0oe7
uwcHh/v3D/f3VpfsHwxLfudH1/NkYvRGUuualLPOZkaXY72osjorJiub2Nvv
73whm3j7/Mn+3bt7R8SuEZRMLu3tH36BDZmqSurE/3Vze4vFYlCNR32Qqqx4
g/LKNl3Fa/H6ezSwfsa3yXjMy6rWf/lPzRf59V7YlDVJRcpBqtnktazocP/w
EFr97H0ym+fGHsnlu4f377uf9+4d7rif9/fC1S/29v3Vg3sH4erd3bv+tcPD
Xfw86T8dwEr0C1PPyrRPG8Ct/jDzc+3v7x92nrQGBO3jP6B337yvYbVSbAAX
3bNiBvkN2rvtm6Tu7/Gi+E+SUhif9QSG+oIWpKoDb8O2cWF7ZifbeH/7m/t/
/N3i2+Xi6c67e+8Pvh09OTxZpHdffJ/v2Zj6Xr/e0u8f3tKLP2Jx+nhUZ2Xh
bfXqIgf1+/qTduGmBQTp7969e3Rz48mI6GObYVrSjgrb3znAQ3y1s/8goaJm
+/8DouSku/1RkufbVztvv//28vFyenxycri8Sp7emwx/++79zrv6eB1lfoDW
95/Qmz/q44omrTXG0hiLZPEqIyNIKvXZXf0NxDo5fX3/3s6u23dm53lClt1f
3SXB/qTKZbbkPZPnKtKkSrd37x7u7A+m9Sxft7Gn0DiTs48TY52R8SV6JQWZ
DPEFVv/807/oE+8ZyqLzDN0L4jMntaSB5CHQA76cR4US2BsU6ItbPMFwBb+V
5OQAJkmRfZBBaE596rbirrnZPN4gqnzCp9CdI307kOx2x1vcv9/fuScLKkjG
j3Nb6uQK0jPMaeNVOdNf/vzPf/7S07a4yufN0A6KzNaDSXm1jR+4sv3CTJLR
cvv5yZvT7XE2t3TxoL/bJ4e0O5in40ePBi1HSW92dlbYetvzFfdu//WM3bv3
xf2d/++MbWnmzcPOTn93TynV7/dpKEJVyYig4g//RL93+z+6X3vhF1070q88
5tEEUBshWT0lf0nAi3wlec1KF2ueKce1A2R3HFa8Ez1HPrMGAibbj0UQpCmb
GtSDF8bIaRiKCC9MnJqs0uWiAIBN7aBdrgBrxwc9M7OSxiUBItuiF9MlvZlZ
MkeFHhriSwy5tsAnHn1aLnRW+6dm5P4ntOQ0zJL9b6bhGa6vBTF+/Hh9HQGg
jx95EZ9ZALg1y9I0N4o8OclNVaYN+5+bvMvw89Yt/aQsCNHjGRHFp2acFRn/
rdRxTtLYTKay4pbOlhhUY+knz86eBwm0+oxYdKlJd/NsxNK4RStVSVrOWRaY
m2E2CG/L55zUpQHCqkuiXHmVpfQ0eSEC7cRtgtQkhLIXi0cwWAagggWZaqBA
cQpShOW69/K707PelvyrX73m32+fffvdydtnT/H79JvjFy/CD+WeOP3m9Xcv
nra/2jefvH758tmrp/IyXdWdS6r38vj7nrCn9/rN2cnrV8cveiSPK4SjwAqL
J7axjSAJgfwmVqXGjqpsaGBg9OMnb/7y590DkoNfASru7h5+/Oj+uL/7xQH9
sZgakUhdFvnS/UkkWapkPidsh1HgVEfJPKuT3NKzVtspVIK00JCo3PkBlCFJ
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
A1jYqfiuETlY4e5A/Teuz+phdVsAAA==

-->

</rfc>
