-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Broad review of governance structure #2961
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
Conversation
@jennybc would you mind also taking a look? |
GOVERNANCE.md
Outdated
|
||
## Core developers | ||
|
||
Core developers are GitHub administrators and [package authors](https://github.com/tidyverse/ggplot2/blob/master/DESCRIPTION#L8). This means that they have the ability of make changes to project code, and receive credit when others cite the package. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"ability TO make changes"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks good to me. I wonder if we should reiterate here that we have a code of conduct, and possibly talk about how it is/will be enforced. For example, our CoC says that maintainers who do not follow the CoC may be removed from the team, which seems relevant to include here.
GOVERNANCE.md
Outdated
|
||
## Users | ||
Users are community members who have a need for the project. They are the most important members of the community: without them, the project would have no purpose. Anyone can be a user; there are no specific requirements. | ||
|
||
Users are community members who use the package, without interacting with GitHub. They are the most important members of the community: without them, the project would have no purpose. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the users are the most important, maybe the order of these sections should be reversed so they come first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea!
Co-Authored-By: hadley <h.wickham@gmail.com>
@karawoo funnily enough I had already added CoC cross-refs but I forgot to push! |
.github/CODE_OF_CONDUCT.md
Outdated
@@ -18,7 +18,7 @@ Code of Conduct. Project maintainers who do not follow the Code of Conduct may b | |||
from the project team. | |||
|
|||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by | |||
opening an issue or contacting one or more of the project maintainers. | |||
opening an issue or contacting the project lead or one of the core developers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a contact email address or an alias that re-routes to one or more people.
GOVERNANCE.md
Outdated
# Roles And Responsibilities | ||
## Benevolent dictator (Hadley Wickham, @hadley) | ||
The job of the benevolent dictator is to set the strategic objectives of the project and communicate these clearly to the community, ensuring that the project survives in the long term. | ||
This project has a large community __users__ and __contributors__, a team of __core developers__, and a __project lead__. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
large community of
- asking and answering on community forums | ||
- providing moral support (a 'thank you' goes a long way) | ||
|
||
Users who continue to engage with the project and its community will often find themselves becoming more and more involved. Such users may then go on to become contributors, as described above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Users will often find themselves becoming more and more involved with the project and its community.
GOVERNANCE.md
Outdated
of conflict, the project lead’s word is final. If the community chooses to question | ||
the wisdom of the actions of a core developer, the project lead can review their | ||
decision, and either uphold or reverse them. | ||
This project makes decisions according to a consensus model where suggestions are considered and discussed between the community and core developers. In case of conflict, the project lead’s word is final. If the community chooses to question the wisdom of the actions of a core developer, the project lead can review their decision, and either uphold or reverse them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This project makes decisions by consensus: suggestions are considered and discussed by the community and core developers. [question: where does discussion take place? in issue threads? mailing list?] Where consensus cannot be reached, the project lead's word is final. If the community questions a decision, the project lead may review it and either uphold or reverse it.
@batpigandme can you please give this a final proofread? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good stuff. Just a couple renegade words, and some highly-opinionated grammar suggestions.
.github/CODE_OF_CONDUCT.md
Outdated
@@ -18,7 +18,7 @@ Code of Conduct. Project maintainers who do not follow the Code of Conduct may b | |||
from the project team. | |||
|
|||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by | |||
opening an issue or contacting one or more of the project maintainers. | |||
opening an issue or contacting the project lead or one of the core developers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comma after "opening an issue"
GOVERNANCE.md
Outdated
Core developers are contributors who have made several valuable contributions to the project and are now relied upon to write code directly to the repository and screen the contributions of others. Core developers are empowered to merge pull requests after careful review. Core developers have no authority over the overall direction of the project, however it is their job to help develop or elicit appropriate contributions to the project. As a matter of policy, core developers, even if no longer active, are listed (chronologically) in [package authors](https://ggplot2.tidyverse.org/authors.html). | ||
## Users | ||
|
||
People who create visualizations with ggplot2 are the most important members of the community; with these users, this project would have no purpose. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
without these users?
GOVERNANCE.md
Outdated
- evangelising about the project | ||
- informing developers of project strengths and weaknesses from a new user’s perspective | ||
- providing moral support (a ‘thank you’ goes a long way) | ||
Core developers are recruited from contributors. An invitation to join the core team can be extended to anyone who has made a major contribution, either through a small number of large changes, or a consistent pattern of smaller contributions. Any existing core developer can propose a contributor be invited to the core team by emailing the project lead. The project lead will the confirm the invitation with existing core developers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove extra the in last sentence (I think you want The project lead will confirm the invitation)
|
||
The project lead, [Hadley Wickham](http://github.com/hadley), is responsible for: | ||
|
||
* Setting, and clearly communication the strategic objectives of the project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I defer to the project lead (obvi), but since these bullets aren't actually sentences, I'd do semicolons (or commas) and an "and" before the last one.
Thanks everyone! |
@@ -32,7 +32,7 @@ Core developers are collectively responsible for day-to-day development of the p | |||
|
|||
While core developers can modify code directly, this ability is rarely used. Instead, changes are proposed as pull requests, and are only merged after they have been reviewed by at least one other core developer. Changes to the API (especially breaking changes) must also be approved by the project lead. | |||
|
|||
Core developers are recruited from contributors. An invitation to join the core team can be extended to anyone who has made a major contribution, either through a small number of large changes, or a consistent pattern of smaller contributions. Any existing core developer can propose a contributor be invited to the core team by emailing the project lead. The project lead will the confirm the invitation with existing core developers. | |||
Core developers are recruited from contributors. An invitation to join the core team can be extended to anyone who has made a major contribution, either through a small number of large changes, or a consistent pattern of smaller contributions. Any existing core developer can propose a contributor be invited to the core team by emailing the project lead. The project lead will the confirm the invitation with the other core developers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You still have "The project lead will the confirm the invitation with the other core developers."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because that's what will happen 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Core developers are recruited from contributors. An invitation to join the core team can be extended to anyone who has made a major contribution, either through a small number of large changes, or a consistent pattern of smaller contributions. Any existing core developer can propose a contributor be invited to the core team by emailing the project lead. The project lead will the confirm the invitation with the other core developers. | |
Core developers are recruited from contributors. An invitation to join the core team can be extended to anyone who has made a major contribution, either through a small number of large changes, or a consistent pattern of smaller contributions. Any existing core developer can propose a contributor be invited to the core team by emailing the project lead. The project lead will confirm the invitation with the other core developers. |
This old issue has been automatically locked. If you believe you have found a related problem, please file a new issue (with reprex) and link to this issue. https://reprex.tidyverse.org/ |
I've removed some duplication, and attempted to refine the description of the different categories of community member. I've also moved away from the "benevolent dictator" language in favour of "project lead".
What other important parts of the ggplot2 governance process have I forgotten?