Skip to content

Commit 3a41606

Browse files
committed
Revert 98e88a4 (accidental re-apply of #73)
This commit unintentionally landed on upstream/main. Reverting to restore main to the correct state. Refs: #73, #612 This reverts commit 98e88a4.
1 parent 98e88a4 commit 3a41606

File tree

1 file changed

+59
-19
lines changed

1 file changed

+59
-19
lines changed

rules.md

Lines changed: 59 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,76 @@ title: Rules
55

66
# Rules for CF Conventions Changes
77

8-
<p>New proposals are to be initiated in github issues using the proposal-change-request template, including verbatim changes proposed to the text of standard document and the conformance document.</p>
8+
New proposals are to be made in GitHub issues using the template, including verbatim changes proposed to the text of standard document and the conformance document.
99

10-
<p>A member of the conventions committee, or another suitably qualified person, volunteers to moderate the discussion. If no-one volunteers, the chairman of the committee will ask someone to do it.</p>
10+
A member of the conventions committee, or another suitably qualified person, volunteers to moderate the discussion.
11+
If no-one volunteers, the chairman of the committee will ask someone to do it.
1112

12-
<p>The discussion takes place on github issues and all may participate.</p>
13+
The discussion takes place on GitHub issues and all may participate.
1314

14-
1. The moderator, if one has volunteered, should be in charge of the discussion and make sure that it is conducted in a fair and organized way;
15-
2. The moderator may list major points of agreement and contention, and, if appropriate, provide links to key milestones of the discussion in the top issue of a discussion;
16-
3. Participant's in a discussion are expected to respect and comply with requests from the moderator (e.g. to suspend discussion on one topic until another is resolved or to answer specific questions from the moderator). Such requests from the moderator, with appropriate explanations, should be placed in the flow of the discussion.
17-
4. The individual acting as moderator may also act as a participant, but should clearly distinguish between the two roles;
18-
5. The moderator should oversee the implementation of proposed changes which are agreed and close the issue when this process is complete.
15+
The moderator periodically summarises discussion on github, keeps it moving forward and tries to achieve a consensus.
16+
It is expected that everyone with an interest will contribute to the discussion and to achieving a consensus during this stage.
17+
During the discussion, if an objection is raised, answered and not reasserted, the moderator will assume the objection has been dropped.
18+
However, since consensus is the best outcome, it will be helpful if anyone who expresses an objection explicitly withdraws it on changing their mind or deciding to accept the majority view.
1919

20-
<p>It will be helpful if a test netCDF file is provided as early as possible during the discussion. However, several variants of the proposal may be discussed, and the proposer may not be able to provide test netCDF files for all of them.</p>
20+
The moderator is encouraged to organize conference calls and/or webex-type interactions if this might help resolve an issue more quickly.
2121

22-
<p>When three weeks have passed with no contributions being made, the moderator should attempt to move toward a decision on the proposal by summarising the discussion and indicating the outcome as consensus, near consensus, or not near consensus (see below) on making the proposed change. Since several versions of the proposal might have been discussed, the summary should make clear which one, if any, would be adopted. The moderator will then invite further comment on the proposal, as summarised. If further comments are made i.e. the discussion restarts, this step is repeated.</p>
22+
It will be helpful if a test netCDF file is provided as early as possible during the discussion.
23+
However, several variants of the proposal may be discussed, and the proposer may not be able to provide test netCDF files for all of them.
2324

24-
<p>Once the summary has been made, if the test netCDF file does not yet exist, it must be created (unless the summary suggests the proposal should be rejected). When three weeks have passed with no contributions following a summary, and providing a test file exists (if appropriate), a decision is reached in one of the following ways:</p>
25+
When three weeks have passed with no contributions being made, the moderator should attempt to move toward a decision on the proposal by summarising the discussion and indicating the outcome as consensus, near consensus, or not near consensus (see below) on making the proposed change.
26+
Since several versions of the proposal might have been discussed, the summary should make clear which one, if any, would be adopted.
27+
The moderator will then invite further comment on the proposal, as summarised.
28+
If further comments are made i.e. the discussion restarts, this step is repeated.
2529

26-
<p>Consensus: Accept the proposal if there is no outstanding objection, and at least three contributors have expressed support for it, including at least two members of the conventions committee. If the moderator personally expresses support, he or she can be counted among the supporters.</p>
30+
Once the summary has been made, if the test netCDF file does not yet exist, it must be created (unless the summary suggests the proposal should be rejected).
31+
When three weeks have passed with no contributions following a summary, and providing a test file exists (if appropriate), a decision is reached in one of the following ways:
2732

28-
<p>Near consensus: If the conditions for consensus are not met but the moderator's summary is that consensus has nearly been achieved, accept the proposal if all, or all but one, of the conventions committee vote in favour of it. The moderator will call for votes and all members should vote.</p>
33+
Consensus: Accept the proposal if there is no outstanding objection, and at least three contributors have expressed support for it, including at least two members of the conventions committee.
34+
If the moderator personally expresses support, he or she can be counted among the supporters.
2935

30-
<p>Not near consensus: No change to standard.</p>
36+
Near consensus: If the conditions for consensus are not met but the moderator's summary is that consensus has nearly been achieved, accept the proposal if all, or all but one, of the conventions committee vote in favour of it.
37+
The moderator will call for votes and all members should vote.
3138

32-
<p>The github issue is then closed by the moderator stating the outcome.</p>
39+
Not near consensus: No change to standard.
3340

34-
<p>If the change is accepted, the standard document should be updated, the CF convention version number incremented, and the conformance document updated.</p>
41+
The GitHub issue is then closed by the moderator stating the outcome.
3542

36-
<p>The author of the proposal should be added to the list of contributing authors of the CF convention.</p>
43+
If the change is accepted, the standard document should be updated, the CF convention version number incremented, and the conformance document updated.
3744

38-
<p>If the change, once implemented in the conventions, subsequently turns out to be materially flawed, meaning that data written following the convention could be somehow erroneous or ambiguous, a github issue should urgently be opened to discuss whether to revoke the change. If this is agreed by a majority of the committee, a new version of the conventions will be prepared immediately, with the second digit of the version number incremented, and will be recommended to be used instead of the flawed version. The flawed version will be deprecated by a statement in the standard document and the conformance document. However, any data written with the flawed version will not be invalidated, although it may be problematic for users. Errors or lack of clarity in wording, when the convention itself is not at fault, can be corrected by defect tickets on the usual schedule.</p>
45+
The author of the proposal should be added to the list of contributing authors of the CF convention.
3946

40-
<p>All versions of the standard and conformance document should be kept available online, with their github issues and a history of changes.</p>
47+
If the change, once implemented in the conventions, subsequently turns out to be materially flawed, meaning that data written following the convention could be somehow erroneous or ambiguous, a github issue should urgently be opened to discuss whether to revoke the change.
48+
If this is agreed by a majority of the committee, a new version of the conventions will be prepared immediately, with the second digit of the version number incremented, and will be recommended to be used instead of the flawed version.
49+
The flawed version will be deprecated by a statement in the standard document and the conformance document.
50+
However, any data written with the flawed version will not be invalidated, although it may be problematic for users.
51+
Errors or lack of clarity in wording, when the convention itself is not at fault, can be corrected by defect tickets on the usual schedule.
52+
53+
All versions of the standard and conformance document should be kept available online, with their github issues and a history of changes.
54+
55+
## Additional rules relating to the CF data model
56+
57+
The CF data model will guide the development of CF by providing a framework for ensuring that proposed changes fit into CF in a logical way, rather than just a pragmatic one.
58+
59+
All new proposals will be assessed to see if the new features defined in the proposal map onto the CF data model.
60+
61+
The assessment will be carried out by a member of the conventions committee or another suitably qualified person.
62+
If no-one volunteers, the chairman of the committee will ask someone to do it.
63+
64+
If the proposal maps onto the existing CF data model then no modifications to the data model are required.
65+
66+
Otherwise an attempt must be made to modify the proposal so that its new features do map onto the CF data model, and in such a way that the proposal's intent is not compromised.
67+
68+
If the proposal cannot be acceptably modified to conform to the existing data model, then the data model will need to be modified to accommodate the new features.
69+
If the data model may be extended or generalised in some way that allows the new features but does not affect its existing constructs and relationships, the proposal is considered backwards compatible.
70+
This is the preferred solution.
71+
72+
Any changes to the data model must be described verbatim as part of the proposal discussion, including any modified or new data model diagrams.
73+
However, to facilitate the progress of a proposal that requires data model changes, it is sufficient for the general nature of the data model modifications to be identified, on the understanding that the data model text will be updated in detail at a later date, possibly after the proposal has been accepted.
74+
75+
## Additional recommendations relating to UGRID
76+
77+
CF incorporates named versions of the UGRID conventions without redefining them in the CF conventions document, i.e. CF formally refers to the UGRID conventions document for its description of mesh topologies.
78+
UGRID has its own governance that is independent of the rules governing the CF conventions, and it is therefore the joint responsibility of the CF and UGRID communities to ensure that changes to one convention are mutually agreeable to the other.
79+
80+
In the unlikely and highly undesirable event that a non-negotiable change to one convention is incompatible with the other convention then this may be resolved either by restricting which versions of UGRID are allowed in CF; or else (as a last resort) rewriting UGRID into the CF conventions document, including any required compatibility changes, thereby breaking the formal dependence on the external UGRID conventions.

0 commit comments

Comments
 (0)