Procedures for Standards Track Documents to Refer Normatively to Documents at a Lower Level
Murray Kucherawy, Ed.
superuser@gmail.com
2022
General
internet-drafts
IETF procedures generally require that a standards track RFC may not have a normative reference to another standards track document at a lower maturity level or to a non standards track specification (other than specifications from other standards bodies). For example, a standards track document may not have a normative reference to an informational RFC. Exceptions to this rule are sometimes needed as the IETF uses informational RFCs to describe non-IETF standards or IETF-specific modes of use of such standards. This document defines the procedure used in these circumstances.
This document merges and updates, and thus obsoletes, RFC 3967, RFC 4897, and RFC 8067.

Introduction
The Internet Standards Process [RFC2026] (BCP 9) Section 4.2.4 specifies the following:

  Standards track specifications normally must not depend on other
  standards track specifications which are at a lower maturity level
  or on non standards track specifications other than referenced
  specifications from other standards bodies.

One intent is to avoid creating a perception that a standard is more mature than it actually is.
It should also be noted that Best Current Practice documents (BCPs; see [RFC2026]) have generally been considered similar to Standards Track documents in terms of what they can reference. For example, a normative reference from a BCP to an Experimental RFC has been considered an improper reference.
This document describes a process for allowing normative references to documents at lower maturity levels ("downrefs"), after due notice and consideration as the document progresses toward publication. The original process was defined in [RFC3967] and later amended by [RFC4897] and [RFC8067]. This document consolidates those, and presents further guidance regarding normative references to non-IETF documents.

Normative References
Within an RFC, references to other documents fall into two general categories: "normative" and "informative". Broadly speaking, a normative reference specifies a document that must be read to fully understand or implement the subject matter in the RFC, or whose contents are effectively part of the RFC, as its omission would leave the RFC incompletely specified. An informative reference is not normative; rather, it provides only additional background information.
An exact and precise definition of what is (and is not) a normative reference has proven challenging in practice, as the details and implications can be subtle. Moreover, whether a reference needs to be normative can depend on the context in which a particular RFC is being published in the first place. For example, in the context of an IETF Standard, it is important that all dependent pieces be clearly specified and available in an archival form so that there is no disagreement over what constitutes a standard. This is not always the case for other documents.
The rest of this section provides guidance on what might (and might not) be considered normative in the context of the IETF standards process.
In the IETF, it is a basic assumption that implementers must have a clear understanding of what they need to implement in order to be fully compliant with a standard and to be able to interoperate with other implementations of that standard. For documents that are referenced, any document that includes key information an implementer needs would be normative. For example, if one needs to understand a packet format defined in another document in order to fully implement a specification, the reference to that format would be normative. Likewise, if a reference to a required algorithm is made, the reference would be normative.
Some specific examples:
- If a protocol relies on IPsec to provide security, one cannot fully implement the protocol unless the specification for IPsec is available; hence, the reference would be normative. The referenced specification would likely include details about specific key management requirements, which transforms are required and which are optional, etc.
- In YANG documents, any "import" or "include" statement by definition is a normative reference.
- When a reference to an example is made, such a reference need not be normative. For example, text such as "an algorithm such as the one specified in [RFCxxxx] would be acceptable" indicates an informative reference, since that cited algorithm is just one of several possible algorithms that could be used.
Note that even references that are relevant only for optional features must be classified as normative if they otherwise meet the above conditions for normative references.

The Need for Downward References
There are a number of circumstances in which an IETF document may need to make a normative reference to a document at a lower maturity level, but such a reference conflicts with Section 4.2.4 of [RFC2026]. For example:
- A standards track document may need to refer to a protocol or algorithm developed by an external body but modified, adapted, or profiled by an IETF informational RFC, for example, MD5 [RFC1321] and HMAC [RFC2104]. Note that this does not override the IETF's duty to see that the specification is indeed sufficiently clear to enable creation of interoperable implementations.
- A standards document may need to refer to a proprietary protocol, and the IETF normally documents proprietary protocols using informational RFCs.
- A migration or co-existence document may need to define a standards track mechanism for migration from, and/or co-existence with, an historic protocol, a proprietary protocol, or possibly a non-standards track protocol.
- There are exceptional procedural or legal reasons that force the target of the normative reference to be an informational or historical RFC or to be at a lower standards level than the referring document.
- A BCP document may want to describe best current practices for experimental or informational specifications.

Definitions
A reference involves two documents, the one in which the reference is embedded and the document referenced. Where needed for clarity, these documents are referred to as the "source document" and "target document", respectively.
The term "Standards-Track document", as used in this specification, is assumed to include only Standards-Track documents at any maturity level, plus BCPs, but not documents with any other status.

Procedure
The following sections describe the procedures to be used by authors/editors and the IESG when handling downrefs.

Authors and Editors
When a Standards-Track or BCP document requires a normative reference to a document of lower maturity, the authors/editors should apply the following very simple procedure:
- The reference text (i.e., in the "Normative References" section of the source document) is written as usual.
- A note is included in the reference text that indicates that the reference is to a target document of a lower maturity level, that some caution should be used since it may be less stable than the document from which it is being referenced, and, optionally, explaining why the downref is appropriate.
The Internet Engineering Steering Group (IESG) may, at its discretion, specify the exact text to be used, establish procedures regarding the text to use, or give guidance on this text. When establishing procedures, the IESG should seek appropriate community review.
These annotations are part of the source document. If members of the community consider either the downref or the annotation text to be inappropriate, those issues can be raised at any time during the document life cycle, just as with any other text in the document. There is no separate review of these references. For example, when the downref is to a document of a lower maturity level that is understood to be stable, the annotation can be omitted. Such decisions should be noted in the document shepherd writeup [RFC4858] so the IESG is aware at the time of its review why the annotation is absent.
At the option of the author/editor, similar notes may be attached to non-normative references.
The exception to this process is the unusual case where the source document is less stable than the target document, even if the target document is at a lower maturity level. In such cases, the above notation is omitted.

The IESG
With appropriate community review, the IESG may establish procedures for when normative downref should delay a document and when downrefs should be noted. Absent specific guidance, authors and reviewers should use their best judgment. It is assumed that, in a significant majority of cases, noting a downref is preferable to delaying publication.
When a document is presented to the IESG for publication that contains a downref not called out by the author/editor(s) as described in the previous section, it is strongly recommended that the normal IETF Last Call procedure will be issued, with the need for the downref explicitly documented in the Last Call itself. Any community comments on the appropriateness of downrefs will be considered by the IESG as part of its deliberations.
If, by oversight, the Last Call does not identify the downref, the IESG may choose to repeat the Last Call with the downref properly identified. If it elects not to do so, then any future downref to the same target document is subject again to the procedures described in this document. In making this decision, the IESG should take into account the general discussion in Section 2.
Once a specific downref to a particular document has been accepted by the community (e.g., has been mentioned in one or more Last Calls), an Area Director may waive subsequent notices in the Last Call of downrefs to it. This should only occur when the same document (and version) are being referenced and when the Area Director believes that the document's use is an accepted part of the community's understanding of the relevant technical area. For example, the use of MD5 [RFC1321] and HMAC [RFC2104] is well known among cryptographers. Such documents are added to the "Downref Registry".
In the case of a downref approved in this manner, the annotations described above should be added to the reference unless the IESG, after consideration of Last Call input, concludes it is inappropriate.
This procedure is not to be used if the proper step is to move the document to which the reference is being made into the appropriate category. It is not intended as an easy way out of normal process. Rather, the procedure is intended for dealing with specific cases where putting particular documents into the required category is problematic and unlikely ever to happen.

IETF Target Documents
The "downward reference by annotation" model specified here is applicable only to published Standards-Track RFCs at lower maturity levels.
Obviously, such downward references are part of the relevant source document at IETF Last Call and subject to comments from the community.
Advancing documents, when appropriate, is still strongly preferred to the use of either this procedure or the one specified in Section 4.2. This specification does not impose a specific test or requirement to determine appropriateness. This is partially because it would be impossible to do so for the general case, but more so because the intention is to permit the IESG and the community to balance the importance of getting a source document published against the time and difficulty associated with upgrading a target document. That requirement is intended to be less stringent than the one of Section 4.2.

Non-IETF Target Documents
A reference to a non-IETF document provides a few challenges relative to the RFC series:
- its development may not have been as rigorous as the Standards-Track document referencing it;
- the actual reference to it (e.g., a web link) may have dubious location stability;
- it may be subject to unexpected revision in situ; or
- it may not be freely available.
Authors and editors should try to avoid such references due to the challenges they present, as they affect the IETF's ability to ensure the quality of its output. However, such references are not always avoidable.
The IESG may, at its discretion, establish policies regarding external documents referenced normatively by Standards-Track RFCs in light of these challenges. Such policies are to be developed with solicitation of community input.
At a minimum, authors/editors of source documents should endeavor to secure freely available copies of the target documents for use by all anticipated reviewers during the source document's life cycle, which includes working group participants, any member of the community that chooses to participate in Last Call discussions, area review teams, IANA expert reviewers, and members of the IESG. The mechanism for acquiring access to those documents is to be be specified in the shepherd writeup. Document authors and shepherds should avail themselves of any liaison relationships [RFC4052] that may exist.
Note that there is no requirement for a freely available copy of the reference beyond the publication of the draft as an RFC.
Another path forward may be to generate an RFC of appropriate status that captures the important parts of the intended target docuemnt. This document can then be normative for the IETF's future work on that same topic. Although this is initially more work for the IETF, it avoids the problem of inaccessible later references to the same target material. A possible example of this practice is [RFC3339].

Downref Registry
The IETF has previously established a registry of downrefs to RFCs that have been previously waived by the IESG in the manner described in Section 4.2. The registry includes the name of the referenced RFC and the Internet-Draft whose publication resulted it its addition to the registry. The IESG is responsible for the maintenance of this registry, adding new entries to it as appropriate.
Going forward, new registry entries should also record the reason the registry addition was made, the name of the external body owning the target reference, and the name of the Area Director making the new entry.
Note that there is currently no registry of downrefs to non-IETF documents.

Security Considerations
This document is not known to create any new vulnerabilities for the Internet. On the other hand, inappropriate or excessive use of these processes might be considered a downgrade attack on the quality of IETF standards or, worse, on the rigorous review of security aspects of standards.

Normative References

Informative References
[RFC2026]
[RFC3967]
[RFC4897]
[RFC8067]
[RFC1321]
[RFC2104]
[RFC4858]
[RFC4052]
[RFC3339]

Changes
The following are the changes in this document relative to the current state of BCP 97:
- Apply erratum #2793.
- Remove references to RFC 1818, which is historic.
- Describe the downref registry's format and ownership.
- Discuss restricted-access documents.
- Allow for skipping downref annotations when the target document is understood to be stable.
- Stronger language against using this process when advancing the target document is The Right Thing To Do.
- Replace MIB guidance with YANG guidance.

Acknowledgments
This editor offers a salute to the authors of and contributors to RFC 3967, RFC 4897, and RFC 8067: Randy Bush, Thomas Narten, John Klensin, Sam Hartman, and Barry Leiba.
This revision benefited from contributions by Carsten Bormann, Mohamed Boucadair, Scott Bradner, Brian Carpenter, Ned Freed, Russ Housley, John Klensin, Michael Richardson, and Rich Salz.