ietf
[Top] [All Lists]

Re: New Version Notification for draft-leiba-rfc2119-update-00.txt

2016-08-12 19:20:22
On 12 Aug 2016, at 19:04, Joe Touch wrote:

It's inefficient to repeat the phrase "X MUST be supported by any
implementation that complies with this specification".

Perfect example. That passive construction is just as bad as "X is REQUIRED". That's a compliance statement, not an interoperability statement as required by 2119. When "X" is a feature (not a protocol operation) what does "X MUST be supported" even mean? Why MUST it be supported? What interoperability problem does it cause if I choose to do otherwise? 99 times out of 100, when I've see "X is REQUIRED" or "X MUST be supported", it's a completely bogus use.

The phrase "X is REQUIRED", RECOMMENDED, or OPTIONAL corresponds to the
incorrect English of "X is a MUST".

And I would say don't use any of them. ("X is a MUST" is an abomination.)

I.e., these are reasonable adjective forms of the adverbs
MUST/MAY/SHOULD. Omitting these adjectives then requires authors to
select their own adjective forms or to have to rewrite everything as an
adverb.

Rewriting things to use an adverb is good because it requires you to have a verb. If the verbs are "support" or "comply", it's a pretty good sign that you're making the spec less clear.

IMO, if you want to drop anything, drop the MUST/MAY/SHOULD - directives
of protocol specs should describe the spec, not the actions of the
implementer.

Violent agreement on that one.

pr

On 8/12/2016 4:13 PM, Pete Resnick wrote:

On 11 Aug 2016, at 6:44, Stewart Bryant wrote:

    Optional is useful in a requirements RFC.

    Feature x is REQUIRED

    Feature y is OPTIONAL

One last (and perhaps fruitless) attempt to keep this section and
deprecate the adjectives:

Using REQUIRED and OPTIONAL results in exactly the problem of using
passive voice anywhere: REQUIRED by whom? OPTIONAL for whom? If you
say, "A MUST do X and B MAY do Y", it is perfectly clear which actor
is responsible (and in network protocols there are inevitably at least
2). If you say "X is REQUIRED and Y is OPTIONAL", you'll end up
needing more text to explain the actors and their roles.

Using REQUIRED and OPTIONAL is lazy. It makes specs less clear. They
ought to be dropped.

pr


--
Pete Resnick <http://www.qualcomm.com/~presnick/>
Qualcomm Technologies, Inc. - +1 (858)651-4478
<Prev in Thread] Current Thread [Next in Thread>