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 multiple github orgs RFC #1050

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions toc/ROLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ establish sub-working groups. Working groups delegate change approval to Approve
<p>Can join CF Slack workspace</p>
<p>Can take part in community discussions</p>
</td>
<td>GitHub Organization</td>
<td>Per GitHub Organization</td>
</tr>

<tr>
Expand All @@ -75,7 +75,7 @@ establish sub-working groups. Working groups delegate change approval to Approve
<td>
<p>Can get PRs accepted</p>
</td>
<td>GitHub Organization</td>
<td>Per GitHub Organization</td>
</tr>

<tr>
Expand All @@ -88,10 +88,9 @@ establish sub-working groups. Working groups delegate change approval to Approve
<p>Has made multiple contributions to the project</p>
</td>
<td>
<p>Member of the GitHub cloudfoundry (and possibly the cloudfoundry-incubator) orgs</p>
<p>Member of the Cloud Foundry Slack workspace</p>
<p>Member of a CFF GitHub Organization</p>
</td>
<td>GitHub Organization</td>
<td>Per GitHub Organization</td>
</tr>

<tr>
Expand Down Expand Up @@ -226,11 +225,11 @@ this is not a requirement.

- Contributing to working group or community discussions.

- Subscribed to
[cf-dev@lists.cloudfoundry.org](https://lists.cloudfoundry.org/g/cf-dev).

- Actively contributing to 1 or more areas.

- For Cloud Foundry Contributors: Subscribed to
[cf-dev@lists.cloudfoundry.org](https://lists.cloudfoundry.org/g/cf-dev).

### Responsibilities and privileges

- Responsive to issues and PRs assigned to them.
Expand Down
52 changes: 37 additions & 15 deletions toc/rfc/rfc-0002-github-members.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Meta
[meta]: #meta
- Name: Who is able to add and remove members of the Cloudfoundry GitHub org
- Name: Who is able to add and remove members of CFF Github Orgs
- Start Date: 2022-01-26
- Author(s): @LeePorte
- Status: Accepted
Expand All @@ -9,25 +9,47 @@

## Summary

Working group leads and approvers are the primary roles responsible for granting GitHub users membership in the `cloudfoundry` GitHub org, as they have the most context on which users within the CF community meet the criteria to be regular contributors.
Working group leads and approvers are the primary roles responsible for
granting GitHub users membership to the CFF Github Orgs, as they have
the most context on which users within the community meet the criteria to be
regular contributors.

The TOC is the body responsible for removing an existing member from the `cloudfoundry` GitHub org and coordinating with working groups to ensure that the removal does not have unexpected consequences.
The TOC is the body responsible for removing an existing member from the CFF
Github Orgs and coordinating with working groups to ensure that the removal
does not have unexpected consequences.

## Problem

Under the previous dojo-based participation model, a central team of VMware admins was primarily responsible for managing the members of the `cloudfoundry` GitHub org. In the current system of CF community roles and responsibilities, however, that delegation to the administrative team of a single member company no longer makes sense.
Under the previous dojo-based participation model, a central team of VMware
admins was primarily responsible for managing the members of the CFF Github
Orgs . In the current system of CF community roles and responsibilities,
however, that delegation to the administrative team of a single member company
no longer makes sense.

## Proposal

As defined in the [roles](https://github.com/cloudfoundry/community/blob/main/toc/ROLES.md), each Contributor
should be a member of the `cloudfoundry` GitHub org.
The leads and approvers within a Working Group are best positioned to decide whether an individual has met the minimum contribution criteria to become an official contributor.

A Working Group approver or lead should raise a [PR on the community repository](https://github.com/cloudfoundry/community/pulls) to propose adding a new member to the `cloudfoundry` GitHub org.
This PR should add the member directly to the file in the [organizational structure directory](https://github.com/cloudfoundry/community/tree/main/org) that contains the list of contributors. Automation will periodically synchronize the GitHub org membership with the files in this directory.
Only Working Group leads and the TOC will actually have permission to merge these PRs under the planned access control on the community repository.

As removing a member from the `cloudfoundry` GitHub org may have unintended consequences across the organization, the TOC is the body required to approve those removals.
Proposals to remove a member should also be submitted via PR, and the submitter should tag the PR with `toc` and should mention `@cloudfoundry/toc` to make the TOC aware of the request.
The TOC will then consult any working groups that may be affected by the removal of this member and use its usual decision process to approve or reject the removal.
As defined in the
[roles](https://github.com/cloudfoundry/community/blob/main/toc/ROLES.md), each
Contributor should be a member of the appropriate CFF Github Org(s). The leads
and approvers within a Working Group are best positioned to decide whether an
individual has met the minimum contribution criteria to become an official
contributor.

A Working Group approver or lead should raise a [PR on the community
repository](https://github.com/cloudfoundry/community/pulls) to propose adding
a new member to a CFF Github Org. This PR should add the member directly to the
file in the [organizational structure
directory](https://github.com/cloudfoundry/community/tree/main/org) that
contains the list of contributors. Automation will periodically synchronize the
GitHub org membership with the files in this directory. Only Working Group
leads and the TOC will actually have permission to merge these PRs under the
planned access control on the community repository.

As removing a member from a CFF GitHub Org may have unintended consequences
across the organization, the TOC is the body required to approve those
removals. Proposals to remove a member should also be submitted via PR, and the
submitter should tag the PR with `toc` and should mention `@cloudfoundry/toc`
to make the TOC aware of the request. The TOC will then consult any working
groups that may be affected by the removal of this member and use its usual
decision process to approve or reject the removal.

Loading