Re: LC comment for SpecGL : 'what does "MUST define scope" mean?'

On Thu, 24 Apr 2003, Dan Connolly wrote:

> "Conformance requirements: the specification MUST define the subject
> matter of the specification"
>
> how can I tell whether my spec has defined the subject matter of the
> specification or not?

This requirement is not "testable" in general, of course. In other
words, it is impractical to give you an algorithm that will find scope
definition given an arbitrary spec.

In most cases however, it is possible to search for the word "scope"
in the spec text, read abstract/introduction sections, or use other
approaches to find spec's scope. Spec authors should be able to find
the scope definition and should make it easy for others to do the
same.

> SpecGL uses MUST in the sense of RFC2119, but RFC2119 says, of
> MUST/MAY/SHOULD keywords...
>
>    In particular, they MUST only be used where it is actually
>    required for interoperation or to limit behavior which has
>    potential for causing harm
>
> What interoperability failure results from the
> failure of a spec to define conformance?

We are talking about scope definition, not conformance definition here
(though a lack of any conformance definition is also bad).

The MUST in question limits behavior which has potential for causing
harm. Potentially harmful behavior in this case is omitting scope
definition. Absence of a [well-defined] scope is harmful both for spec
authors (they tend to document things they should not care about,
increasing the amount of their work and the complexity of the spec)
and for spec users that will have to spend extra time figuring out
whether the spec applies to their case, often making mistakes.

> Don't use MUST to constrain specs; specs aren't software agents.

RFC2119 scope is not limited to specs about software agents.

Alex.

Received on Wednesday, 23 April 2003 19:37:16 UTC