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

[RFC] Add criteria and define a removal process for inactive users #707

Merged
merged 4 commits into from
Nov 21, 2023

Conversation

beyhan
Copy link
Member

@beyhan beyhan commented Oct 25, 2023

@beyhan beyhan force-pushed the add-rfc-for-inactive-cf-org-members branch from 760ae48 to 6dad2aa Compare October 25, 2023 13:20
@beyhan beyhan changed the title [WIP] [RFC] Add criteria for inactive users [RFC] Add criteria for inactive users Oct 25, 2023
@beyhan beyhan added the toc label Oct 25, 2023
@beyhan beyhan requested review from a team, rkoster, stephanme, ameowlia and ChrisMcGowan and removed request for a team October 25, 2023 13:23
@beyhan beyhan changed the title [RFC] Add criteria for inactive users [RFC] Add criteria and define a removal process for inactive users Oct 25, 2023

The period to analyze should be the last 12 months and following criteria should be use to identify inactive users:
* No contributions to the Cloud Foundry Github organization repositories
* No participations in working group activities
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we want the same rules for reviewers and approvers? Or is a dedicated WG role treated as "participation in WG activities"?

Copy link
Member Author

Choose a reason for hiding this comment

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

My intention was to describe any activity which can be executed as CFF contributor. It should be independent of the WG role. Regarding the period in the past which should be taken in the account I think having the same is ok.

Copy link
Member

Choose a reason for hiding this comment

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

Can make it explicit that this RFC is not about working group reviewers or approvers?

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

### Criteria for Inactive Members

The period to analyze should be the last 12 months and following criteria should be use to identify inactive users:
* No contributions to the Cloud Foundry Github organization repositories
Copy link
Contributor

Choose a reason for hiding this comment

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

Contribution = merged commit, PR, issue, commenting on PR/issue, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

yes. Should we clarify it more concrete?

Copy link
Member

Choose a reason for hiding this comment

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

Let's be more concrete.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done


### Remove the membership to the Cloud Foundry Github Organization

If the inactivity criteria are fulfilled for a member they should be removed from the Cloud Foundry Github organization. Any automation, approver or TOC member may submit a PR to remove the member from the Cloud Foundry Github organization. The person whose membership is being removed must be given two weeks to refute the removal. The working group lead to which the member belongs or TOC in case the member doesn't belong to any working group must make the final decision to remove the membership by merging the PR.
Copy link
Contributor

Choose a reason for hiding this comment

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

The initial cleanup will have to handle several hundreds inactive users. I guess we want to allow bulk PRs that remove many members at once, at least for the initial cleanup.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch! I added a new section about this. Is it ok like this?

Copy link
Member

@ameowlia ameowlia left a comment

Choose a reason for hiding this comment

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

Can you add a section on what tool you plan to use to do this?

### Criteria for Inactive Members

The period to analyze should be the last 12 months and following criteria should be use to identify inactive users:
* No contributions to the Cloud Foundry Github organization repositories
Copy link
Member

Choose a reason for hiding this comment

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

Let's be more concrete.


The period to analyze should be the last 12 months and following criteria should be use to identify inactive users:
* No contributions to the Cloud Foundry Github organization repositories
* No participations in working group activities
Copy link
Member

Choose a reason for hiding this comment

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

Can make it explicit that this RFC is not about working group reviewers or approvers?

@beyhan
Copy link
Member Author

beyhan commented Nov 14, 2023

@ameowlia all your comments should got addressed in the latest version. Let's have another review iteration :-).

@beyhan beyhan requested review from stephanme and ameowlia November 14, 2023 11:45
@beyhan
Copy link
Member Author

beyhan commented Nov 14, 2023

I did research about what tools exist and results are:

None of the above options is optimal but they could be used as a direction in case we implement our own thing.

@ameowlia
Copy link
Member

Starting final comment period, which will end Tuesday November 21.

@rkoster
Copy link
Contributor

rkoster commented Nov 14, 2023

A graphql query like the one below could be used:

query {
  user(login: "rkoster") {
    contributionsCollection(organizationID: "O_kgDOAAl8sg", from: "2022-11-14T15:00:00Z") {
      hasAnyContributions
    }
  }
}

Github API graphql explorer can be found here.

@rkoster
Copy link
Contributor

rkoster commented Nov 14, 2023

Or as a single query for the org:

query {
  organization(login: "cloudfoundry") {
    membersWithRole(first: 50) {
      nodes {
        login
        contributionsCollection(organizationID: "O_kgDOAAl8sg") {
          hasAnyContributions
        }
      }
    }
  }
}

Needs pagination

@anita-flegg
Copy link
Contributor

Looks good to me.

@jochenehret
Copy link
Contributor

RFC looks good! I have only one wish: As the WG leads are responsible for their members, there should be an easy to use tool for checking the activity status according to this RFC.

@beyhan
Copy link
Member Author

beyhan commented Nov 17, 2023

RFC looks good! I have only one wish: As the WG leads are responsible for their members, there should be an easy to use tool for checking the activity status according to this RFC.

@jochenehret There is a script available in this repository called contributions-for-user.sh which can be used. E.g. I used it to generate #680 (comment) and #660 (comment). It can generate all the contribution of a user for a WG. Does it full fill your expectations?

@beyhan beyhan dismissed ameowlia’s stale review November 21, 2023 15:46

Already discussed

@beyhan beyhan merged commit f326a10 into main Nov 21, 2023
@beyhan beyhan deleted the add-rfc-for-inactive-cf-org-members branch November 21, 2023 15:46
beyhan added a commit that referenced this pull request Nov 22, 2023
@beyhan beyhan added the rfc CFF community RFC label Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc CFF community RFC toc
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants