Skip to content

Commit

Permalink
πŸ“ Update team structure
Browse files Browse the repository at this point in the history
  • Loading branch information
pavithraes committed Aug 15, 2023
1 parent 13f5c51 commit e2d50de
Showing 1 changed file with 25 additions and 51 deletions.
76 changes: 25 additions & 51 deletions docs/docs/community/team-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,84 +4,58 @@ title: Project roles and teams
description: Teams, roles, and responsibilities in the Nebari OSS project
---

The Nebari project has a team-based governance structure, implemented using [GitHub's team features](https://github.com/orgs/nebari-dev/teams) for transparency.
This page documents the different teams (and members), the privileges and responsibilities of each team, and how you can join the teams.
The Nebari project has a team-based governance structure, implemented transparently using [GitHub's team features](https://github.com/orgs/nebari-dev/teams).
This page documents the different teams, their privileges and responsibilities, and how you can join the teams.

:::tip
Use the table of contents in the right sidebar to jump to different sections of this page.
:::

## General teams
## Teams

The following are the primary Nebari teams that form a part of the governance structure.
The following formal teams are recognized by Nebari.

### Triage

Members of this team are responsible for triaging new and existing issues & pull requests (PRs) [following these guidelines](./maintainers/triage-guidelines), and [improving the issues/PRs](./file-issues#working-on-issues-to-improve-them) when needed. To do this, they have the ability to add relevant labels to issues/PRs, edit issue/PR titles and descriptions to improve them, and transfer issues to other Nebari repositories.

To join this team, you must have engaged with (created or commented on) at least one issue or PR or discussion topic in the Nebari GitHub organization. If you meet these requirements and would like to join the team, let us know by opening a GitHub discussions topic in the ["Community" category](https://github.com/orgs/nebari-dev/discussions/categories/community). Any Nebari team member (general or special interest team) can nominate people to join the Triage team, the same way through the Discussions Forum. Any member of the Core team can then approve and add people to the Triage team.
Members responsible for [triaging](./maintainers/triage-guidelines) and [improving](./file-issues#working-on-issues-to-improve-them) new and existing issues & pull requests (PRs) across all repositories. They have the ability to add relevant labels to issues/PRs, edit issue/PR titles and descriptions to improve them, and transfer issues between repositories.

### Contributors

This team recognizes people who make valuable contributions to the Nebari project, by contributing to and maintaining the code, documentation or design assets, triaging issues/PRs, managing the community forums, fund raising, advocating for the project, and more.

Members of this team are usually also part of a special interest team, and have certain commit rights granted by the special interest team. The Contributors team does not have any extra privileges.

Any Nebari team member can nominate people (including themselves) to join this team by opening a GitHub discussions topic in the ["Community" category](https://github.com/orgs/nebari-dev/discussions/categories/community). Any member of the Core team can approve and add people to the Contributors team.
People who make valuable contributions to the Nebari projects in the form of code contributions, documentation improvements, or design enhancements, issues/PR triage, community management, fund raising, advocacy, and more. Members of this team have commit rights across all Nebari repositories, which includes access to [triage](#triage) permissions.

### Core

Core team members are responsible for leading and maintaining the overall Nebari project and community. They set a direction for the project and make the final decisions on project-wide initiatives.

<!-- TODO: Privileges: commit rights to all repos, create/archive repos, add/remove members? Merge with Owner? -->

Members of the "Contributors" team who regularly make high-quality, contributions to the project can be nominated to join the Core team. Any member of the "Contributors" or "Core" team can nominate people (including themselves) by opening a GitHub discussions topic in the ["Community" category](https://github.com/orgs/nebari-dev/discussions/categories/community). The Core team will come to a [consent-based decision](https://www.sociocracyforall.org/consent-decision-making/) to approve the request and add people to the Core team.
Project sustainers who lead and maintain the overall Nebari project and community. They are the core and final decision-makers on project-wide initiatives, and have repository-level management rights across all Nebari projects.

### Owners

<!-- TODO: Update based on:
- Do we want to keep this group or merge with Core team?
- If we keep this separate, what does it mean and how do people join this team?
-->

### Emeritus core

Open source projects have members join and retire as the project matures. Contributors move on for various reasons, like limited bandwidth, conflicting or changing interests, burnout, boredom, personal reasons, and much more.
A private and small subset of the Core team who have organization-level privileges for [`nebari-dev`](https://github.com/nebari-dev). While decisions are made by the the entire Core team, the Owners group have relevant permissions to implement certain decision like adding new team members.

The Emeritus core team recognizes community members who choose to step away from the Core team. Their contributions to the project are important, and the other Core team members are expected to support the member off-board and transfer their responsibilities smoothly.

Core team members can step away at any time, and we hope for them to communicate this to the rest of the Core team early if possible. They can share as much or little details as they are comfortable sharing for this move. We also hope they can work with the team for a smooth transition, but we do understand if sometimes this may not be possible.

## Special interest teams

The following teams are not strictly part of the governance structure, because members of these teams should also be in the Contributors team. New special interest teams can be created whenever the Contributors or Core team members see a need for it.

All members of the special interest group have the privileged of Triage team, the rights mentioned in the following section are in addition to the triage rights.

<!--- TODO: Should Triage team be a special interest team? -->
### Conduct

### Code
Community members responsible for upholding and enforcing Nebari's Code of Conduct. This team is documented in the [Nebari governance repository](https://github.com/nebari-dev/governance/blob/main/code-of-conduct/coc_enforcement.md#the-code-of-conduct-committee). At least one members of this team should also be in the Nebari Core team, and all members should be trained to handle CoC reports with care.

Community members who focus on code contributions, across the main codebase `nebari-dev/nebari` and supporting code repositories like `nebari-dev/nebari-docker-images`.
### Emeritus core

This team has commit rights across all the Nebari repositories, because they are all connected.
The Emeritus core team recognizes community members who choose to step away from the Core team. Open source projects have members join and retire as the project matures. Contributors can move on for various reasons including limited bandwidth, conflicting or changing interests, burnout, boredom, personal reasons, and much more.

### Design
Nebari Core team members can step away at any time, and we hope for them to communicate this to the rest of the Core team early when possible. They can share as much or little details as they are comfortable sharing for this move. We also hope they can work with the team for a smooth transition, but we do understand if sometimes this may not be possible. Fellow core team members are expected to support off-boarding member for a graceful transfer of responsibilities.

Community members who focus on design assets, they have commit rights to:
## Special interest or working groups

* `nebari-dev/nebari-design`
* `nebari-dev/nebari-docs`
* `nebari-jupyterhub-theme`
In addition to the above formal teams, new special interest group can be created with commit and triage access to specific Nebari repositories. Examples of special interest groups in the past are "Documentation" and "Design" teams.

### Documentation
These special interest teams can be created by the Nebari Core team if two or more community members express interest in the [discussion forum](https://github.com/orgs/nebari-dev/discussions/categories/community).

Community members who focus on documentation initiatives, they have commit rights to:
## How to join a team?

* `nebari-dev/nebari-docs`
* `nebari-dev/governance`
Nebari uses a nomination process add new team members[^1], as detailed in the following table. You can nominate members by opening a GitHub discussions topic in the ["Community" category](https://github.com/orgs/nebari-dev/discussions/categories/community).

### Conduct
[^1]: All except the [Emeritus core](#emeritus-core) team are decided through nominations.

Community members who work to enforce [Nebari's Code of Conduct](https://github.com/nebari-dev/governance/blob/main/CODE_OF_CONDUCT.md).
At least one members of this team should also be in the Nebari Core team.
| Team | Requirements for nomination | Nominators | Approvers |
| ----------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Triage | Engage with (create or comment on) one or more issue/PR/discussion in [`nebari-dev`](https://github.com/nebari-dev) | Any community member (including self) | Any Core team member |
| Contributor | Two or more [contributions](./#how-to-contribute) to Nebari with intention to continue contributing regularly | Any community member (including self) | Any Core team member |
| Core | [Contributors team](#contributors) member with a record of regular, valuable, and high-quality contributions to Nebari for at least one month | Any community member (including self) and one Core team member | Core team makes a [consent-based decision](https://www.sociocracyforall.org/consent-decision-making/) |
| Conduct | Member of the Contributor or Core Team with adequate training to handle CoC reports | Any community member (including self) | Core team makes a [consent-based decision](https://www.sociocracyforall.org/consent-decision-making/) |

0 comments on commit e2d50de

Please sign in to comment.