-
Notifications
You must be signed in to change notification settings - Fork 12
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
overhaul governance #7
Conversation
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 added a few comments to the docs.
Some other things that came to mind while going over these are:
- How is the onboarding of these folks happening? - i.e. do you have a manual or a call or the such
- How can also folks step down from their responsibilities shall their circumstances change?
- potential repercussion of a [Code of Conduct](https://www.python.org/psf/conduct/) violation | ||
|
||
|
||
# Community / communications |
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 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 comment
The 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.
Thanks for all the feedback!
We have a post on discourse and the plan is to ultimately move these documents into the docs. Would love to do community calls but don't have anyone with the bandwidth to run them at the moment.
We're working on sorting that out, so TBD |
I just want to say as a long-ago MPL contributor that, while I have surely lost all right to commit, I am very pleased that MPL is so vibrant today. And -- what a sign of strength to see this thread! It makes me really happy and I'm sure John Hunter would be proud and justifiably so. We use MPL every day in my lab. Thanks for all you are doing and please feel free to remove me from all relevant permissions, as I unfortunately cannot foresee becoming an active MPL developer again. |
I have hi-jacked this PR to also include broader overhaul of the governance (as the Deputy Lead Developer roles sync up well with the onboarding path. I can move those commits to a different branch if people prefer. |
- 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 comment
The 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 comment
The 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 comment
The reason will be displayed to describe this comment to others. Learn more.
attn @samdbrice, it's a thing on our todo list to clarify.
- 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 comment
The 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
|
||
**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 comment
The 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?
- 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 comment
The 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
@@ -30,7 +30,7 @@ Development Team (MDT)" in the project license. Anyone can be a | |||
Contributor. Contributors can be affiliated with any legal entity or | |||
none. Contributors participate in the project by submitting, reviewing | |||
and discussing GitHub Pull Requests and Issues and participating in | |||
open and public Project discussions on GitHub, Google+, Hackpad, | |||
open and public Project discussions on GitHub, discourse, Hackpad, |
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 think you mean hackmd - we don't use a hackpad
to code, code review, infrastructure work, mailing list and chat participation, | ||
community help/building, education and outreach, design work, etc. We are | ||
community help/building, education and outreach, design work, etc. We are |
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.
community building, user and developer support,
inactive for a period of 2 months, they will be approached by the LD to see if | ||
they plan on returning to active participation. If not they will be asked to | ||
step down, if the Council Member indicates they intend to be active again but | ||
have not done so after 1 month the Council my vote to remove 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.
typo: may
governance.md
Outdated
listed on the project website, acknowledging the period during which they were | ||
active in the Council. | ||
|
||
The Council reserves the right to eject current Members, other than the LD, if |
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.
so uh, how do they stage a coup 😉?
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.
fork.
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.
like as much as I was joking, I think it would be good to have an actual structural way to address BDFL/steering committee/etc problems. Not 'cause I think anybody is a problem, but b/c these are the sorts of things you'd rather write explicitly when you don't need them and never use than not write & have to figure out when you need them. I don't love forking as a solution 'cause I think a end goal of governance is also to mitigate potential fallout especially where the community is concerned.
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.
The governance already suggests forking if the community disagrees with the direction the project is going, however on a bit more consideration, I added that the NF board can evict the PL as they are on the hook that our conduct is inline with their non-profit status.
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'm on board w/ NumFocus as final arbiter, but I'm still a bit unclear as to why in this governance structure the Steering council can evict each other but not the project lead given that it falls under the whole "steering the direction of the project" thing.
Changes to the governance documents are submitted via a GitHub pull | ||
request to The Project's governance documents GitHub repository at | ||
Changes to the governance documents are submitted via a GitHub pull request to | ||
The Project's governance documents GitHub repository at |
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.
is this gonna change if this all moves to the main docs?
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.
no, I think it should stay in it's own repository, even if we publish build artifacts as part of the main docs.
|
||
**Developer Relations** | ||
|
||
In addition to communication to end-users we need to maintain |
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 is still end users too given discourse management falls under this
- Maintaining a "matplotlib update" slide deck | ||
- the [Ann] mailing list | ||
|
||
This communication is primarily broadcast out and intended to engage |
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.
and developers of 3rd party libraries. Also I just don't like the language of end users, user/developer split.
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 am not a fan either, but was having trouble finding other words for it.
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.
community
Co-Authored-By: Tim Hoffmann <[email protected]>
Co-Authored-By: Tim Hoffmann <[email protected]>
- BDFL is an inside joke that has gotten outside of the in-group where it was funny. I feel dumb using it to describe my self, but the look on my in-laws face when I used the term was the final straw. - Deputy Lead Developers aka "named roles" is a way to recognize that people are leading development along different axes of process. This is motivated by several aspects: 1. empower people to make decisions 2. provide a title people can put on their resume's
No fundamental changes, just wording and a bit of re-arrangement.
- adjust BDFL -> LD - add emphasis to financial / fund raising aspect of council - assert the LD counts in the council size
- introduce 2yr terms. We want people to be able to gracefully roll out of responsibility. - introduce A/B staggered classes. To make sure we maintain some continuity
Given that our Steering Council is smaller than Jupyters, do not imply Institutional Partners can install Council Members.
Given that we have a smaller council, expect all to participate. If someone has gone inactive, then they should be removed first.
|
||
|
||
### API consistency Leader | ||
|
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'd consider merging this and reference documentation.
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 did this, but a private conversation with @timhoffm changed my mind back to it being two roles.
The API lead needs to have a broad view of the library and good design taste, the reference doc lead needs to be an expert at rst and documenting what the library actually does (independent if it is a good idea or not ;) )
Based on this weeks dev call, temporarily putting the following docs here:
Sorry, didn't realize I could push directly to this repo. 🙁