Skip to content
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

Add GOVERNANCE.md document #140

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Daeraxa
Copy link
Member

@Daeraxa Daeraxa commented Feb 26, 2023

The idea of this document is to somewhat clarify the organizational structure behind the org and have some place to reference in case it is needed or asked. For such a new project we have a lot of active contributors and by virtue of the project itself we inherited a bunch of stuff to deal with right off the bat rather than being able to grow it organically which does make keeping on top of things a little more difficult.

My main goal with this is not to add anything we aren't already doing (with one exception) nor is it to try to take the fun out of the project with strict rules and bureaucracy. It is designed so that we can have somewhere to actually come up with plans for when we have to deal with difficult situations that nobody otherwise wants to bring up.

For example the one section I added which we don't have precedence for is "removal of roles/members" which is something that has come up in discussion before for those who are still part of the GitHub org but aren't currently participating in the project.
I think this section needs more fleshing out with something we would have to decide on - for example what duration of inactivity or low contribution before we consider somebody "inactive"?
The idea here isn't to punish, it is to make administration easier and grant privileges and access only as required to prevent any damage (malicious or unintentional) to the org and team.

Much of this was based on the questions and guidance in https://opensource.com/article/20/5/open-source-governance.

Very happy to take comments on this as I understand it could well be controversial and may need rewording in more than a few places or we may decide to forgo it entirely and place an abridged version in POLICY.md (or nothing at all).

@confused-Techie
Copy link
Member

I appreciate you getting to this one! Overall, this is a super well written document, and very clearly defines what little governance policies we have and need.

I love the care taken on writing the new section of policies, but totally agree that we need to put a numeric value there to define inactivity. And whatever timeframe chosen I feel like has to be measured in months. Such as maybe 6 months? Or 3?

It is really hard to say, but I'd be leaning towards the three personally. But curious to hear if you have any thoughts?

@Daeraxa
Copy link
Member Author

Daeraxa commented Feb 26, 2023

Thanks for the kind words, had a moment of rare inspiration in the early hours of the morning.
Yeah I think 3 months is acceptable, of course we can still use our discretion and we wouldn't be beholden to follow it to the letter - for example making a random comment every few weeks wouldn't be 'inactive' by the strictest definition but is clearly not being an active part of the project.

Copy link
Member

@confused-Techie confused-Techie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll go ahead and give this one an approval assuming we add 3 months as the inactivity period somewhere. Otherwise I'd be interested to hear any other thoughts from the rest of the team

@Daeraxa
Copy link
Member Author

Daeraxa commented Mar 1, 2023

I can add the 3 months onto this branch if that suits? e.g.

- If a member of a team or role becomes inactive for an extended period of time without a
+ If a member of a team or role becomes inactive for over three months without a

@confused-Techie
Copy link
Member

I can add the 3 months onto this branch if that suits? e.g.

- If a member of a team or role becomes inactive for an extended period of time without a
+ If a member of a team or role becomes inactive for over three months without a

Yeah that could be could, maybe just add an about three... for some leniency

@Daeraxa
Copy link
Member Author

Daeraxa commented Mar 1, 2023

Yeah that could be could, maybe just add an about three... for some leniency

My only issue with around is that it could count as the reverse, say 2 and a half months.
Either way it is still up to our discretion as the next steps at those three months are to attempt to contact followed by a vote phase so it will always be longer than that anyway.

@confused-Techie
Copy link
Member

Yeah that could be could, maybe just add an about three... for some leniency

My only issue with around is that it could count as the reverse, say 2 and a half months. Either way it is still up to our discretion as the next steps at those three months are to attempt to contact followed by a vote phase so it will always be longer than that anyway.

Ahh I see, this looks fine then to me

GOVERNANCE.md Outdated Show resolved Hide resolved
Co-authored-by: Maurício Szabo <mauricioszabo@users.noreply.github.com>
Copy link
Member

@DeeDeeG DeeDeeG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how much of this rises to being actionable, it may end up just being commentary or food for thought.

But these are my thoughts upon reading.

GOVERNANCE.md Show resolved Hide resolved
Comment on lines +110 to +114
## Other roles and responsibilities

Not every single role or responsibility has been detailed in this document. Some responsibilities are handled as and when required and to the person or people most suited for it.
Such areas include access details and administration of various tools and services used by the organization, social media account access, fund/donation access and expenses approval and organization secrets access.
The above policies regarding adding or removing people to these specific privileges still apply.
Copy link
Member

@DeeDeeG DeeDeeG Mar 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In all honesty, I think we don't in practice have policies we go by on this stuff. We have not been voting, for instance, on who has access to the non-GitHub services we use. Cirrus is implicit via GitHub perms. etc.

This section feels "docs before the policy", "cart before horse", and I don't like being critical, but it doesn't sit right telling people one thing when I full well expect us to do another. (EDIT: Perhaps it would be sufficient for me to say "I dunno if this part is accurate".)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have not been voting, for instance, on who has access to the non-GitHub services we use.

No but I think in my opinion it should be done - at the very least these should be (where possible) via the admin email account. For those that are scoped around "teams" type accounts then we should probably start to be more granular with those permissions.

It might seem overkill to vote on all of them in which case I'm all ears for alternative wording here.

Comment on lines +83 to +91
## Team member & role additions/removals

Team/role administration and membership decision making is mostly covered by our [Policies](https://github.com/pulsar-edit/.github/blob/main/POLICY.md) but this section details the criteria and justifications for adding or removing team members and/or roles.

### Adding members/roles

Adding team members is performed in much the same way as any other decision (see [Policies](https://github.com/pulsar-edit/.github/blob/main/POLICY.md)) by proposals being made to add somebody to a team or role and a vote then taking place on that proposal.
If the vote passes without any significant disagreements then the member can be added to the relevant team or role.
There is no strict set of criteria for addition but generally people who are active in the community and project for an extended period of time, have contributed and added value, and share in the organization's goals & vision can be considered.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure we had formalized that adding members goes to a vote, though now that I think about it, it has been done most of the times.

Exceptions were the somewhat haphazard early days when it wasn't clear when/if we were going to branch off from atom-community, and we needed some people with permissions just to have people with permissions and to get the ball rolling on Pulsar (not just PRs and discussions at atom-community org).

But this does feel like putting it in writing, which it is. Just noting it. Mixed feelings, since feels mildly "documentation before policy" "cart before horse", but I'm leaning toward this does feel like it is de-facto policy and I seem to recall informal agreement on this one. Just this makes it somewhat formal.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry it took so long to come back to this, not sure what happened.
So yeah, this one I think has indeed been de-facto policy, the intial grouping was one thing but this has been the process since I joined (02/08) at the very least, including raising access levels.


Members may belong to more than one team or role and some come hand-in-hand with each other.

We do not work on a strict set of responsibilities with a strict governance model, we mostly resemble the [Do-ocracy](https://communitywiki.org/wiki/DoOcracy) approach to governance without too much in the way of formal or elaborate governance and policies but we do of course have to have some guidelines and agreed conventions to have a working organization.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Do-ocracy sounds about right, that is indeed how we've been doing it at least.

@DeeDeeG
Copy link
Member

DeeDeeG commented Sep 27, 2023

I finally put together a proper marked up draft 2 of this for discussion purposes, after all this time, sorry for the delay.

My draft/marked up version of the document here, with notes inline:

Hope this can help move things forward, and these are just suggestions as I was reading over it and marking it up with changes I thought to make.

Best,
- DeeDeeG

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants