-
Notifications
You must be signed in to change notification settings - Fork 2k
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.md: remove “Community Processes” in favor of “GOVERNANCE.md” #21067
Conversation
297d500
to
d41bbdf
Compare
2b2819b
to
028d7b9
Compare
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.
Thanks for your work on this! Mostly editorial comments below from reading through the preview (deep link).
GOVERNANCE.md
Outdated
Release managers might need to contact GitHub admins to configure the branch protection rules for the release branch. | ||
Beyond those technical duties and access rights, they do not have any special rights among maintainers. | ||
They are picked by the maintainers, usually based on seniority. | ||
The maintainers try to take care to spread the admin responsibility over several organizations within the maintainer body. |
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.
suggestion: organizations => entities/institutions ?
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 used "organizations" throughout the text. Intuitively, I would not know what is meant with “entities” and “institutions”, in my opinion, would exclude, e.g., independent people who just work on third-party funding.
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 see what you mean, but "organization" also exclude non-affiliated people? What's an organization of 1 ;)
The "balance of power" subtly hinted at here seems fuzzy. How about something like "spread admin responsibilities over the different stakeholders" ?
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 fine with stakeholders. See 15934ea.
PS: It's not just “balance of power” in the ephemeral sense, but also to reduce bus factors.
0041e06
to
3887f46
Compare
Squashed but kept co-authorship of all whose suggestions so far have been included. |
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.
Nice work @miri64, good setup!
Some general remarks:
Nice that the roles within the community are described. Some descriptions of how one can get into or out of a role are described very general, not specific. On that I would suggest:
- Keep it general if this works/has worked in the past and there were no issues or ambiguities that caused trouble. That gives flexibility to react appropriately when something would arise in the future - and prevents too much bureaucracy ;).
- Make it specific if there were difficulties in the past or if that can be expected in the future on deciding who gets into or out of a certain role. This gives guidance of what procedure to follow so that everyone has a level playing field.
- I've added this in the text when relevant; please add on where you think more or less specific description would be handy.
Do we want to add a contributor ladder?
- This would make the 'career path' of roles within the project clear, including what responsibilies and requirements are given/needed.
- If so, the description of roles in this governance document can be much shorter and there can be a reference to the contributor ladder.
- It is nice to have from an an-boarding perspective, but can also be done/added at a later moment
And last suggestion:
- add a reference to the governance doc in the readme.
GOVERNANCE.md
Outdated
> objection notwithstanding. | ||
|
||
Within the RIOT community, the duties of an IETF working group chair fall to maintainers knowledgeable in the area of expertise. | ||
This knowledgability is determined by their own contributions. |
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.
Nice to have a person who can act as tiebreaker!
How exactly is decided who this is? As in: if there is disagreement on a topic, how is decided who the maintainers knowledgeable the area of expertise is, exactly? Can that be described here?
If there is disagreement on who this person is, what can be used as tiebreaker to decide?
(to answer this question it helps to ask yourselves: what did successfully work in the past?)
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.
How exactly is decided who this is? As in: if there is disagreement on a topic, how is decided who the maintainers knowledgeable the area of expertise is, exactly? Can that be described here?
Within the IETF there working groups with one chair are uncommon. So why can't multiple maintainers be the deciders here as well? Rough consensus means that the opinions of experts also should not be disregarded, so this describes exactly this case.
If there is disagreement on who this person is, what can be used as tiebreaker to decide?
(to answer this question it helps to ask yourselves: what did successfully work in the past?)
So far a tiebreaker was not needed, if I remember correctly.
Within the RIOT community, the duties of an IETF working group chair fall to maintainers knowledgeable in the area of expertise. | ||
This knowledgability is determined by their own contributions. | ||
On decisions regarding a release, the release manager(s) take this position. | ||
|
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.
How does this work with decision regarding documentation?
And regarding strategy setting/vision/goals?
Here too: what has worked successfully on (controversial) decisions in documentation in the past, and what procedures lie behind it that can be used for future decision making? And what was successful for taking strategy decisions?
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.
How does this work with decision regarding documentation?
Documentation is typically about something code related, so I'd say the maintainer responsible for the code (after all, they could e.g. also see immediately that the doc is factually incorrect).
And regarding strategy setting/vision/goals?
We have our maintainers / experts there as well (see #21067 (comment) ff). :-)
And a general comment relevant to the underlying governance structure (but not needed to add in the text), is the influence of organizational hierarchy. The RIOT community consists of many people who are working at organizations/companies/institutes with formal hierarchy, which means there are managers/employers/professors and subordinates/employees/students with a dependency relationship. This may effect the level of freedom an individual community member experiences when sharing an opinion and/or the tacit weighting of an individual's opinion. These sometimes double roles (hierarchical on organizational level, equal on community level) are handy to keep in mind with decision making processes. It is something we may remind each other of every now and then, so that indeed, as described in this document, no individual dictates decisions and all participants feel equal able to take part and be heard in discussions :). |
Thanks for your review @jkarinkl! Some remarks on the non-inline comments: From #21067 (review)
(also somewhat in response to @emmanuelsearch's #21067 (comment)) I somewhat had it intentionally somewhat general/fuzzy, since I don't think we currently have very specific rules for these things in place and currently the document describes the status quo. Should we be more specific? If yes, what are the specifics? This is something, I guess we need to decide as a community not just arbitrarily by me. If someone has specific problems that we had in the past that are currently not covered by the document, please point them out and give proposals how to solve them.
I would leave that to a follow-up PR.
See 2a3a4fe. From #21067 (comment)
So do you think this should be explicitly mentioned in the GOVERNANCE.md? |
For those who missed it: I posted a digest of the current state of discussion and open questions to the forum: https://forum.riot-os.org/t/moving-from-community-processes-to-governance-md/4433/2 |
02f6623
to
5909daa
Compare
Rebased and squashed to resolve merge conflicts. |
5909daa
to
4f6d46d
Compare
Another rebase due to the fix in #21090. |
ping @mguetschow have your comments been addressed. If everyone agrees I would like to get this in before the hard freeze. |
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 from what I have seen, there is nothing too controversial. It is mostly putting words to how we currently operate. I am fine getting this in but probably we should get another ACK from someone more opinionated.
+1 for merge now. As always, we can refine later. |
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.
Just another two small typos, apart from that I'm fine with the content. Thanks for all your comments and especially your work on this @miri64!
e4240b0
to
388955a
Compare
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 aspects I think we could do better (more openness on weeklies and s/VMA/VGA/), but this PR's point is not about changing procedure and more about documenting it, and this seems to be reasonably accurate where I know how it works and it matters.
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 share the feeling of the previous reviewers. Good enough for now and quite accurate documentation of the status quo. Thanks a bunch for great effort, @miri64!
Thanks for your reviews! |
Co-Authored-By: Matthias Waehlisch <[email protected]> Co-Authored-By: mguetschow <[email protected]> Co-Authored-By: Emmanuel Baccelli <[email protected]> Co-Authored-By: jkarinkl <[email protected]> Co-Authored-By: Karl Fessel <[email protected]>
388955a
to
acb81c8
Compare
Addressed #21067 (review) as a last step, you can confirm that this does not change the text with git diff --word-diff 388955a acb81c8
|
Contribution description
As discussed during the RIOT summit (see @jkarinkl's excellent talk), we need a GOVERNANCE.md document. After we discussed this among maintainers for the past week, we came to the conclusion that it's best to move what is still relevant from our old Community Processes and update it to our current understanding on how the community works. The result is the document introduced here.
Digest week 1: https://forum.riot-os.org/t/moving-from-community-processes-to-governance-md/4433/2
Post New Year summary: https://forum.riot-os.org/t/moving-from-community-processes-to-governance-md/4433/9
Testing procedure
Read it and if you do not agree with something, voice your opinion.
Issues/PRs references
Requires at least #21066 to be merged for the links to the list of maintainers to work properly.(merged)#21062 would be better, but this still needs some (technical issues solving) love.(now merged as https://www.riot-os.org/maintainers.html)