On 2/10/2019 9:48 AM, Ned Freed wrote:
I also think a SHALL is inappropriate here on purely formal grounds: An
extension is by definition optional.
That fact that an extension is optional doesn't mean that no requirements
have to be met in order to implement the extension properly.
A client may or may not implement
it. Putting a mandatory requirement on a client which hasn't yet
indicated that it supports the extension is therefore impossible.
It's assumed that requirements given in an extension specification apply
to software that implements the extension in a compliant fashion.
This touches a profoundly simple and essential point:
A specification defines a sandbox (or 4 walls, or any other for a
realm that is distinguish from beyond that realm).
There are rules or choices for deciding when to play in the
sandbox. The rules can be social, legal, personal, whatever.
Separate from them are the rules for playing /in/ the sandbox. A
specification is for the latter. Once you decide to play in the
sandbox, the rules of the specification apply.
Hence the semantic for normative language within a spec is
predicated upon a decision to conform to the spec -- ie, to play in its
ietf-smtp mailing list