Mentored open-source contributions#

Contributing to open-source software can be complicated, even if you’re an experienced programmer (and even more so if you’re not!). Contributions to open-source scientific software come in many forms, and often the most valuable contributions come from those who aren’t (or who wouldn’t call themselves) software developers.

For this reason, we offer what we call a “mentored open-source contribution” model. If you’re interested in contributing to our tools in any way, we will help you through the process, teaching you some of the basics of software engineering as we go. The exact model varies on the individual, but may look something like:

  1. We make initial contact and discuss your aims. Maybe you want to adapt one of our tools to your needs, or maybe you want to transition to research software engineering.

  2. We have a quick call to identify a small, well described piece of work for you to start on (typically an open GitHub issue).

  3. We go through the contribution process with you.

  4. You begin tackling the project at your own pace, and begin the code review process.

  5. We help you out where needed, either asynchronously (GitHub, Zulip) or synchronously (e.g. Zoom).

  6. Your contribution is merged.

  7. Ideally, we repeat the steps and you gradually work independently on open source.

Importantly, this is not an internship, there is no obligation on either side. It is also not a promise of help. Anyone is welcome to contribute to any of our tools, and we will always aim to help people make this step. Unfortunately, we’re busy and may not be able to guide everyone through the process.

If this sounds of interest, please get in touch with us either via Zulip or by emailing Adam Tyson.