Re: [Standards] uppercase/lowercase of keywords

2023-01-20 Thread Dave Cridland
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

2023-01-19 Thread Maxime Buquet
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

2023-01-18 Thread Thilo Molitor
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

2023-01-18 Thread 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
___


Re: [Standards] uppercase/lowercase of keywords

2023-01-18 Thread Thilo Molitor
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

2023-01-18 Thread 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
___


Re: [Standards] uppercase/lowercase of keywords

2023-01-18 Thread Peter Saint-Andre

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
___


[Standards] uppercase/lowercase of keywords

2023-01-18 Thread Thilo Molitor
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.

Any thoughts? Does it involve board or council to add RFC 8174?

-tmolitor



___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___