-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use BCP 14 or inspiration of that in Conventions document #546
Comments
@sadielbartholomew welcome aboard 😊 |
I am of the somewhat strong opinion that if we want to adopt BCP 14, it SHOULD be done without extensions or as something inspired by it. I feel the point is to add the same rigor (or feeling of) that I've come to view IETF's RFCs with, and some rare OGC standards e.g. Coverage JSON. When viewing a document and I'm seeing those keywords in all caps, I know I'm dealing with BCP14 and don't need to go look at their own custom definitions. What would I say to someone who made their own data standard that was simply "inspired by" CF? Using the extended keyword list should be used only in identifying phrasing to consider modifying to use the BCP14 keywords. Perhaps we could consider RFC 6919 next April 1. |
@DocOtak, you do have good point regarding "cherry-picking", and I agree. At the same time I think that the whole endeavour is somewhat broader in a first phase: Clarify [for ourselves] what we actually mean when using the words from the BCP14 and "extended BCP14" lists. Is a "should" really a The question is then what to do with any remaining "extended BCP14" words, e.g. And, then, a last step would be to explore ways to render the relevant words in the documents. |
Regarding the first step ("@larsbarring will post a version of the Conventions with annotations....", there is now a html version available here: https://github.com/larsbarring/cf-conventions/tree/my_bcp-14/BCP-14/conventions_build Download the The specific phrase list is as follows: BCP14 = [
"MUST NOT", "SHALL NOT", "SHOULD NOT",
"MUST", "REQUIRED", "SHALL", "SHOULD",
"RECOMMENDED", "MAY", "OPTIONAL"
]
EXTENDED_BCP14 = [
"NOT RECOMMENDED", "RECOMMENDS* NOT","RECOMMENDS*",
"NOT PERMITTED", "PERMITTED", "PERMITS*",
"NOT REQUIRED", "NOT REQUIRES*", "REQUIRES*",
"CAN NOT", "COULD NOT", "CAN", "COULD", "MIGHT",
"NOT SUGGESTED", "SUGGESTED", "SUGGESTS*",
"NOT ALLOWED", "ALLOWED", "ALLOWS*",
"FORBIDDEN", "FORBIDS*", "PROHIBITED", "PROHIBITS*"
"DEPRECATED", "HAVE TO"
] Comments on these lists are most welcome. |
The Conventions document could be made clearer by removing ambiguities around certain words. BCP 14 handles this in a way that is simple and clear. It's straightforward to adopt BCP 14 or to be inspired by it in such a way that users profit, similarly to how we've been inspired by Semantic Versioning without adopting it wholesale.
We believe that this can be implemented by mid-2025. As soon as we've implemented, all future pull requests will profit. We expect it will first be merged in CF-1.13.
If you want to work on this, please self-assign or ping me - that'll help us keep track. These people have participated in the discussions up till now (I may be forgetting someone, sorry!):
@mraspaud @davidhassell @JonathanGregory @larsbarring @cofinoa @feggleton @DocOtak
I will keep this issue up to date as multiple PRs will likely be required in order to implement this.
Steps to complete
The pre-merge action could be something like (very draft):
The text was updated successfully, but these errors were encountered: