This document outlines the procedure for getting contributor access to various Solana Labs source code repositories and the Solana Tech Discord server.
Everyone is welcome to contribute to the Solana Labs codebase. Contributing doesn’t just mean submitting pull requests, there are many different ways for you to get involved, including answering questions on Stack Exchange or Discord, and reporting or triaging bugs.
Access is granted based on the repository you are interested in contributing to:
There are 3 levels of Github access, in the order of increasing access:
Triage
Requirement: One voucher from anyone with level 2 or above access. A contributor with Triage access will be able to manage issues in accordance with Github access policies.
Write
Requirement: Two vouchers from anyone with level 3 access or two from anyone with level 2 access. A contributor with Write access will be able to merge pull requests in accordance with Github access policies.
Maintain
Requirement: Two vouchers from anyone with level 3 access. This permission is usually reserved for those maintaining the respective repositories.
Each of the levels implies having the previous levels - e.g. level 2 implies level 1.
Requirements: One voucher from any user with level 2 or above access to the respective repository.
Contributors with Triage access will have the associated triage Github access policy for the Solana Program Library (SPL) repository or the Solana monorepo as well as access to Solana Labs' Buildkite CI.
Requirements: Two vouchers from anyone with level 2/3 access to the respective repository. Applicants must have level 1 access to apply for level 2.
Contributors with Write access will have the associated write Github access policy for the Solana Program Library (SPL) repository or the Solana monorepo.
Most notably these permissions allow the contributor to approve and merge pull requests.
Requirements: Two vouchers from anyone with level 3 access to the respective repository.
Contributors with Maintain access will have the associated maintain Github access policy for the Solana Program Library (SPL) repository or the Solana monorepo.
Users with Maintain access are responsible for managing the repositories and granting user access based on the above requirements.
Any of the above access levels will grant you the Contributor role in the Solana Tech Discord server and a role tag with your current access level and the respective repository (e.g. SLP-Triage, Mono-Triage).
If you are only interested in getting the Contributor role on Discord without requesting GitHub access, then you can request an existing Contributor to vouch for you in the #contributor-roles-requests channel. The requests should be made in the following format:
"I'd like to request the Contributor role for @USER"
If you'd like to request a role removal for an existing Contributor, you should do it in the #contributor-roles-requests channel and follow this format:
"I'd like to request Contributor role removal for @USER because [REASON]"
To receive any access level to the SPL repository or the monorepo, follow these steps:
Note: The vouching comments on the issue should be made in the following format:
"I support the promotion of USER to LEVEL for X reasons"
In the event that a user requires their access to be removed, follow these steps:
Requirements:
In the event of a malicious actor gaining any level of access, users must follow the Access Removal Process to revoke that actor's access.