Skip to content

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

Merged
merged 7 commits into from
Oct 29, 2018
Merged

Broad review of governance structure #2961

merged 7 commits into from
Oct 29, 2018

Conversation

hadley
Copy link
Member

@hadley hadley commented Oct 25, 2018

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?

@hadley
Copy link
Member Author

hadley commented Oct 25, 2018

@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.
Copy link
Member

Choose a reason for hiding this comment

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

"ability TO make changes"

Copy link
Member

@karawoo karawoo left a 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.
Copy link
Member

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.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good idea!

karawoo and others added 2 commits October 26, 2018 16:03
@hadley
Copy link
Member Author

hadley commented Oct 26, 2018

@karawoo funnily enough I had already added CoC cross-refs but I forgot to push!

@@ -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.

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__.

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.

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.

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.

@hadley
Copy link
Member Author

hadley commented Oct 29, 2018

@batpigandme can you please give this a final proofread?

Copy link
Contributor

@batpigandme batpigandme left a 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.

@@ -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.
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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.
Copy link
Contributor

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.

@hadley hadley merged commit 0e29a19 into master Oct 29, 2018
@hadley
Copy link
Member Author

hadley commented Oct 29, 2018

Thanks everyone!

@hadley hadley deleted the governance branch October 29, 2018 21:35
@@ -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.
Copy link
Contributor

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."

Copy link
Member Author

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 😄

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
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.

@lock
Copy link

lock bot commented Apr 27, 2019

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/

@lock lock bot locked and limited conversation to collaborators Apr 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants