hackforla / hackforla/admin-governance

Github permissions changes: Rolling out Teams

Open
#19 1 comment 0 reactions 0 assignees View on GitHub
engagement Organization Development
Dominant language
No language data
Stars
2
Forks
5
PR merge metrics
No merged PRs in 30d

Description

## Overview

We are in the process of changing the permissions within the Hack for LA GitHub organization, see #14.

Project repositories and teams will be organized using [GitHub Teams](https://help.github.com/en/articles/about-teams).

**[Jump to Action Items for Team Leads](#action-items)**

## Why Teams?

### Team organization, visibility, and communication

In addition to [Hack for LA's project listing](https://www.hackforla.org#projects), Teams provide another "home page" for the work the team is doing; including repositories, visual identity, project boards, discussions, and more.

* Teams can be @mentioned in issues, pull requests (PRs), and elsewhere; notifying everyone that has subscribed to the team.
* Teams have access to team-wide [Project Boards](https://help.github.com/en/articles/about-project-boards), easily referencing multiple repositories.
* [Team Discussions](https://help.github.com/en/articles/about-team-discussions) give an opportunity for ad-hoc forum style discussions, as well as "pinning" of important threads.
* Members with *read access* can be assigned to issues and PRs, helping to ensure a clear delineation of work.

## Team permissions and management

Team Leads will have a much larger degree of oversight and management of their repositories and teams, including designating other team admins and managing membership.

Teams will have different set of permissions based on their settings:

### Read teams

These teams are typically named with the name of the project, e.g. the [`heart`](https://github.com/orgs/hackforla/teams/heart) team.

Permissions for members of a *Read* team include:

* Submit new issues
* Clone and fork repositories
* Submit PRs for review
* Participate in Team Discussions, use Project Boards, etc.
* Be assigned to issues or PRs by members of *Manager* and *Admin* teams

As always, anyone can submit issues and PRs on public repositories and this won't change.

Additionally, **any member** of the Hack for LA organization can be assigned to any issue or PR. In order to participate in the Team activities, membership in a *Read* team is minimally required.

### Manager teams

These teams are typically named like `project-managers`, e.g. the [`heart-managers`](https://github.com/orgs/hackforla/teams/heart-managers) team.

Permissions for members of a *Manager* team include:

* *Read* team permissions
* Write access to team repositories: merge pull requests, create/delete branches, etc.
* Assign members/labels/milestones to issues and PRs

### Admin teams

These teams are typically named like `project-admins`, e.g. the [`heart-admins`](https://github.com/orgs/hackforla/teams/heart-admins) team.

Permissions for members of an *Admin* team include:

* *Manager* team permissions
* Manage team membership: add, remove, change roles (**note:** new users must be invited as members of the Hack for LA org first)
* Configure team repository settings: repository metadata, default branches and branch protection rules, webhooks, deploy keys, notification rules, etc.

Action Items for Team Leads

**Head's Up Team Leads** (assigned to this issue):

[Team creation is well under way](https://github.com/orgs/hackforla/teams).

> In order for people to be assigned to Teams, they must *first* be added as [**members**](https://github.com/orgs/hackforla/people) to the Hack for LA GitHub organization. Then you can add them to your Team(s).

### Review the Outside Collaborators:

These are assigned at the individual repo level. Find the settings page here:

```
https://github.com/hackforla//settings/collaboration
```
Unless we hear otherwise, Outside Collaborators will be invited to Hack for LA with **the same permissions** on your team's repo(s) as they have now.

### Review your [new Team structure](https://github.com/orgs/hackforla/teams)

Note some members have already been added.

### [Mark your own membership public](https://help.github.com/en/articles/publicizing-or-hiding-organization-membership#changing-the-visibility-of-your-organization-membership)

*(if it is not already)*

### [Setup two factor authentication on your account]( https://github.com/hackforla/governance/issues/20)

*(if it is not already)*

### Post a comment on this issue

Or DM `@kegan` or `@Bonnie` *on Slack*.

with any desired Team changes that you can't do yourself (e.g. adding someone to your Team that isn't yet part of the Hack for LA org).

## What will happen next?

@thekaveman or @ExperimentsInHonesty will:

1. **Invite all Outside Collaborators** to become Members at the same access level (unless otherwise instructed).
1. Let each respective Team Lead know when all Outside Collaborators have been sent an invite.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.