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