Maintainer Guidelines

The Carpentries Maintainers work with the community to make sure that lessons stay up-to-date, accurate, functional and cohesive. They monitor their lesson repository, make sure that PRs and Issues are addressed in a timely manner, and participate in the lesson development cycle including lesson releases. They endeavor to be welcoming and supportive of contributions from all members of the community.

Maintainers are responsible for:

  • Routinely:
    • Ensuring reasonable response time to all submitted Issues and PRs. At a minimum, ensuring all Issues and PRs are acknowledged within two days.
    • Quickly addressing issues and PRs tagged as “bug”s.
    • Submitting Issues as they arise.
    • Adhering to the Code of Conduct and alerting the Policy Subcommittee to any potential violations.
    • Identifying potential new Maintainers based on their review activity.
  • Every six months:
    • Participating in regular Issue Bonanza and Bug BBQ events, including organizing and tagging issues.
    • Bringing in updates to the lesson template.

Maintainers represent The Carpentries community and should strive to embody The Carpentries philosophy, by:

  • Recognizing the importance of communication and being welcoming to all contributors.
  • Giving feedback to contributors using the Carpentries model:
    • Find what’s good. Be specific about improvements needed. Use motivational language.
  • Evaluating lesson contributions in light of Carpentries pedagogical model:
    • Teach what’s most relevant and useful for learners.
    • Avoid getting bogged down in technical details.
    • Keep language motivating.
    • Emphasize the importance of continued learning and improvement.

Note: These guidelines are adapted from those currently in use by the Data Carpentry Genomics Maintainers and are provisional. The Maintainer team will be deciding on official guidelines for the full set of Carpentries lesson Maintainers.

How to stay in touch

The overall Maintainer community communicates using our mailing list and our Slack channel. If you don’t already have a Slack account with the Carpentries, you can create one.

The Maintainer community meets monthly to discuss issues relevant to all lesson Maintainers. Our meeting schedule can be found on our Etherpad and on the community calendar.

Each Lesson Team also has their own Slack channel. A link to join your lesson’s Slack channel can be found in the README file in your lesson repository.

How to handle issues

Information coming soon.

How to get help

There are many ways to request help on an issue or PR you are reviewing. To get help from other Maintainers or the general community, use the help wanted or good first issue labels.

If an issue affects the overall structure or scope of the lesson, you can refer the issue to your curriculum’s Curriculum Advisory Subcommittee by using the status:refer-to-cac label. Remember that the Curriculum Advisors only meet once every six months (in advance of lesson releases) and they will likely not be able to provide a quick response to your question.

You can also get help from other Maintainers and interested community members by posting a question to your lesson’s Slack channel.

How to suggest changes to the styling for all lessons

Information coming soon.

Maintainer Onboarding

New Maintainers go through an onboarding process. The curriculum for onboarding new Maintainers is available as a Maintainer Onboarding Lesson. This documentation describes how to recruit new Maintainers and take them through the onboarding process.

  1. The application to become a Maintainer is a Google form.
  2. Advertise for new Maintainers on the blog, mailing lists and Twitter.
  3. Once the application period has closed, reviewing applications and send accepted applicants an invitation to become a Maintainer.
  4. To set up a scheduling poll to schedule Maintainer Onboarding, use WhenIsGood. Click “Use Timezones” and then “SHOW OPTIONS”. Unselect Sunday and Saturday. Add Duration = 60 minutes. Select “hide dates”.
  5. Add Maintainers who are going through training to the maintainer-onboarding Google Group. This is where announcements about upcoming meetings should be sent.
  6. After the deadline has passed for responding to the Maintainer Onboarding scheduling poll, select the two times that maximize attendance. This needs to be done manually from the whenisgood results, as there isn’t a “choose two times” option.
  7. Populate the Maintainer onboarding Etherpad with meeting dates and times. Use timeanddate meeting time announcer links to make it easy for people to convert meeting times to their own time zone.
  8. Send out an email to the Google Group letting everyone know about the scheduling.
  9. Set up a new event in AMY with the slug YEAR-MO-DA-maintainer-onboarding. Add all maintainer trainees as learners. Add onboarding leader as instructor.
  10. One week before the first onboarding meeting, send a reminder email to the Google Group.
  11. Run the three weeks of meetings according to the curriculum. Keep record of who participates in the AMY event.
  12. If people are not able to make all of the meetings, email them to ask them to write out responses to the discussion questions and homeworks.
  13. After the final onboarding meeting, do the following for each of the Maintainers who have completed the onboarding requirements:
    • Give them “write” access to their lesson repository on GitHub.
    • Add their name to the lesson table on the website.
    • Award them a Maintainer badge in AMY.
  14. Send email to the Maintainers email list announcing new Maintainers.
  15. Run sendmail_maintainer_certificates.R to send new Maintainers their certificates.
  16. Announce new Maintainers in the next newsletter.