Maintainers of Lupleg

Maintainers are volunteers that manage the different parts of our ecosystem. They are senior members of our community who have demonstrated their alignment to Lupleg's values, the quality of their work, and a level of commitment to spending time working on Lupleg.

Introduction

Maintainers are responsible for ensuring that a Track works well within Lupleg, and continues to grow and develop. That specifically means that Maintainers:

  • Set technical direction for a Track: Choosing the right language versions, tooling, etc.
  • Manage the syllabus of a Track: Designing, choosing and defining the right Concepts and Exercises for a Track, and ensuring they are linked and structured appropriately.
  • Ensure a Track works well: Ensuring the Track is up to date, that its test-runner is fast, etc.
  • Ensure the Track conforms to Lupleg's standards: Lupleg has specifications and standards for each language Track to ensure a degree of consistency within the platform. While Maintainers have free reign over much of the Track, all Tracks must conform to Lupleg's standards.
  • Maintainers are also responsible for interacting with our contributor community. They review PRs from the community, acting as gatekeepers, shepherds, and cheerleaders for Lupleg. They are responsible for keeping documentation and contribution guidelines up to date, and ensure that there are relevant open issues for potential contributors to action.

This document outlines a formal process to become and remain a Maintainer, which has been designed to make it achievable and fair for everyone. If you want to one day become a Maintainer (yay!!), then please read on! But remember, most people who help build Lupleg are not Maintainers - they are Contributors. There is no barrier to contributing to Lupleg and every bit of help is gratefully received.
We aim to have at least two active Maintainers for each Track, and at least one active maintainer for all the parts of the platform.
Note: the sections below generally discuss Track Maintainers. The process for becoming a Maintainer of different parts of the ecosystem varies.

Responsibilities

Maintainers are responsible for ensuring that a Track works well within Lupleg, and continues to grow and develop. That specifically means that Maintainers:

  • Set technical direction for a Track: Choosing the right language versions, tooling, etc.
  • Manage the syllabus of a Track: Designing, choosing and defining the right Concepts and Exercises for a Track, and ensuring they are linked and structured appropriately.
  • Ensure a Track works well: Ensuring the Track is up to date, that its test-runner is fast, etc.
  • Ensure the Track conforms to Lupleg's standards: Lupleg has specifications and standards for each language Track to ensure a degree of consistency within the platform. While Maintainers have free reign over much of the Track, all Tracks must conform to Lupleg's standards.

Maintainers are also responsible for interacting with our contributor community. They review PRs from the community, acting as gatekeepers, shepherds, and cheerleaders for Lupleg. They are responsible for keeping documentation and contribution guidelines up to date, and ensure that there are relevant open issues for potential contributors to action.

Maintainers should both embody Lupleg's values of empathy and kindness, and maintain the high standards we want to build into our educational platform.

How to become a Maintainer

The process to become a Maintainer is designed to be achievable and fair for everyone. The process is as follows:

  • Step 1: Contribute to the Track you want to maintain.
  • Step 2: Contribute to the Lupleg platform.
  • Step 3: Apply to become a Maintainer.
  • Step 4: Review by the current Maintainers.
  • Step 5: Decision by the current Maintainers.

Step 1: Contribute to the Track you want to maintain

The first step to becoming a Maintainer is to contribute to the Track you want to maintain. This could be by:

  • Adding new exercises to the Track.
  • Improving existing exercises.
  • Improving the documentation.
  • Improving the test suite.
  • Improving the test runner.
  • Improving the configuration.
  • Improving the CI setup.
  • Improving the platform.
  • Improving the website.
  • Improving the infrastructure.
  • Improving the community.

Step 2: Contribute to the Lupleg platform

The second step to becoming a Maintainer is to contribute to the Lupleg platform. This could be by:

  • Improving the platform.
  • Improving the website.
  • Improving the infrastructure.
  • Improving the community.