RFC 5741
RFC Streams, Headers, and Boilerplates
RFC 5741: RFC Streams, Headers, and Boilerplates ๐
Okay bestie, this one's from the IAB (Internet Architecture Board) ๐. It's edited by L. Daigle, Ed. and O. Kolkman, Ed., written "For the IAB" ๐ , and dated December 2009. It's Informational ๐ง, which means it's published for the record and isn't a Standards Track thing. It updates [RFC2223] and [RFC4844] ๐ฅ, and it doesn't list anything it obsoletes. The ISSN is 2070-1721 ๐ฆ.
Internet Architecture Board (IAB) L. Daigle, Ed.
Request for Comments: 5741 O. Kolkman, Ed.
Updates: 2223, 4844 For the IAB
Category: Informational December 2009
ISSN: 2070-1721
Abstract โจ
ngl, RFCs are full of fixed bits: the title page header, the standard boilerplates, and the copyright and IPR statements ๐. This doc walks through all of them and introduces some updates so they match how RFCs are actually used and published now ๐ธ. The big goal is to make it super clear where an RFC came from and who reviewed it ๐ซถ.
Status of This Memo ๐
This document is not an Internet Standards Track specification ๐. It's published for informational purposes.
This document is a product of the Internet Architecture Board (IAB) and represents information that the IAB decided is valuable enough to keep on permanent record ๐. Documents the IAB approves for publication are not a candidate for any level of Internet Standard, so see Section 2 of RFC 5741 ๐.
Info about this doc's current status, any errata, and how to send feedback lives at http://www.rfc-editor.org/info/rfc5741 ๐.
Copyright Notice ๐
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved ๐ .
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they're in effect on the date this document was published ๐. Please actually read these, because they spell out your rights and restrictions for this document ๐. Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the BSD License โ ๏ธ.
Table of Contents ๐งพ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. RFC Streams and Internet Standards . . . . . . . . . . . . . . 3
3. RFC Structural Elements . . . . . . . . . . . . . . . . . . . 3
3.1. The Title Page Header . . . . . . . . . . . . . . . . . . 3
3.2. The Status of this Memo . . . . . . . . . . . . . . . . . 5
3.2.1. Paragraph 1 . . . . . . . . . . . . . . . . . . . . . 6
3.2.2. Paragraph 2 . . . . . . . . . . . . . . . . . . . . . 6
3.2.3. Paragraph 3 . . . . . . . . . . . . . . . . . . . . . 8
3.2.4. Noteworthy . . . . . . . . . . . . . . . . . . . . . . 9
3.3. Additional Notes . . . . . . . . . . . . . . . . . . . . . 9
3.4. Other Structural Information in RFCs . . . . . . . . . . . 9
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9
5. RFC Editor Considerations . . . . . . . . . . . . . . . . . . 10
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1. Normative References . . . . . . . . . . . . . . . . . . . 10
6.2. Informative References . . . . . . . . . . . . . . . . . . 10
Appendix A. Some Example 'Status of This Memo' Boilerplates . . . 12
A.1. IETF Standards Track . . . . . . . . . . . . . . . . . . . 12
A.2. IETF Experimental, with Consensus Call . . . . . . . . . . 12
A.3. IETF Experimental, No Consensus Call . . . . . . . . . . . 13
A.4. IAB Informational . . . . . . . . . . . . . . . . . . . . 13
A.5. IRTF Experimental, No Consensus Call . . . . . . . . . . . 14
A.6. Independent Submission Informational . . . . . . . . . . . 15
Appendix B. IAB Members at Time of Approval . . . . . . . . . . . 15
Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 15
1. Introduction โจ
Okay so, back in the day, RFCs (like [RFC4844]) had a bunch of stuff in them for historical, practical, and legal reasons ๐. They also had boilerplate text to make the document's status really obvious ๐, and sometimes they had "Notes" explaining how the doc related to IETF Standards Track documents ๐.
As the RFC Series grew up, people got more and more worried about labeling things properly ๐ญ. Like, the status of each RFC and the status of the work it describes needed to be crystal clear ๐. The big thing is that RFCs published through the IETF's review process should never be easy to mix up with RFCs that went through a totally different review and approval process ๐ โโ๏ธ. People made tweaks over the years, including changing the text of those "Notes" in the published RFC ๐ .
Now that the different RFC streams exist [RFC4844], it makes sense to formally define each piece of standard RFC boilerplate and make some adjustments for clearer document status ๐. Those changes line up with the review and approval process for each stream ๐ซถ.
This memo identifies and describes the common parts of the RFC boilerplate structure and gives a full approach for updating and using those parts so RFC documents and their content status are communicated clearly ๐ธ. Most of the historical structure info comes from [RFC2223] ๐.
The changes in this memo should get implemented as soon as practically possible after the document has been approved for publication โฐ.
2. RFC Streams and Internet Standards ๐ฆ
Quick reality check: all Internet Standards-related documents get published as RFCs, but not every RFC is an Internet Standards-related document ๐โโ๏ธ. Keep that in mind!
The IETF is in charge of maintaining the Internet Standards Process ๐, which covers the requirements for developing, reviewing, and approving Standards Track and BCP RFCs ๐ฅ. The IETF also makes non-Standards-Track documents (Informational, Experimental, and Historic) ๐ง. Every document published as part of the IETF Stream gets reviewed by the right IETF bodies โ .
Documents published in streams other than the IETF Stream usually aren't reviewed by the IETF for things like security, congestion control, or bad interaction with deployed protocols ๐ฌ. They also haven't been approved by the Internet Engineering Steering Group (IESG), including an IETF-wide last call ๐. So the IETF disclaims, for any non-IETF Stream document, any knowledge of whether those RFCs are fit for any purpose ๐.
For the current details on the IETF process and RFC streams, check out [RFC2026], [RFC5742], and [RFC4844], plus whatever their successors are ๐.
3. RFC Structural Elements ๐
3.1. The Title Page Header ๐
This section covers the elements you'll commonly find in RFCs published today ๐. For clarity, this doc spells out the elements precisely, like a spec ๐. But it's not meant to lock in one single, static format ๐ โโ๏ธ. The RFC Editor decides the formatting details ๐๏ธ, and any big changes to the header and boilerplate structure and content might happen in the future, and those are subject to general oversight and review by the IAB ๐.
An RFC title page header looks like this ๐งพ:
------------------------------------------------------------------------
<document source> <author name>
Request for Comments: <RFC number> [<author affiliation>]
[<subseries ID> <subseries number>] [more author info as appropriate]
[<RFC relation>:<RFC number[s]>]
Category: <category>
<month year>
------------------------------------------------------------------------
Here's an example of an earlier RFC header ๐ :
------------------------------------------------------------------------
Network Working Group T. Dierks
Request for Comments: 4346 Independent
Obsoletes: 2246 E. Rescorla
Category: Standards Track RTFM, Inc.
April 2006
------------------------------------------------------------------------
The right column holds the author name and affiliation info, plus the RFC publication month ๐๏ธ. The rules for those elements live in the RFC style norms and some individual stream definitions ๐.
This section is mostly about the info in the left column ๐:
<document source> ๐๏ธ This tells you where the work came from. Back in the day, every RFC got labeled Network Working Group. That name referred to the original version of today's IETF, when people from the original ARPANET sites, plus anyone else who was interested (the meetings were open!), got together to discuss, design, and document proposed protocols [RFC0003] ๐ฐ๏ธ. Now we're retiring the term "Network Working Group" so the header can show the originating stream instead ๐ซถ.
The <document source> is the name of the RFC stream, as defined in [RFC4844] and its successors โจ. At the time of this publication, the streams, and therefore the possible entries, are:
- Internet Engineering Task Force (IETF) ๐ธ
- Internet Architecture Board (IAB) ๐
- Internet Research Task Force (IRTF) ๐ฌ
- Independent Submission ๐ฆ
Request for Comments: <RFC number> ๐ข This is the RFC number, assigned by the RFC Editor when the document gets published. This element is unchanged ๐
.
<subseries ID> <subseries number> ๐ Some document categories are also labeled as a subseries of RFCs ๐ง. These elements show up where they make sense for those categories, showing the subseries and the document's number within it. Right now, there are subseries for BCPs [RFC2026], STDs [RFC1311], and FYIs [RFC1150] ๐. Subseries numbers can show up in several RFCs. For example, when a new RFC obsoletes or updates an old one, the same subseries number gets used ๐. Also, several RFCs can share the same subseries number: a single STD, for example, can be made up of several RFCs, and each one bears the same STD number ๐งฉ. This element is unchanged โ
.
[<RFC relation>: <RFC number[s]>] ๐ Some relationships between RFCs in the series get noted right in the RFC header ๐. For example, a new RFC might update one or more earlier RFCs ๐. Two relationships are defined right now: "Updates" and "Obsoletes" [RFC2223] ๐ซ. Alternatives like "Obsoleted by" also get used (for example, in [RFC5143]) ๐. Other types of relationships might be defined by the RFC Editor and show up in future RFCs ๐ฎ.
Category: <category> ๐ท๏ธ This is the initial RFC document category of the publication, as defined in [RFC2026] ๐. Right now, it's always one of these: Standards Track, Best Current Practice, Experimental, Informational, or Historic ๐. This element is unchanged ๐.
3.2. The Status of this Memo ๐
The "Status of This Memo" describes the category of the RFC, including the distribution statement ๐ฃ. This text is included no matter what source stream the RFC comes from ๐.
The "Status of This Memo" starts with a single sentence describing the status โ๏ธ. It also includes a statement about the stream-specific review of the material (which depends on the stream) ๐. This part matters a lot, because it shows how broad and deep the review was and helps the reader figure out how to think about the content ๐ง โจ.
3.2.1. Paragraph 1 โจ
Okay bestie, the first paragraph of the Status of this Memo section is literally just one sentence ๐ซถ and it's supposed to stand out. The sentence depends on what category the document is in, so here's the lineup:
For 'Standards Track' documents:
"This is an Internet Standards Track document."
For 'Best Current Practices' documents:
"This memo documents an Internet Best Current Practice."
For other categories:
"This document is not an Internet Standards Track specification;
<it is published for other purposes>."
For Informational, Experimental, Historic and future categories of RFCs, the RFC Editor keeps an appropriate text for <it is published for other purposes> ๐ Suggested starting values are:
Informational:
"it is published for informational purposes."
Historic:
"it is published for the historical record."
Experimental:
"it is published for examination, experimental implementation, and
evaluation."
3.2.2. Paragraph 2 ๐
The second paragraph of the "Status of This Memo" is where the document gets its review and exposure receipts ๐งพ This is defined per stream, with general review and oversight from the RFC Editor and the IAB. It's giving structure, because there's a specific layout here so everyone knows which review process and which document type they're looking at. These paragraphs need to be defined and maintained as part of the RFC stream definitions. The suggested initial text for the current streams is below.
The paragraph might include some text that's specific to the initial document category. When a document is Experimental or Historic, the second paragraph opens with:
Experimental:
"This document defines an Experimental Protocol for the Internet
community."
Historic:
"This document defines a Historic Document for the Internet
community."
The text that comes after that is stream dependent. These are suggested initial values, and they may be updated through stream definition document updates ๐ธ
IETF Stream:
"This document is a product of the Internet Engineering Task Force
(IETF)."
If there has been an IETF consensus call per the IETF process, an additional sentence should be added:
"It represents the consensus of the IETF community. It has received
public review and has been approved for publication by the Internet
Engineering Steering Group (IESG)."
If there has not been such a consensus call, then it simply reads:
"It has been approved for publication by the Internet Engineering
Steering Group (IESG)."
IAB Stream:
"This document is a product of the Internet Architecture Board (IAB)
and represents information that the IAB has deemed valuable to provide
for permanent record."
IRTF Stream:
"This document is a product of the Internet Research Task Force
(IRTF). The IRTF publishes the results of Internet-related research
and development activities. These results might not be suitable for
deployment."
On top of that, a sentence about the consensus base within the IRTF may be added ๐ฌ
"This RFC represents the consensus of the <insert_name> Research Group
of the Internet Research Task Force (IRTF)."
or alternatively
"This RFC represents the individual opinion(s) of one or more members
of the <insert_name> Research Group of the Internet Research Task
Force (IRTF)."
Independent Stream:
"This is a contribution to the RFC Series, independently of any other
RFC stream. The RFC Editor has chosen to publish this document at its
discretion and makes no statement about its value for implementation
or deployment."
For non-IETF stream documents, a reference to Section 2 of this RFC gets added with this sentence:
"Documents approved for publication by the [stream approver --
currently, one of: "IAB", "IRSG", or "RFC Editor"] are not a candidate
for any level of Internet Standard; see Section 2 of RFC 5741."
For IETF stream documents, a similar reference is added for BCP and Standards Track documents:
"Further information on [BCPs or Internet Standards] is available in
Section 2 of RFC 5741."
For all other categories:
"Not all documents approved by the IESG are a candidate for any level
of Internet Standard; see Section 2 of RFC 5741."
3.2.3. Paragraph 3 ๐ฆ
The boilerplate wraps up with a pointer to where you can find more relevant info ๐บ๏ธ That info might include, at the RFC Editor's discretion, whether the RFC has been updated or obsoleted, where it came from, a list of possible errata, how to send feedback and suggestions, and how to submit errata as described in [RFC-ERRATA]. The exact wording and URL can change at the RFC Editor's discretion, but the current text is:
"Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc<rfc-no>."
3.2.4. Noteworthy ๐ก
Heads up ๐ paragraphs 1 and 2 of the boilerplate only show the document's initial status. Over its lifetime, a document can change status, for example to Historic. That can't be reflected in the document itself, so it needs to be reflected in the information referred to in Section 3.2.3 ๐
3.3. Additional Notes ๐
Every so often, a review and publication process might prescribe extra notes that show up as labeled notes after the "Status of This Memo" ๐ซง
Yes, these have been a common feature of recent RFCs, but the whole goal of this document is to make the RFC structure clear enough that these notes aren't needed, or at least to make using them truly exceptional ๐
3.4. Other Structural Information in RFCs ๐งฉ
RFCs have other structural info elements too ๐ The RFC Editor is responsible for where these go and how they're laid out. Also, new elements may be introduced or obsoleted through a process consistent with [RFC4844], and those additions may or may not need documentation in an RFC.
Right now, the following structural info is available, or is being considered for inclusion in RFCs:
Copyright Notice: A copyright notice with a reference to BCP 78 [BCP78] and an Intellectual Property statement referring to BCP 78 and BCP 79 [BCP79]. The content of these statements is defined by those BCPs.
ISSN: The International Standard Serial Number [ISO3297]: ISSN 2070-1721. The ISSN uniquely identifies the RFC series as a title, regardless of the language or country it's published in. The ISSN has no significance beyond uniquely identifying a serial publication ๐
4. Security Considerations ๐
This document tries to clarify the descriptions of the status of an RFC. Misunderstanding the status of a memo could cause interoperability problems, and that means security and stability problems too. This is serious, so please read the status carefully ๐จ
5. RFC Editor Considerations ๐
The RFC Editor keeps the RFC series consistent, and to do that they maintain a style manual [RFC-style] ๐ This memo mentions a few explicit structural elements that the RFC Editor needs to maintain. The conventions for the content and use of all current and future elements are going to be documented in the style manual.
Putting a reference to the stream in the header of RFCs is only one way to clarify which stream an RFC came from ๐ซถ The RFC Editor is encouraged to add that indication in places like indices and interfaces too.
6. References ๐๏ธ
6.1. Normative References
[RFC2026] Bradner, S., "The Internet Standards Process --
Revision 3", BCP 9, RFC 2026, October 1996.
[RFC5742] Alvestrand, H. and R. Housley, "IESG Procedures for
Handling of Independent and IRTF Stream Submissions",
BCP 92, RFC 5742, December 2009.
6.2. Informative References
[ISO3297] Technical Committee ISO/TC 46, Information and
documentation, Subcommittee SC 9, Identification and
description., "Information and documentation -
International standard serial number (ISSN)", 09 2007.
[RFC0003] Crocker, S., "Documentation conventions", RFC 3,
April 1969.
[RFC1311] Postel, J., "Introduction to the STD Notes", RFC 1311,
March 1992.
[RFC1150] Malkin, G. and J. Reynolds, "FYI on FYI: Introduction
to the FYI Notes", RFC 1150, March 1990.
[RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC
Authors", RFC 2223, October 1997.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
[RFC4844] Daigle, L. and Internet Architecture Board, "The RFC
Series and RFC Editor", RFC 4844, July 2007.
[RFC5143] Malis, A., Brayley, J., Shirron, J., Martini, L., and
S. Vogelsang, "Synchronous Optical Network/Synchronous
Digital Hierarchy (SONET/SDH) Circuit Emulation Service
over MPLS (CEM) Encapsulation", RFC 5143,
February 2008.
[RFC-ERRATA] Hagens, A., Ginoza, S., and R. Braden, "RFC Editor
Proposal for Handling RFC Errata", Work in Progress,
May 2008.
[BCP78] Bradner, S., Ed. and J. Contreras, Ed., "Rights
Contributors Provide to the IETF Trust", BCP 78,
RFC 5378, November 2008.
[BCP79] Bradner, S., Ed. and T. Narten, Ed., "Intellectual
Property Rights in IETF Technology", BCP 79, RFC 3979,
April 2007.
Narten, T., "Clarification of the Third Party
Disclosure Procedure in RFC 3979", BCP 79, RFC 4879,
April 2007.
[RFC-style] RFC Editor, "RFC Style Guide",
<http://www.rfc-editor.org/styleguide.html>.
Appendix A. Some Example 'Status of This Memo' Boilerplates ๐
A.1. IETF Standards Track
The boilerplate for a Standards Track document that (by definition) has been through an IETF consensus call ๐ฅฐ
------------------------------------------------------------------------
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by
the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 5741.
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc<rfc-no>.
------------------------------------------------------------------------
A.2. IETF Experimental, with Consensus Call ๐งช
The boilerplate for an Experimental document that has been through an IETF consensus call ๐ฌ
A.3. IETF Experimental, No Consensus Call ๐งช
The boilerplate for an Experimental document that not has been subject to an IETF consensus call.
Status of This Memo
okay so this doc is NOT an Internet Standards Track specification ๐ โโ๏ธ it's published for examination, experimental implementation, and evaluation ๐ฌ
this document defines an Experimental Protocol for the Internet community ๐งช it's a product of the Internet Engineering Task Force (IETF) ๐ it has been approved for publication by the Internet Engineering Steering Group (IESG). not all documents approved by the IESG are a candidate for any level of Internet Standard, see Section 2 of RFC 5741 โจ
info about the current status of this document, any errata, and how to send feedback on it lives at http://www.rfc-editor.org/info/rfc<rfc-no> ๐ฆ
A.4. IAB Informational ๐ธ
The boilerplate for an Informational IAB document.
Status of This Memo
this document is NOT an Internet Standards Track specification, it's published for informational purposes ๐
this is a product of the Internet Architecture Board (IAB) ๐๏ธ and it represents information that the IAB decided was valuable to keep on the permanent record ๐๏ธ documents approved for publication by the IAB are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 ๐
info about the current status of this document, any errata, and how to send feedback on it lives at http://www.rfc-editor.org/info/rfc<rfc-no> โจ
A.5. IRTF Experimental, No Consensus Call ๐ญ
The boilerplate for an Experimental document that has been produced by the IRTF and for which there was no RG consensus. This variation is the most verbose boilerplate in the current set ๐ญ
Status of This Memo
this document is NOT an Internet Standards Track specification, it's published for examination, experimental implementation, and evaluation ๐งช
this document defines an Experimental Protocol for the Internet community ๐ฌ it's a product of the Internet Research Task Force (IRTF) ๐ the IRTF publishes the results of Internet-related research and development activities, and these results might not be suitable for deployment โ ๏ธ
this RFC represents the individual opinion(s) of one or more members of the <insert_name> Research Group of the Internet Research Task Force (IRTF) ๐ซถ documents approved for publication by the IRSG are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 ๐
info about the current status of this document, any errata, and how to send feedback on it lives at http://www.rfc-editor.org/info/rfc<rfc-no> โจ
A.6. Independent Submission Informational ๐ง
The boilerplate for an Informational document that has been produced by the Independent Submission stream.
Status of This Memo
this document is NOT an Internet Standards Track specification, it's published for informational purposes ๐
this is a contribution to the RFC Series, independently of any other RFC stream ๐ the RFC Editor chose to publish this document at its discretion and makes no statement about its value for implementation or deployment ๐คทโโ๏ธ documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 ๐
info about the current status of this document, any errata, and how to send feedback on it lives at http://www.rfc-editor.org/info/rfc<rfc-no> ๐
Appendix B. IAB Members at Time of Approval ๐
the IAB members at the time this memo was approved were (in alphabetical order): Loa Andersson, Gonzalo Camarillo, Stuart Cheshire, Russ Housley, Olaf Kolkman, Gregory Lebovitz, Barry Leiba, Kurtis Lindqvist, Andrew Malis, Danny McPherson, David Oran, Dave Thaler, and Lixia Zhang ๐ the IAB also had two ex-officio members: Dow Street, who was serving as the IAB Executive Director, and Aaron Falk, who was serving as the IRTF Chair ๐ซถ
Appendix C. Acknowledgements ๐
thanks to Bob Braden, Brian Carpenter, Steve Crocker, Sandy Ginoza, and John Klensin, who gave background info and inspiration ๐ธ
various people made suggestions that improved the document ๐ among them are: Lars Eggert, Alfred Hoenes, and Joe Touch ๐ฅฐ
this document was produced using the xml2rfc tool [RFC2629] ๐ ๏ธ
Authors' Addresses ๐ฆ
Leslie Daigle (editor) EMail: daigle@isoc.org, leslie@thinkingcat.com
Olaf M. Kolkman (editor) EMail: olaf@nlnetlabs.nl
Internet Architecture Board EMail: iab@iab.org
๐ฆ where this page comes from
- ietf: rfc5741 2009-12
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms