cf-convention / cf-conventions

AsciiDoc Source
http://cfconventions.org/cf-conventions/cf-conventions
Creative Commons Zero v1.0 Universal
85 stars 45 forks source link

Procedural items #257

Closed erget closed 4 years ago

erget commented 4 years ago

This issue supersedes #172 and is implemented by #256.

The larger changes to the CF governance process discussed at length in #172 have been pursued in a separate activity. I would like to capture the procedural changes affecting how we use GitHub that were discussed (and, I believe, mostly agreed) here.

People who have expressed interest in the original issue: @castelao @davidhassell @JonathanGregory @ethanrd @dblodgett-usgs @martinjuckes @DocOtak @kevin-obrien @marqh @zklaus

People who expressed explicit support in their comments on that issue: @DocOtak @ngalbraith

Summary of changes in PR

Implementation in GitHub / procedural stuff

Questions that in the #172 were considered interesting but are not addressed here:

JonathanGregory commented 4 years ago

Thanks for summarising the issue(s), @erget. The constitutional aspect is now in https://github.com/cf-convention/cf-convention.github.io/issues/88. We will have to wait for the website-building process to be fixed before proceeding further. I put that issue in the cf-convention.github.io repository, rather than in this one, because it's not specifically about the conventions, but about the governance of CF as a whole, and the governance documents belong in the website. On the other hand, this issue belongs here because it's specific to the management of the conventions document.

erget commented 4 years ago

Thanks @JonathanGregory for providing some context.

This PR is related solely to how we do things on GitHub. Currently we have no rules on how to accept such changes (I'd like to address that soon when taking a closer look at the "Rules" document on the website) and thus I propose that we treat it in the same way as we treat proposed changes to the Conventions themselves.

The proposed changes are summarised as follows:

Would anybody be willing to moderate the discussion surrounding these changes? I consider them to be of a minor nature.

JonathanGregory commented 4 years ago

This looks good to me and I support the changes. Thanks. I will also moderate the discussion, if there is any, unless someone who is more skilled with GitHub (i.e. practically anyone else) is willing to do it. These rules belong within the remit of the conventions committee, so I agree it's logical to apply the conventions rules to changing these rules, which means three weeks start today for disagreements and suggestions to be noted.

JonathanGregory commented 4 years ago

Looking at it again, I wonder whether what is happening to the text about single- and multiple-section changes in CONTRIBUTING.md - is it somewhere else? Thanks.

erget commented 4 years ago

Hi @JonathanGregory I considered it an enhancement to the guidelines to combine them into one and the same category - "Enhancement" - and describe that in the issue template. In my opinion it's better to simply say in CONTRIBUTING something along the lines of "Use an issue template that matches what you want to do" and then describe what to do in the issue itself.

Furthermore I think it makes more sense to differentiate the approach by the nature of the change proposed, rather than simply how many sections would be changed - either way there may be the necessity for changes to multiple sections that the original author may not notice at first blush, and so a full review should take place IMHO regardless of whether the change text is small or large.

What do you think?

JonathanGregory commented 4 years ago

Dear @erget

Yes, I agree with

It's better to simply say in CONTRIBUTING something along the lines of "Use an issue template that matches what you want to do" and then describe what to do in the issue itself

and thanks for implementing that approach. In order to follow the approach, the contributor needs guidance to decide which template to use - whether it's a defect, typo fix, github issue or enhancement. These categories should be related to the two categories in the rules documents (making changes, and correction of errors).

I also agree that single- and multiple-paragraph changes are the same kind of enhancement and the guidance doesn't have to be separated like that. However, some of this advice is useful, and it would be a pity to lose it:

  • If important to the issue, the problem text should be pasted in the body of the issue and proposed fix included.
  • A link to the line where the problem exists could also be included.
  • If the modification is non-controversial, a pull request could be opened simultaneously.
  • Discussion of the proposal should take place in one issue.
  • Final review should take place in the pull request and the issue closed when the pull request is merged.
  • Depending on the nature of the proposal, interested community members can decide what the most effective tool is for development and review of specification changes.
  • Tools used for development of significant changes are up to those contributing and reviewing it.
  • Note that there is a rendered "rich-diff" view of a pull request that can be helpful for review of large contributions.

You may have put some of this in general guidance. If not, could the reminder belong in the template for an enhancement? Similarly, we currently have this guidance for a typo issue, which could go in its template:

  • A pull request with the fix can be submitted directly.
  • Contributors not familiar with github can submit issues for typos and similar issues for others to fix.

Thanks for considering this.

Jonathan

erget commented 4 years ago

Hi Jonathan,

I agree that this guidance is useful and think it's best to put it in the appropriate issue templates.

  • If important to the issue, the problem text should be pasted in the body of the issue and proposed fix included.
  • A link to the line where the problem exists could also be included.

I've included both of these in the "Defect", template.

  • If the modification is non-controversial, a pull request could be opened simultaneously.

I've included this in the "Enhancement".

  • Discussion of the proposal should take place in one issue.

This is noted in CONTRIBUTING.

  • Final review should take place in the pull request and the issue closed when the pull request is merged.

I believe CONTRIBUTING also sufficiently covers this in its final section.

  • Depending on the nature of the proposal, interested community members can decide what the most effective tool is for development and review of specification changes.
  • Tools used for development of significant changes are up to those contributing and reviewing it.
  • Note that there is a rendered "rich-diff" view of a pull request that can be helpful for review of large contributions.

I would consider this implicit based on CONTRIBUTING lines 14-18:

These contribution guidelines are designed to make it easy to contribute to the CF Conventions and are tailored to the platform where they are hosted, GitHub. They are intended to support your work and not to constrict you; if at any time you find them difficult to follow, ask for help. Your contribution is valuable and the community will be happy to give a hand.

What do you think?

Cheers, Daniel

JonathanGregory commented 4 years ago

I think that's fine, Daniel. Thanks for your thoroughness. Jonathan

davidhassell commented 4 years ago

Hi Daniel, this is all very good - thanks for putting it together. I support all of the changes/enhancements here, but I have one question: In .github/PULL_REQUEST_TEMPLATE.md you have:

For maintainers

After the merge remember to delete the source branch

I'm not sure what this means, as the source branch will typically not belong to a maintainer, rather a member of the CF community. Perhaps I've misunderstood the term "Maintainer"? (As an aside, I wonder why is it good practice to delete source branches after they've been merged? I'm sure it is, just curious.)

David

erget commented 4 years ago

Hi @davidhassell as in many things git-related, I don't feel that this is a best practice - it's more of a preference. I prefer a repository that feels tidy, and as branches are identifiers just like tags or commit IDs, having fewer of them makes for a more pristine autocomplete.

Under "Maintainer" I understand somebody who can perform a merge on the canonical repository - so probably the IM team in our case. My interpretation would be that if the source branch is on another repository, which will more often be the case, the proposer would do as they like with their branches.

mwengren commented 4 years ago

@erget and others, I have some ideas for how to improve handling contributions/associated processes and a few GitHub recommendations. Hopefully this is the right place to comment vs. opening a new issue.

This is from the perspective of a relative newcomer interested in making minor contributions to the convention docs. If similar suggestions have been made already somewhere I missed, please disregard.

Mostly, these have to do with the current version of the Rules for Contributions from the website and also CONTRIBUTING.md.

Suggestions:

JonathanGregory commented 4 years ago

Dear Micah @mwengren I think this issue should be confined to CONTRIBUTING.md and the other GitHub files outlined at the start, but I believe Daniel already has in mind to make Rules point to CONTRIBUTING.md as a separate issue. Your third point is good as well, but probably the answer to this has first to be decided before it can be advertised i.e. who is actually responsible. This depends both on the nature of the issue (technical GitHub/website vs content) and which repo it is (governance on the website, conventions, or standard names in discuss). I'd say that is an issue to be raised separately from this one. Jonathan

mwengren commented 4 years ago

@JonathanGregory thanks for your input. Understand about the scope. I will create a new issue to handle my third point regarding communication/feedback pathways for contributors. EDIT: further GitHub research indicates this isn't possible, @ mentions of teams can only be by members of the organization the team exists in, so I'll withdraw this. Might be a nice feature to use if GitHub supports public teams someday.

Regarding the other two suggestions I made, if additional linkages between the Rules page and CONTRIBUTING.md are in the works, that will help.

I would still suggest expanding the scope here to include some edits to README.md to address the process of making contributions, whether they be links back to the Rules page or to CONTRIBUTING.md. My recommendation would be just to add a header and paragraph titled 'Making Contributions to the CF Conventions' or something like that.

As is, the README still seems to be a little lacking as a front page about what the repo is and how users should interact with it. It is the first place everyone will look, after all.

JonathanGregory commented 4 years ago

@mwengren, thank you for your comments and your further research on GitHub teams. Nonetheless your point is a good one. We need to define who is responsible for making sure issues proceed to a conclusion. This is a governance issue. I've made a note of it (on my own to-do list).

@erget, would you consider Micah's suggestion to add text to README.md that points to CONTRIBUTING.md and the rules? That makes sense to me, since README could be a natural place to look if you come to the repository first, rather than the website.

erget commented 4 years ago

@mwengren @JonathanGregory thank you for your input. I've added some updates to README.md. I've proposed (surgical) changes to README.md accordingly (see #256 for details).

JonathanGregory commented 4 years ago

Thank you, @erget. I think that addresses @mwengren's point. Presuming he agrees with that, there are no outstanding matters. This enhancement (procedural items especially CONTRIBUTING.md) has sufficient support according to the rules and will be agreed on 23rd June if no further objections are raised.

mwengren commented 4 years ago

Looks good to me, thanks. I would still advocate for some clear process for contributors, in either issues or PRs, to ping the Governance Committee or other group of GitHub stewards about status of contributions, but as I said earlier, GitHub Teams don't currently support this, for better or worse.

Perhaps if they did someday or if @JonathanGregory or anyone else has good suggestions, this can be added in the Rules later on.

erget commented 4 years ago

@mwengren I agree that this would be good! I also however think that this is separate from the issue at hand. Do you plan on attending the upcoming Community Workshop? There will be a session where we discuss GitHub procedures on the first day and I think your input here would be very valuable to help us continue to improve our processes.

JonathanGregory commented 4 years ago

Michah @mwengren, perhaps you could comment on https://github.com/cf-convention/cf-convention.github.io/issues/102, which is another issue from Daniel @erget. In that issue, I have proposed assigning particular labels, which would imply who was responsible for various classes of issue. I think that would help to solve the problem you identified in this issue. At least you would know who[m] to ping.

This issue (procedural items) is still on course to be agreed next Tuesday 23rd.

JonathanGregory commented 4 years ago

This issue has been approved, according to the rules, and I have merged the pull request. Thank you @erget for the proposal and to others for comments.