[rfc-i] Drafting issue... use of MAY
cabo at tzi.org
Tue May 1 11:35:46 PDT 2018
On May 1, 2018, at 19:22, Dave Thaler <dthaler at microsoft.com> wrote:
> MAY means it's optional and you can choose not to do it. You can't choose not to have letters be in upper or lower case, you have to pick one of the two. You might argue they "MUST be in upper or lower case", but that would be inappropriate in my view also since it's not possible to violate the MUST, and it's not possible to test it since there's no way to fail the MUST.
> If there's two options, each of which is equally acceptable and neither is recommended, then a simple "can" would suffice instead of "MAY".
Actually, the meaning of MAY is very clear in RFC 2119. Excerpt:
An implementation which does not include a particular option MUST be
prepared to interoperate with another implementation which does
include the option, though perhaps with reduced functionality. In the
same vein an implementation which does include a particular option
MUST be prepared to interoperate with another implementation which
does not include the option (except, of course, for the feature the
A MAY is a mandatory statement about interoperability like the other RFC 2119 keywords. The optionality is not about you, it is about the other side: again, it means *you* MUST be prepared to interoperate with the other side independent of whether they do the option or whether they don’t.
If you are not making this particular statement (MUST interoperate with either kind of peer), don’t use MAY.
More information about the rfc-interest