Aperture Repo Maintainership Process

Team Context

Within 2U, Aperture owns several apps and services related to learner engagement and completion, including the Credentials IDA and any edx-platform apps associated with credentialing.

Maintained Repos

Community Expectations

This is the set of https://openedx.atlassian.net/wiki/spaces/COMM/pages/3663233055 as defined by the Maintainership Pilots. This page includes an explanation of ways that Aperture’s workflow may deviate from the norm.

Aperture Maintainership Process

Initial Maintenance

Aperture will meet requirements 1-3 and 5 for all repos we maintain. Exceptions to https://openedx.atlassian.net/wiki/spaces/COMM/pages/3663233055 are noted below.

  1. Create a useful catalog-info.yaml file.

  2. Bring the README in line with our standards.

  3. Requirements bot is installed.

  4. Github Notifications

    1. Aperture engineers may not monitor GH notifications as this has high signal-to-noise for us. See Incoming Pull Requests instead.

  5. GitHub Issues are enabled

  6. The maintainers are reachable in Discourse

    1. Individual engineers will not be reachable in Discourse. See Reachability for Team Maintainers.

  7. Incoming Pull Requests from community members should be triaged within a week.

    1. We will meet this requirement but not as-described in the cumulative responsibilities page. See Incoming Pull Requests.

  8. Author updates should be responded to within a week.

  9. Security fixes should be applied weekly

    1. We intend to meet this requirement but need a concrete metric to indicate that we’re meeting it.

    2. See Regular Maintenance.

Reachability for Team Maintainers

Aperture will monitor the #learner-credentials channel on the Open edX slack.

Aperture will monitor Discourse tags if a group tag can be created for our team.

If an individual must be tagged in slack or discourse, only @Kelly Buchanan (the eng manager) should be tagged. Individual engineers on the team should not be tagged in slack or Discourse for the following reasons:

  1. Aperture is committed to maintainership as a team, not as individuals. The engineering manager (@Kelly Buchanan) is responsible for balancing this allocation of 2U resources against our other business priorities.

  2. Aperture engineers are all only committed to maintainership so long as they work on the Aperture squad at 2U and this is subject to change based on internal needs at 2U and voluntary employment.

  3. Which engineer’s time is allocated to OSPR reviews will change each week, so tagging an individual is error-prone.

Incoming Pull Requests

Aperture has an on-call engineer that rotates weekly who is responsible for updates as well as triaging OSPRs. Reviews sometimes may be started by one engineer and completed by another if the on-call rotates. Aperture will ensure that all author comments are responded to within the week.

We will not use the Contributors board (as described in https://openedx.atlassian.net/wiki/spaces/COMM/pages/3663233055) at this stage, but would be amenable to using a future incarnation of it, and are in conversation with other maintainers about what that could look like.

We will check the Maintainer Review tab of a designated GH project board and review PRs that appear here. Filter requirements for these PRs:

  1. Must be added to the GH board (this is done automatically for OSPRs in repos we maintain, based on the open-source-contribution label)

  2. Must have the maintainer-attention-needed label

  3. Must not have the waiting-on-author label

  4. Must not be a draft PR

Regular Maintenance

We will merge update PRs weekly unless substantial work is required, in which case we will pin the dependency and plan the work accordingly. We are amenable to tracking these updates on a public GH board if a pattern is agreed upon by Axim. We believe this upgrade process will ensure that most security fixes get merged in a week but some may get pinned.

Maintainership Meetings

@Kelly Buchanan will attend the SOS meeting & Office hours as needed provided they do not conflict with our team standup at 1030am ET.