Description
If I'm an implementer looking at building an MF2 implementation, I see these types of words throughout the spec:
- MUST
- MUST NOT
- REQUIRED
- SHOULD
- MAY
- RECOMMENDED
- Proposed (not all caps?)
As far as I am concerned, there should be only the following classes of normative text:
- Things required for conformance
- Optional extensions, which, if implemented, must have certain behavior
ECMA-262 has Annex B for the optional extensions, and ECMA-402 has a small number of blocks labeled "normative optional" for this. Both of these systems are clear to me.
Scattering words like SHOULD and MAY and RECOMMENDED throughout the text does not help me figure out what I need to do and what I do not need to do. I would much rather have the non-normative items split out into an appendix. Likewise, things that are "Proposed" should not be in the spec at all; they should be in a separate document.
(tagging this as LDML 47 because this makes me confused about what we're actually approving)