Network Working Group T. Hansen Internet-Draft AT&T Laboratories Intended status: Best Current Practice D. Crocker Expires: October 31, 2012 Brandenburg InternetWorking May 2012 Non-Normative Synonyms in RFCs draft-hansen-nonkeywords-non2119-02 Abstract Specifications in RFCs contain normative keywords, as defined in RFC 2119, to signify requirements, permission or prohibitions. These include MUST, SHOULD and MAY, which are commonly recorded in all CAPITALS (but need not be). The words are sometimes also intended with non-normative meaning; this different usage can be confusing. Happily there are adequate alternatives for non-normative meanings. For such situations, this document provides some alternatives to the normative vocabulary of RFC 2119. 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 http://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 October 31, 2012. Copyright Notice Copyright (c) 2012 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) 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. 1. A List of Synonyms Hansen & Crocker Expires October 31, 2012 [Page 1] Internet-Draft RFC Non-Keywords May 2012 To indicate a degree of requirement, permission or prohibition for an aspect of a specification, words such as MUST, SHOULD and MAY are defined as normative vocabulary in the formal aspects of the RFC series.[RFC2119]. However it is also natural to use them non- normatively, in a narrative fashion. Even when this is permitted, such as RFCs that do not invoke the conventions of RFC 2119, non- normative use of these words is often confusing; their normative meaning is too deeply ingrained in the culture of the RFC series. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Fortunately, there are other words readily available, in lieu of the RFC 2119 words. These alternatives, or their equivalents, SHOULD be used instead of their normatively-encumbered vocabulary. MUST, REQUIRED, SHALL: The words "needs to" and "necessary" SHOULD be used to connote that something is essential. SHOULD, RECOMMENDED: The words "ought", "encouraged" and "suggest strongly" SHOULD be used to connote that something is strongly urged. MAY, OPTIONAL: The words "can" and "might" SHOULD be used to indicate the possibility or capability of performing an action. The words "is allowed to" or "is permitted to" SHOULD be used to indicate permission to perform an action. NOT: The word "not" can be freely used with any of the above suggestions and will not be taken to have any separate RFC 2119 connotation. The word only takes on a special meaning when it is combined with one of the RFC 2119 normative words. For example, "ought not" is non-normative, while "should not" and "SHOULD NOT" are normative in the RFC 2119 sense. RFCs that cite RFC2119 vocabulary usage MUST NOT employ the listed, normative vocabulary for non-normative meaning. RFCs that do not cite RFC2119 SHOULD NOT employ that vocabulary. Note that the above list of synonyms is not meant to be exhaustive; other non-RFC2119-normative words MAY also be used at the author's discretion. Authors who follow these guidelines MAY incorporate a declaration at the beginning of their document, but note that this is not required. This document can be discussed on the ietf@ietf.org mailing list. 2. Acknowledgements Hansen & Crocker Expires October 31, 2012 [Page 2] Internet-Draft RFC Non-Keywords May 2012 Ran Atkinson 3. IANA Considerations This document has no IANA considerations. 4. Security Considerations The 2119 terms are frequently used to specify behavior with security implications. The effects on security of changing something from a "MUST" to a "needs to", or vice versa, can be very subtle, as one has normative meaning and the other does not. Document authors need to take the time to consider the effects of using non-normative verbiage as specified in this document instead of the normative verbiage from 2119. 5. References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Authors' Addresses Tony Hansen AT&T Laboratories 200 Laurel Ave South Middletown, NJ 07748 USA Phone: +1.732.420.8934 Email: tony+nonkeywords@maillennium.att.com D. Crocker Brandenburg InternetWorking 675 Spruce Dr. Sunnyvale, USA Phone: +1.408.246.8253 Email: dcrocker@bbiw.net URI: http://bbiw.net Hansen & Crocker Expires October 31, 2012 [Page 3]