-
Notifications
You must be signed in to change notification settings - Fork 12
Governance #10
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
Governance #10
Conversation
governance.md
Outdated
- Matplotlib's social media presence | ||
|
||
This communication is primarily broadcast out and intended to engage with | ||
end-users. |
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.
change end -users to broader community. Like a good chunk of our social media engagement is core devs on other projects.
governance.md
Outdated
|
||
In addition to communication to end-users we need to maintain | ||
communication channels to developers of down-stream libraries and | ||
other expert users. |
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 discourse is not solely for expert users and like we specifically want folks at all levels 'cause the discourse is also for the folks who won't go near SO.
The difference between the two community roles as I see it are:
- communications-have a conversation with folks [general] about what's going on w/ the project & what folks can do w/ it & the like - this is more marketing/outreach
- developer relations - have conversations with specific folk about what they're trying to do w/ mpl & want to do - this is more a problem solving/helping folks get acclimated role
governance.md
Outdated
communication channels to developers of down-stream libraries and | ||
other expert users. | ||
|
||
- interaction with 3rd party extensions / publicity |
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 this belongs in comms 'cause like that's the type of stuff the person wearing that hat is good at while like this role doesn't need it. For example I can think of multiple devs who have shown that they're fantastic at all the things on this list except publicity. I think 3rd party extensions go under both 'cause again it's all community.
Maybe the text in the Community Manager description is too detailed / fine-grained? On a bit more reflection I realized that this wording bakes an inconsistency into the document (change the DPL by majority vote of SC, governance by 2/3 majority note of SC) so moving them out to their own file. |
Yes/No in that it's got more of an umbrella role than the others, but I think it's fine to pull the description back to something like
|
I'm having some trouble placing this in the framework of other organizations I'm familiar with. The steering council seems like an executive, but no roles are discussed in the context of the steering council. So there is no Treasurer, Secretary, or any other responsibility designated to the steering council. Similarly, it would be unusual to define the president, and then the group that he is president of - the president is typically just the leader of the executive. I think the current setup is a bit unclear who has ultimate authority. I think it should be the steering council, and that the PL's authority should devolve from the steering council. I appreciate that is a change, but I think it would be more robust to problems with future PLs. I know you claim forking is the way to change the PL, but if a future PL takes the project down some crazy route, its not particularly acceptable for them to take the |
That is a fair point, however I would prefer to keep this discussion about just the Deputy Lead roles (and renaming BDFL -> PL) rather than completely re-do the governance structure. I can remove all of the changes to the SC if that would make it clearer. Historically we have been a BDFL / single lead + rough consensus style project which in some sense is, as long as you trust the PL (and I trust me and hope y'all also trust me), the simplest and clearest ultimate authority ;). I think one of the worst failure modes here are a complicated governance document that we don't actually follow. For better-or-worse, we have an existing (and seemingly functioning) process that I worry if we try to make too big of a change we will revert back to (and evidence of this being a problem I cite my failure to fully stand up the SC yet). There have been a couple of projects (notably skimage and cpython) that have moved from single leader -> committee that we can use as a model. My preference here is that we actually stand up a full-sized (bigger than 3) SC and then writing them selves into full existence / authority. |
Sure, if they have that authority. The problem is not whether we trust you, its whether you get hit by a bus tomorrow, then what happens? |
They do because the document has a method of changing its self (via 2/3 vote of current SC) |
... which the PL can veto?
|
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.
Comments on a few minor things.
These seem like straightforward modifications that would be good to get done. Discussion of eliminating PL and moving to a committee would best be done in another issue, or even better, against concrete language adjusting the document. None of this moves us further away from that model, and in fact could be argued is small step towards it.
- 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.
@efiring @dopplershift Can you please approve and merge this? Once it hits master it will be "in force". |
deputy_project_leads.md
Outdated
**Communications** | ||
|
||
We need to maintain communication channels with the wider world. To | ||
this end the CM is responsible for maintaining. This communication is |
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.
"To this end the CM is responsible for maintaining." maintaining what?
deputy_project_leads.md
Outdated
primarily broadcast out and intended to engage with the wider | ||
community. The | ||
|
||
- the [Ann] mailing list |
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 the only one not capitalized.
deputy_project_leads.md
Outdated
other expert users. | ||
|
||
- interaction with 3rd party extensions / publicity | ||
- recruiting new contributors |
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.
Again, inconsistent capitalization.
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 not going to hold this up for the minor things I noticed above.
Fixed the spelling, we might want to tighten up the whole CM section to be closer in length to the others. |
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.
There are still two of Ryan's changes outstanding, and I have added a few requests for clarification and one for deletion of a sentence.
governance.md
Outdated
Services for the benefit of the Project and Community. | ||
- Make decisions when regular community discussion doesn’t produce consensus on | ||
an issue in a reasonable time frame. | ||
- Granting or revoking commit rights. |
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.
-> "Grant or revoke..."
governance.md
Outdated
|
||
The Council reserves the right to eject current Members, other than the PL, if | ||
they are deemed to be actively harmful to the project’s well-being, and attempts | ||
at communication and conflict resolution have failed, from 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.
Move "from The Project" up -> "eject current Members, other than the PL, from The Project, if they..."
But is this correct? Is the ejection from the Project, or from the Council? What would the former mean, and why would that ejection seat be reserved for Council members?
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 this was meant to eject people from the SC but not from the project overall, but I am not sure the middle option (stay in project but ejected from SC?), changing to be fully eject from 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.
Is it even defined for a person to be in, or out of, The Project? I don't think we define project membership as such; there are Contributors, Developers, etc. but not Members, I think.
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 Council reserves the right to eject anyone, including the Council
Members, from the project's online spaces if they are deemed to be
actively harmful to the project’s well-being, and attempts at
communication and conflict resolution have failed, by a super majority vote.
We can ban people from github / discourse / mailing lists / gitter if they are being disruptive.
|
||
### Conflict of interest | ||
|
||
It is expected that the BDFL and Council Members will be employed at a wide | ||
It is expected that the PL, DPLs, and Council Members will be employed at a wide |
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.
Below, plural is "conflicts of interest", not "conflict of interests".
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 I got all of these?
To ensure the independence of SC members, none of the SC members can be in the same reporting tree through employment or contracting.
This brings the description to the same level of detail as the other roles and does not encode particular communication forums / mechanisms directly in the governance text.
Well, I was going to do follow ups, but it's merged so 🎉 |
From time to time Matplotlib as an organization has in-person | ||
meetings. | ||
the future and may want to enlist further assistants. The CM is responsible | ||
for Matplotlib's evangelism, outreach, and user support as well as mainitaining |
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.
for community outreach and support, as well as for publicizing what's new and useful in the project.
(I hate the word evangelism)
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.
@story645 Your review came after I merged the PR, but please go ahead and put in a PR with this fix and any other fine-tuning you see.
Sorry if I jumped the gun, but I'll blame @dopplershift--I inferred from his review that it was time to just get this in. |
I'll take the blame. I didn't want to grammar this to death, especially for things that are not really governing (like verbiage describing DPL roles), since we've spent so long getting things going governance-wise. |
I just didn't see the merge, it's all fine. |
This is the governance and named roles text from #7 pulled out into its own PR.