Re: Clarification requested on usage of RFC 2119 Keywords

On Tue, 2003-06-17 at 08:24, Dominique Hazaël-Massieux wrote:
> Hello Ian,
> 
> As we were discussing some of the issues you raised during our Last Call
> period of the Specifications Guidelines, we were wondering if you could
> explain us in which circumstances and for what reason you think it can
> be better not to use RFC 2119 keywords to indicate conformance
> requirements in a specification.
> 
> For instance, in UAAG10, you apparently chose to use imperative verbs as
> an equivalent to MUST; as we're trying to clarify our checkpoints on
> conformance requirements, getting a better understanding on this would
> be really helpful for us.

Hi Dom,

The UAWG realized it needed more conformation granularity
than that offered by RFC2119 alone. At face value,
RFC2119 enables one conformance level: all of the MUST 
requirements. The HTTP/1.1 spec uses RFC2119 to achieve
two conformance levels:

 "An implementation that satisfies all the MUST or REQUIRED
 level and all the SHOULD level requirements for its protocols is said
 to be "unconditionally compliant"; one that satisfies all the MUST
 level requirements but not all the SHOULD level requirements for its
 protocols is said to be "conditionally compliant.""

UAAG 1.0 has three conformance levels, and uses profiles. Thus,
RFC2119 alone didn't work for us. We had to say "When we say
MUST, we mean RFC2119 MUST, but only within the scope of the
current conformance level or profile."

Furthermore, UAAG 1.0 (like the other WAI Guidelines) uses
the imperative voice to express the requirements, so the "MUST"
is usually implied. One reason we did this was to avoid repeating
at the beginning of each checkpoint "The user agent MUST ..." 

For A/AA/AAA, we might have been able to stick with 
MUST/SHOULD/MAY, except that by having AAA be defined as 
"The user agent satisfies all of the MUST/SHOULD/MAY requirements,"
we felt we would be in contradictionw with RFC2119, which says
for the definition of MAY:

   "This word, or the adjective "OPTIONAL", mean that an item is
   truly optional."

We did not feel that that definition aligned with "AAA" enough,
since AAA meant that the MAY items were no longer optional.

 - Ian

-- 
Ian Jacobs (ij@w3.org)   http://www.w3.org/People/Jacobs
Tel:                     +1 718 260-9447

Received on Tuesday, 17 June 2003 08:42:47 UTC