A cross indicating indicating a button to close the menu

Contributor roles and hierarchy

This section defines the community roles defined within the Tranquility Base project along with their permissions and responsibilities.

  • Collaborator
  • Member
  • Approver
  • Lead
  • Administrator

Collaborator

Profile

  • Occasional and casual contributor to project

Permissions and Responsibilities

  • Read rights to source GitHub repository
  • Assigned issues and PR’s
  • Automated tests are not run against their PR’s

Prerequisites

  • Raise request via contact@tranquilitybase.io

Member

Profile

  • Has demonstrated adherence to the principles outlined in this document
  • Is familiar with project roles, structures and processes
  • Has proven technical capabilities and relevance to the project with multiple contributions to project

Permissions and Responsibilities

  • Effective in contributing/reviewing PRs assigned to them in one or more areas
  • Owns code contributed by him/herself, and as such ensures that tests consistently pass and contributes to the resolution of bugs beyond the code has been accepted
  • Has write access to the GitHub organisation, to the Slack channel and to the team drive
    Prerequisites
  • Has contributed numerous times to the project either by: Creating or reviewing PR’s, tracking or commenting issues on GitHub or participating in community or working group discussions
  • Has been sponsored by one community member with Approver privileges

Approver

Profile

  • Role is scoped for particular part of code base
  • Contributor is capable of reviewing and approving code

Permissions and Responsibilities

  • Reviews code holistically, beyond rightness and quality alone
  • Through code reviews, focuses on forward/backward compatibility and performance issues, adherence to API/flag conventions and interactions with other parts of the platform
  • Shows sound technical judgement and skill that has been proven via multiple contributions to the project
  • Proactively performs code reviews in project components they are active in
  • Mentors other members and contributors

Prerequisites

  • Has acted as code reviewer for at least 2 months
  • Has been primary reviewer for 5 substantial PRs
  • Has reviewed or merged at least 20 PRs
  • Has been nominated by a project-area Lead through PR to update of CODEOWNERS file (with no objections by other Leads)

Lead

Profile

  • Approvers for an entire area of code base
  • Capable of reviewing and approving design proposals

Permissions and Responsibilities

  • Chair working groups (see working group management section)
  • Review and approve design proposals for area of code base they own
  • Conduct issue triage and have oversight on GitHub labels and milestones
  • Hold write access to code repository
  • Apply both LGTM and label approval to PRs
  • Protect the health of the project by overseeing other member activities in their area of code base

Prerequisites

  • Is being considered an SME in the specific area of project
  • Has been Approver for at least 3 months for some part of the code base
  • Has been a Member for at least 1 year or 50% of project lifetime, whichever is shorter
  • Has been primary reviewer for 20 substantial PRs
  • Has reviewed or merged at least 40 PRs
  • Has been appointed by the Tranquility Base Core Team

Administrator

Profile

  • Purely administrative role

Permissions and Responsibilities

  • Manage the Tranquility Base GitHub code repository permissions (https://github.com/tranquilitybase-io)
  • Manage the Tranquility Base Slack channel (@tranquility_base)
  • Response to membership requests through emails (contact@tranquilitybase.io)

Prerequisites

  • Has been appointed by the Tranquility Base Core Team