Skip to content
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

Update Governance and Contributing doc #3198

Merged
merged 14 commits into from
Feb 4, 2021
Merged

Update Governance and Contributing doc #3198

merged 14 commits into from
Feb 4, 2021

Conversation

magdmartin
Copy link
Member

See discussion in #2292

GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
magdmartin and others added 8 commits September 21, 2020 10:37
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
Co-authored-by: Thad Guidry <[email protected]>
@thadguidry
Copy link
Member

thadguidry commented Sep 21, 2020

I see the following usage of the GitHub group

* Admin = Advisory Committee

* Contributor =  Org member Contributors

* Maintainers = currently not used.

* Outside Collaborators =  used for Weblate integration

I think we need to completely remove the mention of Advisory Committee from GitHub operations.
I think what we are really trying to frame up inside the Governance document is that:

  • The role Admin on GitHub is a privileged role
  • We want to have a documented decision process for voting folks into that Admin role
  • In general, I think we want to say something like other projects do (take a look at the entire page for the Rust Compiler Team or Node.js for a good guideline):

I really like this note from Rustc Compiler Team:

Membership is both a recognition but also an obligation: compiler team members are generally expected to help with upkeep as well as doing reviews and other work.

I think something like this should be added somewhere:

  • Individuals identified by the OpenRefine Steering/Advisory Committee who have made significant and valuable contributions to OpenRefine and its design may be added to the Admin team or Core Contributors team and given commit access to the project.

Furthermore, I personally really like the activities that Node.js lists and that we could borrow from

Activities taken into consideration include (but are not limited to) the quality of:

code commits and pull requests
documentation commits and pull requests
comments on issues and pull requests
contributions to the Node.js website
assistance provided to end users and novice contributors
participation in Working Groups
other participation in the wider Node.js community

If individuals making valuable contributions do not believe they have been considered for commit access, they may log an issue or contact a TSC (Technical Steering Committee) member directly.

@magdmartin
Copy link
Member Author

ping @OpenRefine/contributors for your feedback on this draft

Added my grammar improvements
Copy link
Member

@wetneb wetneb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating this. I agree there are still open questions about how we renew the list of people in each of those categories. We need to have discussions about this on the mailing lists and ask around for advice (for instance by looking at how it is done in other CS&S projects).

At the moment, only GitHub users who are in the admin group of the OpenRefine org can approve PRs and merge them. So as things stand this group should probably be mentioned in this document (and we need to think more about how people get in and out of this group).

Currently we try to invite contributors to the organization pretty early on, but that does not give them a lot of rights on the project though, they can essentially only tag issues (and wear an OpenRefine badge on their profile, which I guess adds some recognition). We need to think about how to make them progress to other responsibilities later on.

For this PR, I think we need to decide whether the PR should:

  • update this document to reflect the current gouvernance, with all the holes we currently have in it (how do we elect people to positions?). In this case we should replace the // TO DO by formulations that are a bit cleaner (making it clear that we want to change them soon).
  • or aim to only merge this once we are satisfied by the gouvernance model it describes. That would be nicer, but might take longer.

GOVERNANCE.md Outdated

Guest Contributors abide by the project’s [Code of Conduct](https://github.com/OpenRefine/OpenRefine/blob/master/CODE_OF_CONDUCT.md)

How to become an OpenRefine contributors? You will find more details in our [contributing guideline](https://github.com/OpenRefine/OpenRefine/blob/master/CONTRIBUTING.md)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
How to become an OpenRefine contributors? You will find more details in our [contributing guideline](https://github.com/OpenRefine/OpenRefine/blob/master/CONTRIBUTING.md)
How to become an OpenRefine contributor? You will find more details in our [contributing guideline](https://github.com/OpenRefine/OpenRefine/blob/master/CONTRIBUTING.md)

GOVERNANCE.md Outdated
Committers are contributors who have shown dedication to OpenRefine, have a deep understanding of the code base and project strategy and work well with contributors and users. Committers have no more authorities than contributors, and they should engage with the community through the [developer discussion list](https://groups.google.com/forum/?fromgroups#!forum/openrefine-dev) or the [issue list](https://github.com/OpenRefine/OpenRefine/issues?state=open) regarding their intention. However, committers have earned enough trust from the community to have direct access to the project code base without having to submit pull request. Committers seek approval after the contribution is made, rather than before.

Therefore committers:
Organization member have no more authorities than contributors, and they should engage with the community through the [developer discussion list](https://groups.google.com/forum/?fromgroups#!forum/openrefine-dev) or the [issue list](https://github.com/OpenRefine/OpenRefine/issues?state=open) regarding their intention. However, Organization Member have earned enough trust from the community to have direct access to the project code base without having to submit pull request. Organization Member seek approval after the contribution is made, rather than before.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All contributors, regardless of their status, should submit pull requests in the vast majority of cases. At the moment, organization members do not have rights to commit to master directly - only admins can do that, and they should only do it in very rare cases (uncontroversial bureaucratic changes).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, agreed. Please update to match wetneb's comment about the current practice

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still not clear enough but I'll open another PR to get this right.

@tfmorris
Copy link
Member

tfmorris commented Nov 3, 2020

The concept of "guest contributor" doesn't make much sense to me. I see basically two levels: contributors & committers. Admin should be separate from code-related stuff and small, with just a few day-to-day admins and a failsafe backup admin like CS&S.

Github has a much more fine grained permission structure than it did originally, so we should make use of those finegrained permissions to allow a bigger group of committers, for those who have demonstrated merit, while still keeping the list of people who can delete/rename repos and do other destructive things small.

As an aside, since I'm an organization owner, I have admin privs even though I'm not part of of the admins team. I guess I can add myself to make that more transparent.

@magdmartin
Copy link
Member Author

magdmartin commented Jan 22, 2021 via email

@magdmartin
Copy link
Member Author

magdmartin commented Jan 25, 2021 via email

@magdmartin
Copy link
Member Author

magdmartin commented Jan 25, 2021 via email

fix wording based on today's call. Removed todo
@magdmartin
Copy link
Member Author

I updated the document with today's discussion.

Next:

  • Define how we are part of the advisory committee
  • Define how we name the release manager
  • Clarify who is Github owner how they are added/removed.
  • Update the GitHub permission and especially the team/contributors to reflect this document

GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
GOVERNANCE.md Outdated Show resolved Hide resolved
magdmartin and others added 2 commits February 3, 2021 20:19
Co-authored-by: Thad Guidry <[email protected]>
fix spelling on committer
@magdmartin magdmartin marked this pull request as ready for review February 4, 2021 01:23
Copy link
Member

@wetneb wetneb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will open a follow-up PR to tidy up a few things, but for now this is a clear improvement over the previous state of this document, so let's get this finally merged.

@wetneb wetneb merged commit 54f4387 into master Feb 4, 2021
@wetneb wetneb deleted the contributing-update branch February 4, 2021 06:39
wetneb added a commit that referenced this pull request Feb 4, 2021
tfmorris added a commit that referenced this pull request Feb 27, 2021
* Follow-up improvements to GOVERNANCE.md after #3198

* Move code of conduct mention to the first section

* Remove wording about specialness of committers

Co-authored-by: Tom Morris <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants