Re: RFC 2119 terms, ALL CAPS vs lower case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed May 16 21:10:02 2012, Randy Bush wrote:
> Authors must be fastidious about this.

s/this/documents/

RFC 2119 §6 says:

  Imperatives of the type defined in this memo must be used with care
  and sparingly.  In particular, they MUST only be used where it is
  actually required for interoperation or to limit behavior which has
  potential for causing harm (e.g., limiting retransmisssions).  For
  example, they must not be used to try to impose a particular method
  on implementors where the method is not required for
  interoperability.

I note two things:

1) RFC 2119 also uses lower-case "must" and "may" throughout.

2) RFC 2119 also clearly states that using the terms too much will harm interoperability.

The second is the one I feel we have violated much more, and caused much more damage, than any possible problem with the first.

Consider:

"An octet may contain 0-255".

This is most certainly not going to be helped if we say:

"An octet MAY contain 0-255".

We could either rephrase:

"An octet contains 0-255".

Or use a different awkward word - although up with this I will not put:

"An octet might contain 0-255" - or it might not?

But many requirements can be re-cast as statements of fact about valid protocol:

"The Foo octet MUST lie between 0 and 127 inclusive; that is, the highest bit MUST NOT be set."

As Pete Resnick, I think, once said, these terms are not just a stick to beat people with.

"A valid Foo octet lies between 0 and 127 inclusive; that is, the highest bit is never set."

That's just as clear, to me, and allows me to concentrate the MUST stick where I actually do want to stress a real problem, perhaps:

"Receivers of an invalid Foo octet - that is, one with the highest bit set - MUST emit the 'Invalid Foo' error, and therefore terminate the session immediately."

Overuse of RFC 2119 language reduces its utility.

Dave.
--
Dave Cridland - mailto:dave@xxxxxxxxxxxx - xmpp:dwd@xxxxxxxxxxxxxxxxx
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade


[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]