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

Implement an Activity Policy #651

Open
bnb opened this issue Dec 29, 2021 · 5 comments
Open

Implement an Activity Policy #651

bnb opened this issue Dec 29, 2021 · 5 comments

Comments

@bnb
Copy link
Contributor

bnb commented Dec 29, 2021

I'd like to recommend that we introduce an Activity Policy for organization membership to reduce the manual workload of maintaining organization membership and attempt to reduce the surface area for potential issues caused by escalated privileges.

I think we can probably be incredibly lenient in what we consider "activity". I'd consider the following "activity", in the nodejs, pkgjs, and nodejs-private orgs:

  • Creating an Issue, PR, or Discussion (ex. org:nodejs author:bnb created:>2021-01-01)
  • Commenting on an Issue, PR, or Discussion (ex. org:nodejs commenter:bnb created:>2021-01-01)
  • Reviewing a PR (ex org:nodejs reviewed-by:bnb created:>2021-01-01)

I would also include "reacting to an Issue, PR, or Discussion" but it doesn't seem like GitHub has an API that would surface that information. If people think of more things to check programmatically that could be added, I'm wholly onboard with that. I believe our goal should be to consume as many signals as possible, and given that we've consistently decided to centralize on GitHub I think using every available signal is a reasonable way to parse "has this person engaged with the project".

In terms of "what is the scope and approach":

  • I'd recommend checking for checking the past year. I don't know of a point in history where an "active" member of the project didn't engage in some way in GitHub at one point or another within the previous 365 days.
    • I'd recommend this be instant rather than moving to a temporary hold group before being released. In CommComm I pretty consistently noticed a pattern where when asked people would say yes but not return, creating an artificial inflation of the number of members despite a majority being in this limbo state.
  • I'd recommend committing "decisions" in a repo, so we have an easy log that we can audit.
    • This could include a snapshot of their membership, allowing us to easily reinstate that.
  • I'd recommend that we take a similar approach to how some groups have implemented Emeritus, where a simple request to be re-added (perhaps after some period of renewed activity, like a week or a month?) is all that's required. Perhaps this could also be automatic.

Would love to hear thoughts on this.

@Trott
Copy link
Member

Trott commented Dec 29, 2021

Prior art:

(Not trying to make any particular point. Just adding some context/information about what's already done.)

@mhdawson
Copy link
Member

mhdawson commented Jan 4, 2022

Your suggestions make sense to me. In line with what @Trott implemented in the prior art that he mentioned, it should be automated and I think the way it was done where it generates a PR is a good way to review/land versus the automation just automatically making changes.

@bnb
Copy link
Contributor Author

bnb commented Jan 4, 2022

Agree that it should be automated and via PR. If we've already got existing infrastructure in Actions, I think it makes sense to re-use that infrastructure.

@mmarchini
Copy link
Contributor

I like this idea. We might want to also add nodejs-private to the list.

@bnb
Copy link
Contributor Author

bnb commented Jan 14, 2022

@mmarchini done

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

No branches or pull requests

4 participants