> * We should make use of the existing list, namely the conformance > document, for the purposes being discussed here - I don't think we need a new > list.
I agree with this. > * We don't have to distinguish positive and negative categories, because > they are logically related: prohibition = negative requirement, deprecation = > negative recommendation. I don't understand this. > Which of these categories should be used if we discover a _flaw_ in the > convention, which allows metadata to be produced that can't be interpreted > correctly or reliably (as in #314)? The rules say "deprecate" but I think now > that's too weak. We should _prohibit_ the use of the flawed convention (not > the whole version, just the affected part) for writing new data (but also > reassure users that existing data isn't being invalidated). > > I appreciate the arguments about the need for a further distinction, and I > agree this could help in other cases. I suggest that we need to distinguish > between recommendations which are made for good practice (and could remain > forever), and recommendations which are made because there are alternative > ways to do something where one is preferred and the other might be abolished > in the future. That is, we would have three categories in the conformance > document, rather than two. An example of a good-practice recommendation in > the conformance document is "The name of a multidimensional coordinate > variable should not match the name of any of its dimensions." We do not > envisage making this a requirement. > > In general, we do not try to foresee the future of the CF convention, so I > think most of the current recommendations are for good practice. There should > only be a few where we think it's really likely that we are going to abolish > something in the future. I note that, up to now, we have not abolished > anything. One reason for that is because past data continues to exist for a > long time. Therefore it's hard to withdraw support for any feature in > data-reading programs without causing inconvenience, although you can in > data-writing programs. I know that you can always inspect the Conventions > attribute, but most user programs don't pay attention to that, I imagine, and > we should avoid making things awkward for users. This may very well be a chicken-and-egg problem. After all, if I have to support every feature since the first version anyway, why check the version number? It seems to me that this approach becomes less and less tractable as the complexity of the conventions increases. > Hence I would suggest identifying which current recommendations in the > conformance document, or which should be in it but aren't, ought to be > promoted to a new category of things which really might become > requirements/prohibitions in the future. What could this new category be > called? Warnings? Continuing this line of thought and drawing further analogy with version numbers in software packages, a flaw that leads to incorrect or uninterpretable metadata could be considered a bug and as such warrant the release of a bug-fix version of the conventions. This could mean releasing version 1.7.1, 1.8.1, and 1.9.1 all at the same time, only changing the relevant bug but otherwise not impacting the feature set of the corresponding version. To avoid undue burden and maintenance of long-obsolete versions one would probably want to declare only a very limited set of versions as supported, say the last two. This way, old versions can be updated to fix manifest flaws, which makes it also more plausible to actually retire deprecated features because a user that relies on such a feature can find comfort in knowing that the old version he now must use does not fall quickly into disrepair. User software, which already increasingly is built on standard libraries for interacting with CF data, can check the conventions attribute in a meaningful way and support different versions of the conventions even when the feature sets differ or offer different best practice implementations for the same encoding requirement. @JonathanGregory is of course correct that all of this goes far beyond #314, but that is how I understood the intent of @ethanrd in opening this issue. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://urldefense.us/v3/__https://github.com/cf-convention/cf-conventions/issues/328*issuecomment-849742286__;Iw!!G2kpM7uM-TzIFchu!hyEJN_YQK92s3wK9ZPbrGAFjdtabkRMIH3XFy_6dGyumYDZGo4IQ80zsKqYuTmVd_wVcpp_N_lk$ This list forwards relevant notifications from Github. It is distinct from cf-metad...@cgd.ucar.edu, although if you do nothing, a subscription to the UCAR list will result in a subscription to this list. To unsubscribe from this list only, send a message to cf-metadata-unsubscribe-requ...@listserv.llnl.gov.