Internet-Draft downref October 2021
Kucherawy Expires 7 April 2022 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-kucherawy-bcp97bis-00
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 7 April 2022.

Table of Contents

1. Introduction

The Internet Standards Process [RFC2026] 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 [RFC1818] have generally been considered similar to Standards Track documents in terms of what they can reference. For example, a normative reference to an Experimental RFC has been considered an improper reference per [RFC2026].

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 new RFC, or whose contents are effectively part of the new RFC, as its omission would leave the new 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 implementors 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 MIB documents, an IMPORTS clause 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.

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 BCPs but not Informational, Experimental, or Historic documents of any variety or origin.

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.

At the option of the author/editor, similar notes may be attached to non-normative references.

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

5. 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 considered preferable to the use of either this procedure or the one specified in [RFC3967]. 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 [RFC3967].

6. Non-IETF Target Documents

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

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

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

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>.
[RFC1818]
Postel, J., Li, T., and Y. Rekhter, "Best Current Practices", RFC 1818, DOI 10.17487/RFC1818, , <https://www.rfc-editor.org/info/rfc1818>.
[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>.
[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>.

Appendix A. Changes Since RFC8067

The following are the changes in this document relative to the prior 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.

Author's Address

Murray Kucherawy (editor)