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 endeavour 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 organising and tagging issues.

    • Bringing in updates to the lesson template.

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

  • Recognising 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.

    • Emphasise 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 do not 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 your lesson is included on the Help Wanted page of The Carpentries website, issues labelled help wanted will automatically be listed for potential contributors to find there.

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

The process for Maintainer onboarding is currently on hold. If you are interested in becoming a lesson Maintainer, please contact us at team@carpentries.org.

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. Please ensure that this collects the Github usernames of new Maintainers.

  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 maximise attendance. This needs to be done manually from the whenisgood results, as there is not 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 homework.

Adding Maintainers to Carpentries systems

  1. Do the following for each of the Maintainers who have completed the onboarding requirements:

  2. Send email to the Maintainers email list announcing new Maintainers.

  3. Run sendmail_maintainer_certificates.R to send new Maintainers their certificates.

  4. Announce new Maintainers in the next newsletter.

Maintainer Community Meetings

The Maintainer community meets on the third Wednesday of every month. Times for these meetings can be found on the Community Calendar. A reminder for these meetings should be sent out to the Maintainers email list one week before the meeting takes place, and the Maintainers Etherpad should also be updated. Ideally, these meetings will be co-facilitated by a member of The Carpentries Core Team and the Maintainer Community Development Lead.

The following is a Etherpad template that can be used as a Maintainer meeting agenda:

Join from PC, Mac, Linux, iOS or Android: {Zoom link}

Meeting 1: Wednesday, {Date} at 16:00 UTC
Please click this link to convert to your local time: (add time converter link using [TimeandDate's Event Time Announcer](https://www.timeanddate.com/worldclock/fixedform.html))

Meeting 2: Wednesday, {Date} at 21:00 UTC
Please click this link to convert to your local time: (add time converter link using [TimeandDate's Event Time Announcer](https://www.timeanddate.com/worldclock/fixedform.html))

Attending (1st Meeting):

- {name}
- {name}

Attending (2nd Meeting):

- {name}
- {name}

Timekeeper:
Notetaker (please add notes within agenda below):

Agenda:

- Introductions (5 min)
- Updates from Carpentries team (10 min):
 - Topic 1
 - Topic 2
- Current Maintainer RFCs: https://github.com/carpentries/maintainer-RFCs/issues (10 min)
- Quarterly Software Review (item owned by Lesson Infrastructure Technology Developer) (5 min)
- Lesson issues to discuss (please add links to the issues you would like feedback or insight on) (30 min):
 - Issue 1: {link}