Just following with the repo permissions discussion originally
started
here:
https://github.com/theopensourceway/guidebook/issues/90
Thank you for this thorough analysis, Ashley! We just underwent a similar
repo (re)structuring in the Open Organization project and, jeeze, do I
wish I had had the benefit of your notes here before I jumped into that
(but hey, it all worked out).
This “green room” allows the owners to allocate higher level of
permissions if and when required. I think we should keep this default
whilst teams are being decided and when more teams are being added.>
Triage can not physically push to the repo i.e. merge or force push to
that repo or branch directly. They can, like other users, create a Pull
Request from a forked repo and follow the review process.
This maybe considered too restrictive but I feel its acceptable that
authors themselves, who wrote the piece, are not permitted to push to the
repo – it would imply that a review hasn't taken place. Ideally it would
be the review team that would say OK after some back and forth and they
themselves merge the author’s content in. This implies that that there
would be a team of editors.
Usually we would have the term “core” team that do a wide range of
things outside the scope of the current authors and editors.
I honed into these points in your assessment, Ashley, because they
address two of the same questions and challenges we were assessing in the
Open Organization community. The way we've started working there is:
- Set organization base permissions to "green room" only (read, but that's
it)
- Add anyone interested in contributing to the project to that green room,
then allocate additional permissions (typically on a per-repo basis) as
they indicate where they'd most like to make an impact.
- Authorize a "core team" with top-level Maintainer permissions to
allocated those role as they see fit.
So for our purposes, I'd suggest something like:
1. Writers can: Read/triage/make pull requests
2. Editors can: Read/triage/push to repos and branches
3. Maintainers: Do everything (including allocate and change roles of others)
I don't know as I've added anything more substantial to the conversation,
but I didn't want to see it dwindle, because it concerns a very important
governance matter!
Bryan