Re: [Standards] uppercase/lowercase of keywords
On Thu, 19 Jan 2023 at 09:17, Maxime Buquet wrote: > On 2023/01/18, Peter Saint-Andre wrote: > > On 1/18/23 9:26 AM, Thilo Molitor wrote: > > > In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 > defining > > > "MUST", "SHALL" etc. > > > But since RFC 2119 does not specify which case should be used for these > > > keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, > no? > > > > My personal practice in writing RFCs has been to studiously avoid > lowercase > > conformance terms. It's quite easy and natural in English to use other > > words: might instead of MAY, ought instead of SHOULD, etc. But it seems > that > > most authors are too lazy to do this, which is why we ended up with RFC > > 8174. > > I'd like to nuance this here. > > Not everybody has english as their native language and many contribute > to standardization nonetheless. Maybe standardization should be made > more accessible, and I think 8174 is an ok step towards this, rather > than having to be careful about subtle nuances of the language. Additional Nuance: The original keywords come from the RFC 1122 and RFC 1123 effort, which was intended to tighten a lot of the early standards. These derive from a series of campaigns of various implementors of early commercial Internet offerings who claimed full conformance because the specifications had sufficient wiggle-room to allow it. RFC 1123 stipulates that the "words" are capitalized. Many people thought these were great, and would reuse them - but often without restating the definition. An example is RFC 2821 (published, eventually, a full four years after RFC 2119) - I think Klensin kept his own definition intentionally, actually, but I can't spot a difference. Scott Bradner ("sob") would put in a formal appeal every time someone attempted to use MUST/SHOULD/MAY without a definition, and then produced his own. RFC 2119 does not stipulate that the keywords are to be capitalized, but also always uses them in upper case, and does not say they can be anything else, and stipulates "keywords", which are not the same thing as words. He has stated on a number of occasions that he didn't intent the keywords to be case insensitive, either. Some people thought that a lowercase "must" used as ordinary English rather than a keyword had the same meaning and weight as an RFC 2119 keyword because it hadn't been specified not to. Although this was never the intent, this is made more complicated because it often does... You need not use RFC 2119 keywords to define a requirement in a specification (RFC 4469 is an example of a specification that eschews RFC 2119 entirely), and this is often easily performed by words that - if capitalized - would have a similar meaning. If my specification says "Servers must always ensure a valid key is used", then capitalizing the MUST makes no difference. But the meaning of "should" varies enormously from vague encouragement to the same as saying you must. If I say that implementors should consider ... - is that MUST consider? SHOULD consider? OUGHT to consider? Or is it none of those, really? It is often possible to jump through linguistic hoops to avoid the use of words also used as RFC 2119 keywords, but that can change the meaning subtly. Or not so subtly: Servers may rely on a conformant client providing only... Servers might rely on a conformant client providing only... This is made worse when authors decide they MUST capitalize the words, turning them into formal requirements, even if they MAY NOT [sic] need to. Especially since this ends up changing the meaning rather dramatically in cases where someone blindly uppercases a "should" or "may" in "should/may not" - the English meaning of "SHOULD NOT" and "MAY NOT" is a mandatory imperative, not a strong encouragement or an optional suggestion. Well, depending on context... In any case, I would strongly agree this isn't a matter of laziness. I find it's hard enough to remind people that "SHOULD" requirements aren't in any way optional and ignoring them may break interop. Anyway, all this came to a head a few years back and RFC 8174 was produced to quench this whole argument to the satisfaction of both sides. We should use it. Sorry. We MUST use it. Dave. ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
On 2023/01/18, Peter Saint-Andre wrote: > On 1/18/23 9:26 AM, Thilo Molitor wrote: > > In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 > > defining > > "MUST", "SHALL" etc. > > But since RFC 2119 does not specify which case should be used for these > > keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, no? > > My personal practice in writing RFCs has been to studiously avoid lowercase > conformance terms. It's quite easy and natural in English to use other > words: might instead of MAY, ought instead of SHOULD, etc. But it seems that > most authors are too lazy to do this, which is why we ended up with RFC > 8174. I'd like to nuance this here. Not everybody has english as their native language and many contribute to standardization nonetheless. Maybe standardization should be made more accessible, and I think 8174 is an ok step towards this, rather than having to be careful about subtle nuances of the language. signature.asc Description: PGP signature ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
I did not meant to be rude, it was merely a sign of surprise. -tmolitor Am Mittwoch, 18. Januar 2023, 21:56:43 CET schrieb Peter Saint-Andre: > Or: hey, it's great that we already did the work, let's merge it! > > On 1/18/23 12:46 PM, Thilo Molitor wrote: > > So the PR is lying around for ~5 years and nobody merged it even if it was > > approved? > > Why that? > > > > -tmolitor > > > > Am Mittwoch, 18. Januar 2023, 18:45:30 CET schrieb Florian Schmaus: > >> On 18/01/2023 17.26, Thilo Molitor wrote: > >>> In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 > >>> defining "MUST", "SHALL" etc. > >>> But since RFC 2119 does not specify which case should be used for these > >>> keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, > >>> no? > >>> > >>> I think we should add a reference to RFC 8174 to disambiguate these and > >>> make only fully uppercase keywords normative. > >> > >> https://github.com/xsf/xeps/pull/706 > >> > >> - Flow > >> ___ > >> Standards mailing list > >> Info: https://mail.jabber.org/mailman/listinfo/standards > >> Unsubscribe: standards-unsubscr...@xmpp.org > >> ___ > > > > ___ > > Standards mailing list > > Info: https://mail.jabber.org/mailman/listinfo/standards > > Unsubscribe: standards-unsubscr...@xmpp.org > > ___ > > ___ > Standards mailing list > Info: https://mail.jabber.org/mailman/listinfo/standards > Unsubscribe: standards-unsubscr...@xmpp.org > ___ ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
Or: hey, it's great that we already did the work, let's merge it! On 1/18/23 12:46 PM, Thilo Molitor wrote: So the PR is lying around for ~5 years and nobody merged it even if it was approved? Why that? -tmolitor Am Mittwoch, 18. Januar 2023, 18:45:30 CET schrieb Florian Schmaus: On 18/01/2023 17.26, Thilo Molitor wrote: In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 defining "MUST", "SHALL" etc. But since RFC 2119 does not specify which case should be used for these keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, no? I think we should add a reference to RFC 8174 to disambiguate these and make only fully uppercase keywords normative. https://github.com/xsf/xeps/pull/706 - Flow ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___ ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___ ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
So the PR is lying around for ~5 years and nobody merged it even if it was approved? Why that? -tmolitor Am Mittwoch, 18. Januar 2023, 18:45:30 CET schrieb Florian Schmaus: > On 18/01/2023 17.26, Thilo Molitor wrote: > > In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 > > defining "MUST", "SHALL" etc. > > But since RFC 2119 does not specify which case should be used for these > > keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, no? > > > > I think we should add a reference to RFC 8174 to disambiguate these and > > make only fully uppercase keywords normative. > > https://github.com/xsf/xeps/pull/706 > > - Flow > ___ > Standards mailing list > Info: https://mail.jabber.org/mailman/listinfo/standards > Unsubscribe: standards-unsubscr...@xmpp.org > ___ ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
On 18/01/2023 17.26, Thilo Molitor wrote: In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 defining "MUST", "SHALL" etc. But since RFC 2119 does not specify which case should be used for these keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, no? I think we should add a reference to RFC 8174 to disambiguate these and make only fully uppercase keywords normative. https://github.com/xsf/xeps/pull/706 - Flow ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] uppercase/lowercase of keywords
On 1/18/23 9:26 AM, Thilo Molitor wrote: In Appendix F: Requirements Conformance all our XEPs refer to RFC 2119 defining "MUST", "SHALL" etc. But since RFC 2119 does not specify which case should be used for these keywords, a XEP using "shall" or even "sHaLl" uses normative keywords, no? My personal practice in writing RFCs has been to studiously avoid lowercase conformance terms. It's quite easy and natural in English to use other words: might instead of MAY, ought instead of SHOULD, etc. But it seems that most authors are too lazy to do this, which is why we ended up with RFC 8174. Peter ___ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___