Maintainers

Maintainers

Our Responsibilities

As maintainers of the platform, our responsibilities focus on guiding contributor submitted MR’s to adhere to industry best practices and standards when working with Typescript, GraphQL, and any other toolset adopted as part of the platform.

Maintainers are expected to

  • Participate in MergeReview sessions to provide feedback and foster a public communal environment for feature development.

  • Provide feedback that is constructive and actionable.

  • Provide reasons and justification as to why contributions are not compatible with the platform and what actionable next steps are for a contributor.

  • Provide support for contributors in the form of scheduled office-hour sessions to assist both contributors and maintainers with scaling and balancing tasks.

  • Merge submissions onto the pipeline once the criteria for an Approved state have been met (ie: Adhering to all Development Guides) and the contribution is presented in a merge-able state.

  • Be open to feedback and identify scaleable mechanisms to assist the Org in scaling and streamlining development and contributions on the platform.

  • Mark MergeRequests as closed when submitted in a non-mergeable state for review, or are otherwise incompatible with the platform in their current iteration.

    • NOTE: MR’s marked as closed can be re-opened and resubmitted by contributors if feedback is addressed or contributors can provide justification/context that may have been required to properly review the MR.

Maintainers are expected NOT to

  • Merge MR’s they have active involvement in either directly or indirectly unless already approved by other maintainers on the platform.

Enforcement

Being a maintainer is a privilege granted to contributors (irrespective of role) that demonstrate the ability to work backwards from clients, think beyond the scope of immediate feature/product requirements, and have demonstrated the willingness and consistency in providing feedback to teams and their contributions unrelated to a maintainer’s own responsibilities.

Should a maintainer demonstrate an abuse of power or authority granted by having the Maintainer status, such as circumventing the review process without communication and alignment, intentionally undertaking actions under ill-will (deleting contributor commits without cause or communication), then the maintainer status will be revoked.

This is a very important role that garners a lot of trust both for the community and across orgs. It’s vital maintainers do not undermine the trust given by acting as a quality bar for AmazonMusic’s GraphQL API.

Notes:

  • Should scaling for Maintainers be incorporated ie: ‘existing maintainers must provide unanimous consent for new maintainers onboraded to the platform’ ?