-
Notifications
You must be signed in to change notification settings - Fork 12
overhaul governance #7
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
Changes from all commits
dfbfb4c
a881edf
e905b13
6eec206
7973497
22dab36
47e92f3
f444ad2
d03518a
f516380
6cc3f3c
a1cb7b5
9f1de2a
d574592
3eccd6e
22b47fa
a591e2a
c8c7d2d
3c89228
9d2cecb
6f220a2
0b3db52
3417e50
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
# Contributor Roadmap/Expectations | ||
Hello, thank you for your interest in contributing to Matplotlib! | ||
|
||
Matplotlib is primarily administered via github, so more information | ||
on the exact permissions granted to each role is available at [github | ||
help](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#repository-access-for-each-permission-level) | ||
|
||
|
||
|
||
|
||
# Development | ||
Responsible for the codebase (including documentation) | ||
|
||
* https://github.com/orgs/matplotlib/teams/developers | ||
|
||
|
||
**contribute**: https://matplotlib.org/devdocs/devel/index.html | ||
|
||
**triage:** | ||
- triaging issues and pull requests means: | ||
- assigning labels, milestones, and reviewers | ||
- closing and reopening as needed | ||
- marking duplicates | ||
- get triage privileges: granted on 1st merged pull request | ||
- (We need to write the script for this, run as a service on heroku’s free tier? can we do this with actions?) | ||
|
||
**Get commit privileges:** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Who gets to decide what is significant or sustained? What's the criteria here? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would sustain mean x number of PRs over x months? Would there also be a mechanism to remove this if folks go MIA or need a break? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. attn @samdbrice, it's a thing on our todo list to clarify. |
||
Significant or sustained merged pull requests | ||
- including domain expertise as needed | ||
|
||
**Lose Commit privileges:** | ||
- no activity on the repository/calls/discourse/mailing lists in 6 months | ||
- repeated or severe violations of [merge guidelines](https://matplotlib.org/devdocs/devel/coding_guide.html) | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
|
||
# Release Powers | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. really release managment, & you need a how they get it/how they lose it section |
||
- has publish permissions to pypi | ||
- has push access to macpython build system | ||
- Who has this | ||
- Lead developer, steering council, release manager | ||
- responsibilities | ||
- run release process | ||
|
||
# Community / communications | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I like the fact that there is an emphasis on the folks observing the Code of Conduct and that breaches to this would lead to revoking their privileges. A quick search did not point me to clear guidelines on how to report this or enforce the CoC (maybe my search-fu failed) . So maybe it would also be useful to appoint a code of conduct person or subteam There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On our to-do list is to adopt the Python CoC to an MPL specific one and then include enforcement details and reporting - which will be to NumFocus so that there's an external record of the report. |
||
|
||
Engages in community building, support, and outreach | ||
|
||
* https://github.com/orgs/matplotlib/teams/community | ||
|
||
## Blog | ||
writes and reviews blog posts about all things Matplotlib and made with Matplotlib | ||
* https://github.com/orgs/matplotlib/teams/blog | ||
* https://github.com/matplotlib/matplotblog | ||
|
||
**contribute**: | ||
* https://matplotlib.org/matplotblog/posts/how-to-contribute/ | ||
|
||
**get commit privileges:** | ||
* sustained constructive reviews of contributed blog posts | ||
* at discretion of [communications lead](named_project_roles.md) | ||
|
||
**lose commit privileges:** | ||
- repeated or severe violations of communications and social media guidelines | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
- at discretion of [communications lead](named_project_roles.md) | ||
|
||
## Teaching | ||
Develops talks and tutorials to illustrated using and developing applications with Matplotlib | ||
|
||
* https://github.com/orgs/matplotlib/teams/teaching | ||
|
||
**contribute:** | ||
|
||
- significant or sustained contributions to: | ||
- https://github.com/matplotlib/presentations | ||
- https://discourse.matplotlib.org/c/showcase/tutorial | ||
- significant or sustained body of opens source teaching materials: | ||
- book, long running blog series | ||
|
||
**content guidelines:** | ||
|
||
- [Social Media Guidelines](communications_guidelines.md) | ||
- [Code of Conduct](https://www.python.org/psf/conduct/) | ||
|
||
**removal from team:** | ||
- repeated or severe violations of [Social Media Guidelines](communications_guidelines.md) | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
- at discretion of [communications or teaching lead](named_project_roles.md) | ||
|
||
## Discourse | ||
https://discourse.matplotlib.org/ | ||
|
||
|
||
Foster engagement on the discourse | ||
|
||
**contribute:** | ||
* participate in discussion on https://discourse.matplotlib.org/ | ||
|
||
**increasing trust level to access more privileges:** | ||
|
||
- https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/ | ||
- sustained constructive participation in discussions | ||
|
||
**get suspended or banned:** | ||
- repeated or severe violations of [discourse guidelines](https://discourse.matplotlib.org/faq) | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
|
||
instagram.com/matplotart/ | ||
story645 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Curate a gallery of data and scientific visualization art made using Matplotlib | ||
|
||
**contribute:** DM, tag #matplotlib, submit at http://bit.ly/matplotart | ||
|
||
**curate the account:** | ||
|
||
- sustained positive contributions to Instagram | ||
- sustained positive contributions to https://discourse.matplotlib.org/c/showcase | ||
- sustained positive tagging of matplotlib content on twitter | ||
|
||
**revoke curation privileges:** | ||
|
||
- repeated or severe violations of [Social Media Guidelines](communications_guidelines.md) | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
- at discretion of [communications lead](named_project_roles.md) | ||
|
||
https://twitter.com/matplotlib | ||
|
||
Signal boost what’s new with the library & 3rd party packages, promote new work built on Matplotlib, and engage with the community. | ||
|
||
**contribute:** tweet @matplotlib or tag #matplotlib | ||
|
||
**tweet as twitter account:** | ||
- be a lead on at least one of the other community projects | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add the release manager to this list or just set something up on matplotbot to auto tweet when a release gets tagged? |
||
**revoke twitter access:** | ||
|
||
- repeated or severe violations of [+Social Media Guidelines](https://paper.dropbox.com/doc/Social-Media-Guidelines-GMgkvuznnxwtZpwFvPogS) | ||
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
- at discretion of [communications lead](named_project_roles.md) | ||
|
||
# Github | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this whole block is a missing a how you get/how you lose |
||
|
||
* https://github.com/matplotlib/matplotlib | ||
|
||
## Github Organization ownership | ||
Full control of everything on GH | ||
**People:** | ||
- Lead developer, steering council | ||
|
||
Want to keep this set small enough that we don’t have too much | ||
unneeded attack surface area, but big enough that we don’t have single | ||
point of failure. | ||
|
||
## Administration permissions | ||
|
||
Manages the administration of the Matplotlib github repositories. | ||
|
||
* https://github.com/orgs/matplotlib/teams/admin | ||
|
||
- Made up of steering council members, appointment process discussed here: | ||
- https://github.com/matplotlib/governance/blob/master/governance.md#steering-council | ||
- should decouple SC and admin power going forward | ||
|
||
**Responsibilities:** | ||
- on a GH team that has “Admin” level permissions on all repositories | ||
|
||
## Domain Team Member | ||
We have a number of sub-teams to maintain domain specific packages | ||
|
||
**Responsibilities:** | ||
- maintain those projects | ||
- have at least write premission on the repos for that project | ||
|
||
## Organization Member | ||
**Responsibilities:** | ||
- Can create and add members to Matplotlib teams | ||
- Can delete / moderate issues | ||
- Can create new repositories |
Uh oh!
There was an error while loading. Please reload this page.