Axim’s policy on granting write access to repos in the openedx GitHub organization follows the model outlined in OEP-54 Core Contributors: anyone wishing to have write access to a repository must be nominated for inclusion in the Core Contributor program with specified repo access in the Discourse forums. Prior to this nomination, potential CCs must contribute to the repo(s) they’re requesting access for to show their submissions are of high quality and meet maintainer standards.
2U engineers are not currently part of the Core Contributor program. They have a special group of 2U-authored/contributed repos called 2u-edx-legacy (known until ~August 2023 as push-pull-all) that new hires at 2U are immediately granted write access to. New hires at 2U do not go through the Core Contributor process.
From now on, no new repos will be added to 2u-edx-legacy. Authors of new repos will need to be added to specific teams that grant write access to the repos. Write access to a repo is granted in one of the following ways:
Original author(s) of the repo being created or moved in are given write access to the repo.
Authors will be part of a team and the team will be granted write access. It could be a new team or an existing team: work with Axim to determine what team is appropriate.
If an author is not an employee of 2U, or is a non-2U community member who is not yet a Core Contributor, they will need to be nominated as a Core Contributor.
Non-original authors - 2U engineers included - who wish to have write access to repos need to follow the core contributor “expansion of responsibilities” process:
Commit to the repo(s) they want access to, using pull requests from a personal fork.
Be nominated (or self-nominate) for write access to the additional repos. 2U engineers are not Core Contributors, but they use the same expansion of responsibilities process outlined in OEP-54.
This makes 2U and community more symmetric in access. The community is not granted blanket access to 2U-authored repos, and 2U is not granted blanket access to community-authored repos. Anyone can contribute to any repo by using a personal fork to create a pull request, then having it reviewed and merged by someone with write permissions.