ietf
[Top] [All Lists]

RE: I'm struggling with 2219 language again

2013-01-04 13:19:34
Lou's view matches how I write and review documents.
I would add that there is sometimes value in using 2119-style language in
requirements documents ("The protocol solution MUST enable transmission of
data...") although, in my opinion, this requires a tweak to the normal2119
boilerplate.

Adrian

-----Original Message-----
From: ietf-bounces(_at_)ietf(_dot_)org 
[mailto:ietf-bounces(_at_)ietf(_dot_)org] On Behalf Of Lou
Berger
Sent: 04 January 2013 13:23
To: Dean Willis
Cc: ietf(_at_)ietf(_dot_)org
Subject: Re: I'm struggling with 2219 language again



On 1/4/2013 12:15 AM, Dean Willis wrote:
...
Are we deliberately evolving our language to use RFC 2119 terms as
the principle verbs  of a formal specification language?
...

My view on this has evolved over time.  I used to follow the practice of
using 2219 language only for emphasis.  Over time, primarily motivated
by reviewers comments and reader questions, I've migrated to the
position that 2119 language should be used whenever and wherever a point
of conformance is being made.  While this may be a bit of an extreme
position, it ensures that authors, reviewers, readers, implementors,
etc. are in sync as to what is expected from an interoperable
implementation that conforms to a standard.  I think the importance of
such unambiguity has increased over time as the number of implementors
and non-native English speakers in our community have increased.

I also think it's important to follow section 6 of 2119, i.e., if it's
not a point of interoperability or harmful behavior, there's no need to
use 2119 conformance language.

So, my view is now:

a) lower case usage of 2119 key words *in RFCs* means the normal English
meaning of such words, but does not place any requirement on
implementations, i.e., is purely informative text.

b) upper case usage of 2119 key words *in RFCs*, as stated in [RFC2119],
places "requirements in the specification", i.e., is conformance
language with which an implementation must follow to ensure
interoperability (or harm).  (And does not = shouting as would be the
case in other contexts).

I take this view when writing and reviewing PS drafts...

Lou

<Prev in Thread] Current Thread [Next in Thread>