Internet DRAFT - draft-saintandre-2119bis

draft-saintandre-2119bis






Network Working Group                                     P. Saint-Andre
Internet-Draft                                       Cisco Systems, Inc.
Obsoletes: 2119 (if approved)                            August 29, 2011
Intended status: BCP
Expires: March 1, 2012


            Conformance Terms to Indicate Requirement Levels
                      draft-saintandre-2119bis-01

Abstract

   In many protocol specifications and related documents, special
   conformance terms (e.g., the uppercase words "MUST", "SHOULD", and
   "MAY") are often used to signify requirement levels.  This document
   defines these conformance terms and describes how they are to be
   interpreted in documents produced within the Internet Standards
   Process.  If approved, this document obsoletes RFC 2119 and changes
   its status to Historic.

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 March 1, 2012.

Copyright Notice

   Copyright (c) 2011 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



Saint-Andre               Expires March 1, 2012                 [Page 1]

Internet-Draft              Conformance Terms                August 2011


   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.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 3
     2.1.  MUST  . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
     2.2.  MUST NOT  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     2.3.  SHOULD  . . . . . . . . . . . . . . . . . . . . . . . . . . 3
     2.4.  SHOULD NOT  . . . . . . . . . . . . . . . . . . . . . . . . 4
     2.5.  MAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   3.  Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Boilerplate . . . . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   8.  Differences from RFC 2119 . . . . . . . . . . . . . . . . . . . 5
   9.  Informative References  . . . . . . . . . . . . . . . . . . . . 6
   Appendix A.  Changelog  . . . . . . . . . . . . . . . . . . . . . . 6
     A.1.  00 to 01  . . . . . . . . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 6



























Saint-Andre               Expires March 1, 2012                 [Page 2]

Internet-Draft              Conformance Terms                August 2011


1.  Introduction

   In many protocol specifications and related documents, special
   conformance terms (e.g., the uppercase words "MUST", "SHOULD", and
   "MAY") are often used to signify requirement levels.  This document
   defines these conformance terms and describes how they are to be
   interpreted in documents produced within the Internet Standards
   Process [BCP9].  If approved, this document obsoletes RFC 2119 and
   changes its status to Historic.

   The discussion venue for this document is the <ietf@ietf.org> mailing
   list, for which archives and subscription information are available
   at <https://www.ietf.org/mailman/listinfo/ietf>.

   [[ NOTE TO RFC EDITOR: Upon publication, please remove the foregoing
   paragraph. ]]


2.  Definitions

2.1.  MUST

   This term means that the feature or behavior is an absolute
   requirement of the specification, so that an implementation has an
   obligation to implement the feature or to behave as defined.  The
   terms "SHALL" and "REQUIRED" are equivalent to "MUST".

2.2.  MUST NOT

   This term means that the feature or behavior is an absolute
   prohibition of the specification, so that an implementation has an
   obligation to not implement the feature or to not behave as defined.
   The term "SHALL NOT" is equivalent to "MUST NOT".

2.3.  SHOULD

   This term means that the feature or behavior is a conditional
   requirement of the specification, so that an implementation has an
   obligation to implement the feature or to behave as defined unless
   there is a strong reason why it might be prudent not to do so in
   particular circumstances.  Specification authors are strongly
   encouraged to clearly describe such reasons, along with the
   implications of not conforming with the conditional requirement.
   Those who implement the specification or deploy conformant
   technologies need to understand and carefully weigh the full
   implications of not conforming to the conditional requirement before
   doing so.  The term "RECOMMENDED" is equivalent to "SHOULD".




Saint-Andre               Expires March 1, 2012                 [Page 3]

Internet-Draft              Conformance Terms                August 2011


2.4.  SHOULD NOT

   This term means that the feature or behavior is a conditional
   prohibition of the specification, so that an implementation has an
   obligation to not implement the feature or to not behave as defined
   unless there is a strong reason why it might be prudent to do so in
   particular circumstances.  Specification authors are strongly
   encouraged to clearly describe such reasons, along with the
   implications of not conforming with the conditional prohibition.
   Those who implement the specification or deploy conformant
   technologies need to understand and carefully weigh the full
   implications of not conforming to the conditional prohibition before
   doing so.  The term "NOT RECOMMENDED" is equivalent to "SHOULD NOT".

2.5.  MAY

   This term means that the feature or behavior is purely discretionary.
   One implementation can choose to implement the feature or behavior
   whereas another implementation can choose not to, without any
   resulting harm to interoperability.  An implementation that does not
   implement the feature or behavior needs to interoperate with another
   implementation that does do so, although perhaps with reduced
   functionality.  Likewise, an implementation that implements the
   feature or behavior needs to interoperate with another implementation
   that does not do so (except, of course, with respect to the defined
   feature or behavior).  The term "OPTIONAL" is equivalent to "MAY".


3.  Usage

   The conformance terms defined in this document ought to be used
   judiciously.  In particular, the absolute and conditional
   requirements and prohibitions ought be used only to specify features
   and behaviors that are necessary for interoperability, or to forbid
   features and behaviors that have the potential to cause significant
   harm.  For example, such terms are not to be used to impose a
   particular method on implementers if the method is not necessary for
   interoperability.

   When it is not appropriate to use the conformance terms, authors can
   use a variety of alternative words and phrases, such as: "need to" or
   "mandatory" instead of "MUST"; "ought to" or "strongly encouraged"
   instead of "SHOULD"; and "might" or "discretionary" instead of "MAY".
   To prevent confusion, authors ought to use these alternative words
   and phrases instead of the lowercase versions of the conformance
   terms, and to use the conformance terms only in their uppercase
   versions.




Saint-Andre               Expires March 1, 2012                 [Page 4]

Internet-Draft              Conformance Terms                August 2011


4.  Boilerplate

   In order for the requirements force of the conformance terms to
   apply, authors who follow the guidelines specified herein need to
   incorporate this sentence near the beginning of their documents:

      The following conformance terms are to be interpreted as described
      in [RFCXXXX]: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL
      NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED";
      "MAY", "OPTIONAL".

   [[ NOTE TO RFC EDITOR: Upon publication, please change "XXXX" to the
   number assigned to this document. ]]


5.  Security Considerations

   The conformance terms defined in this document are frequently used to
   specify features and behaviors that have security implications.  The
   effects on security of not implementing a "MUST" or a "SHOULD", or of
   doing something the specification says "MUST NOT" or "SHOULD NOT" be
   done, can be very subtle.  Specification authors are strongly
   encouraged to clearly describe the security implications of not
   conforming to absolute and conditional requirements, since
   implementers might not have the benefit of the experience and
   discussion that produced the specification.


6.  IANA Considerations

   This document requests no actions of the IANA.


7.  Acknowledgements

   This document borrows text from [RFC2119]; Scott Bradner, the author
   of that document, is gratefully acknowledged.

   Thanks also to Harald Alvestrand and Julian Reschke for their
   feedback.


8.  Differences from RFC 2119

   The following modifications were made from RFC 2119.






Saint-Andre               Expires March 1, 2012                 [Page 5]

Internet-Draft              Conformance Terms                August 2011


   o  Clarified the definitions to specify that features and behaviors
      are absolutely required ("MUST"), absolutely prohibited ("MUST
      NOT"), conditionally required ("SHOULD"), conditionally prohibited
      ("SHOULD NOT"), or purely discretionary ("MAY").
   o  Expanded the definitions of "SHOULD" and "SHOULD NOT" to include
      the notion of conforming unless there is a strong reason to do so,
      and encouraged specification authors to clearly describe such
      reasons and the implications of not conforming.
   o  Suggested alternative words and phrases for use when the
      conformance terms are not appropriate.
   o  Encourage use of the conformance terms only in their uppercase
      versions.
   o  Modified the title to use the phrase "conformance terms" instead
      of the phrase "key words".
   o  Modified the boilerplate to include "NOT RECOMMENDED" (erratum
      #499) and to group similar terms together.


9.  Informative References

   [BCP9]     Bradner, S., "The Internet Standards Process -- Revision
              3", BCP 9, RFC 2026, October 1996.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.


Appendix A.  Changelog

   [[ NOTE TO RFC EDITOR: Upon publication, please delete this entire
   section. ]]

A.1.  00 to 01

   o  Added section describing differences from RFC 2119.
   o  Changed "limited" to "conditional" in definitions of "SHOULD" and
      "SHOULD NOT".
   o  Changed "truly a matter of preference" to "purely discretionary"
      in definition of "MAY".
   o  Recommended that specification authors clearly describe the
      reasons why it might be prudent to not conform with "SHOULD" and
      "SHOULD NOT" statements, and the implications of non-conformance.
   o  Adjusted and harmonized wording throughout.








Saint-Andre               Expires March 1, 2012                 [Page 6]

Internet-Draft              Conformance Terms                August 2011


Author's Address

   Peter Saint-Andre
   Cisco Systems, Inc.
   1899 Wyknoop Street, Suite 600
   Denver, CO  80202
   USA

   Phone: +1-303-308-3282
   Email: psaintan@cisco.com









































Saint-Andre               Expires March 1, 2012                 [Page 7]