RFC Errata
RFC 2119, "Key words for use in RFCs to Indicate Requirement Levels", March 1997
Source of RFC: IETF - NON WORKING GROUPArea Assignment: gen
Errata ID: 2969
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: John Klensin
Date Reported: 2011-09-12
Held for Document Update by: Russ Housley
Section 1,3,4 says:
(1) "The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" mean (2) 1. MUST This word, or the terms "REQUIRED" or "SHALL", mean (3) 3. SHOULD This word, or the adjective "RECOMMENDED", mean (4) 4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean
It should say:
(1) "The key words "MUST", "MUST NOT", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", and "MAY" means (2) 1. MUST This word, or the term "SHALL", means (3) 3. SHOULD This word means (4) 4. SHOULD NOT This phrase means Editorial note: The use of "mean" after a singular subject is simply wrong. Subordinate phrases like ", or the term BLATHER," do nothing to change that.
Notes:
RFC 2026, to which RFC 2119 should be subordinate, carefully distinguishes between Technical Specifications (TS) and Applicability Statements (AS). Its Section 3.3 prescribes specific language to be used in ASs, with categories "Required", "Recommended", "Elective", "Limited Use", and "Not Recommended", while 2119's language, especially in its Section 6, fairly clearly apply to interoperability requirements within TS documents. Use of terms that 2026 requires for AS documents in a TS context (as synonyms for other, unambiguous, terms) is just an invitation to confusion, especially if the IETF continues to have hair-splitting arguments about the nature of requirements in particular contexts. Consequently, while the change proposed in erratum 419 (altering the definition phrase to reflect the language of Section 4) appears reasonable from an editorial standpoint, the correct fix is to remove the 2026 AS terms as acceptable synonyms from 2119 entirely. If people want to say "SHOULD NOT" and give it specific meaning, they should say "SHOULD NOT" rather than trying to use nearly-synonymous terms and hoping that the reader will figure out what was really met.