Skip to content

review MUST/MAY/SHOULD #582

Description

@davidcarlisle

Coming up from WG discussions elsewhere, a tracking issue for MUST/MAY/SHOULD usage.

Appendix D says

The key words MAY, MUST, SHOULD, and SHOULD NOT in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Currently these RFC forms are almost exclusively used in Chapter 7 and Appendx D.

Word Occurrences Location
may 324
MAY 7 3 in Chap5, 3 in Chap7, 1 in AppD
must 77
MUST 5 4 in Chap7, 1 in AppD
should 429
SHOULD 17 1 in Chap2, 2 in Chap5, 1 in Chap6, 11 in Chap7, 2 in AppD

RFC 2119 which defines these terms says

6. Guidance in the use of these Imperatives

Imperatives of the type defined in this memo must be used with care and sparingly.
In particular, they MUST only be used where it is actually required for interoperation
or to limit behavior which has potential for causing harm...

My own view is that upper-casing these terms in the main part of the document disturbs normal reading and doesn't add anything as the style of the MathML spec is not as a sequence of testable assertions where these references are most useful.

Plan A

My preferred action would therefore be to lower-case the existing 7 instances that occur before Chapter 7.

There was some pushback on this during a recent WG call so this issue is being opened to develop a proposal for

Plan B

Review the usage on a per chapter basis and recommend introducing more upper case usage, either here or via PR, to be determined.
I haven't started that yet, but opening this issue as a place holder.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

MathML 4Issues affecting the MathML 4 specificationneed specification updateIssues requiring specification changes

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions