Network Working Group M. Kucherawy, Ed. Internet-Draft 20 September 2022 Obsoletes: 3967, 4897, 8067 (if approved) Intended status: Best Current Practice Expires: 24 March 2023 Procedures for Standards Track Documents to Refer Normatively to Documents at a Lower Level draft-kucherawy-bcp97bis-03 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 24 March 2023. Copyright Notice Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved. Kucherawy Expires 24 March 2023 [Page 1] Internet-Draft downref September 2022 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Normative References . . . . . . . . . . . . . . . . . . 3 2. The Need for Downward References . . . . . . . . . . . . . . 4 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Authors and Editors . . . . . . . . . . . . . . . . . . . 5 4.2. The IESG . . . . . . . . . . . . . . . . . . . . . . . . 6 5. IETF Target Documents . . . . . . . . . . . . . . . . . . . . 7 6. Non-IETF Target Documents . . . . . . . . . . . . . . . . . . 7 7. Downref Registry . . . . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 9 Appendix A. Changes . . . . . . . . . . . . . . . . . . . . . . 10 Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 10 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 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. Kucherawy Expires 24 March 2023 [Page 2] Internet-Draft downref September 2022 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: Kucherawy Expires 24 March 2023 [Page 3] Internet-Draft downref September 2022 * 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: * 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. Kucherawy Expires 24 March 2023 [Page 4] Internet-Draft downref September 2022 * A BCP document may want to describe best current practices for experimental or informational specifications. 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. Kucherawy Expires 24 March 2023 [Page 5] Internet-Draft downref September 2022 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. 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 Kucherawy Expires 24 March 2023 [Page 6] Internet-Draft downref September 2022 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. 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 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. 6. 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; Kucherawy Expires 24 March 2023 [Page 7] Internet-Draft downref September 2022 * 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]. 7. 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. Kucherawy Expires 24 March 2023 [Page 8] Internet-Draft downref September 2022 Note that there is currently no registry of downrefs to non-IETF documents. 8. 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. 9. References 9.1. Normative References [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, . [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, December 2004, . [RFC4897] Klensin, J. and S. Hartman, "Handling Normative References to Standards-Track Documents", BCP 97, RFC 4897, DOI 10.17487/RFC4897, June 2007, . [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, January 2017, . 9.2. Informative References [RFC1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, DOI 10.17487/RFC1321, April 1992, . [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- Hashing for Message Authentication", RFC 2104, DOI 10.17487/RFC2104, February 1997, . [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, . Kucherawy Expires 24 March 2023 [Page 9] Internet-Draft downref September 2022 [RFC4052] Daigle, L., Ed. and Internet Architecture Board, "IAB Processes for Management of IETF Liaison Relationships", BCP 102, RFC 4052, DOI 10.17487/RFC4052, April 2005, . [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, May 2007, . Appendix A. 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. 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) Email: superuser@gmail.com Kucherawy Expires 24 March 2023 [Page 10]