Internet-Draft downref October 2022
Kucherawy Expires 23 April 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-kucherawy-bcp97bis-04
Obsoletes:
3967, 4897, 8067 (if approved)
Published:
Intended Status:
Best Current Practice
Expires:
Author:
M. Kucherawy, Ed.

Procedures for Standards Track Documents to Refer Normatively to Documents at a Lower Level

Abstract

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.

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 23 April 2023.

Table of Contents

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

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

2. 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:

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

4. Procedure

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

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

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.

When the document is prepared to submit to the IESG for approval, a document shepherd writeup [RFC4858] is normally prepared. This writeup should contain a description of any downrefs that appear in the document, and should make particular note of any downref that is not identified by an annotation in the References section.

4.2. The IESG

With appropriate community review, the IESG may establish procedures for when normative downref should delay a document and when downrefs should simply 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" defined in Section 6.

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

5. Non-IETF Target Documents

Section 7 of [RFC2026] provided the original guidance for use of externally-produced standards documents. This section updates that document and provides revised guidance.

A reference to a non-IETF document provides a few challenges relative to the RFC series:

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

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

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

8. References

8.1. Normative References

[RFC2026]
Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, , <https://www.rfc-editor.org/info/rfc2026>.
[RFC3967]
Bush, R. and T. Narten, "Clarifying when Standards Track Documents may Refer Normatively to Documents at a Lower Level", BCP 97, RFC 3967, DOI 10.17487/RFC3967, , <https://www.rfc-editor.org/info/rfc3967>.
[RFC4897]
Klensin, J. and S. Hartman, "Handling Normative References to Standards-Track Documents", BCP 97, RFC 4897, DOI 10.17487/RFC4897, , <https://www.rfc-editor.org/info/rfc4897>.
[RFC8067]
Leiba, B., "Updating When Standards Track Documents May Refer Normatively to Documents at a Lower Level", BCP 97, RFC 8067, DOI 10.17487/RFC8067, , <https://www.rfc-editor.org/info/rfc8067>.

8.2. Informative References

[RFC1321]
Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, DOI 10.17487/RFC1321, , <https://www.rfc-editor.org/info/rfc1321>.
[RFC2104]
Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, DOI 10.17487/RFC2104, , <https://www.rfc-editor.org/info/rfc2104>.
[RFC3339]
Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, , <https://www.rfc-editor.org/info/rfc3339>.
[RFC4052]
Daigle, L., Ed. and Internet Architecture Board, "IAB Processes for Management of IETF Liaison Relationships", BCP 102, RFC 4052, DOI 10.17487/RFC4052, , <https://www.rfc-editor.org/info/rfc4052>.
[RFC4858]
Levkowetz, H., Meyer, D., Eggert, L., and A. Mankin, "Document Shepherding from Working Group Last Call to Publication", RFC 4858, DOI 10.17487/RFC4858, , <https://www.rfc-editor.org/info/rfc4858>.

Appendix A. Changes

The following are the changes in this document relative to the current state of BCP 97:

Appendix B. 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.

Author's Address

Murray Kucherawy (editor)