Become an Outreachy Mentor: support the growth and diversity of the OCaml community

What is Outreachy?

Outreachy is an initiative that provides financial support for remote internships, in open-source communities, to under-represented groups. It provides interns with the opportunity for their first experience in open-source development.

Outreachy promotes diversity and inclusion in the open-source community. It acts as a central point for organising internships for groups of people who historically have faced systemic bias in the programming world.

Outreachy and OCaml

Following the successful effort from the OCaml Software Foundation last year, this year OCaml Labs and Tarides joined forces to continue our efforts to bring more new developers into the OCaml community from diverse backgrounds. We selected three Outreachy interns to work with us on different OCaml projects.

Current OCaml Interns

We merged over 75 PRs and resolved over 70 issues during the initial contribution period this year on the ocaml/ocaml.org repository! This was the most activity the repository had seen since 2014. There were so many candidate interns, keen to join the OCaml community and start developing.

This year, we have three interns working with us: Diksha Gupta, Odinaka Joy and Shreya Kumari Gupta.

  • Diksha Gupta is working on automating and expanding ocaml.org’s new and experimental peertube instance for hosting OCaml-related video content.
  • Odinaka Joy is prototyping and building an online package search web application and service.
  • Shreya Kumari Gupta is helping to build and design a new ocaml.org website.

They’ve all made amazing progress and we can’t wait to share more about these projects towards the end of their internships!

Continuing to grow Outreachy and OCaml

Outreachy programs run every six months, and so even though the current round is still ongoing, we need to plan how to participate in the forthcoming Winter 2021 round.

One of the big bottlenecks in growing the program is having a sufficient supply of projects and mentors from the OCaml community who are willing to work with the enthusiastic Outreachy interns to get them started on contributing to our ecosystem. That’s the goal of this post – to convince you to sign up!

Benefits of being a mentor

Outreachy is an amazing and rewarding experience that:

  • Increases diversity in the OCaml community.
  • Attracts more contributers to OCaml or to open-source projects in general.
  • Improves your project with an additional developer.
  • Has an enriching experience: work together with people from many different backgrounds and ways of thinking.
  • Promotes OCaml: When people learn about Outreachy, they often go through the list of communities that are or were signed up in the past. That’s a good way for those from under-represented groups to learn about OCaml. It also puts the OCaml community in a good light. We know that this is how some people who now form part of the OCaml community first learned about OCaml and got excited about it.

Expectations of being a mentor

* Time commitment

During the three month internship, mentors need to commit to working with the Outreachy intern for approximately 5 hours per week. During the one month contribution period that takes place before the internship starts, mentors must help prospective applicants with issues and PRs which can take anywhere between 1 to 15 hours per week depending on how many interested applicants there are.

* Your open-source repository

Most Outreachy projects that interns work on have a single, main repository that code will eventually be merged into. It can be any OCaml, open-source repository of code with some form of issue tracker. For example, this summer we started with the ocaml.org repository. The best repositories tend to be those that are well-maintained, make good use of the issue tracker, and have clear documentation that describes how to get started.

Note that although companies can take part, the open-source project that is part of Outreachy must be in the public interest. This generally means that OCaml libraries and tools of wider interest are fine targets for Outreachy contributions, but not OCaml codebases that are commercial or very specific in nature.

* Outreachy projects

Outreachy defines a good project for an intern as being well-defined, self-contained, uncontroversial and incremental. When thinking of a suitable project it is important to bear these conditions in mind.

Mentors can support the success of the intern by preparing, in advance, a three-month outline of the timeline the intern will follow. This timeline divides the project into manageable chunks that can be completed each week.

* Interacting with Outreachy interns

The interns’ backgrounds may vary. Some might be experienced developers but most won’t already know OCaml and may have questions concerning the OCaml set-up or the langauge in general. However, the project doesn’t need to be super easy: many interns who started without 100% skill fit have been very successful.

Also, for most interns it’s the first time contributing to open-source and they’ve all faced systemic bias in the past. So it’s important to provide a friendly working atmosphere. This means being patient and making them feel comfortable to ask questions.

Step-by-step process for being a mentor

The Outreachy process from the mentor’s perspective, including dates for the coming round is:

Next Round Timeline

  1. The Outreachy process starts when the call for mentoring communities sign-up opens. OCaml is already included in the next Outreachy round.

  2. The next step is to submit Outreachy projects to the OCaml community on the Outreachy site. That’s the first step that you, as a potential mentor, would need to undertake. We’ve explained in the section above what a project can look like. At this stage, you also need to mention the skills that interns require to contribute to your project. This year’s list of projects with their respective, required skills are available online. If you set your requirements too low, you might be overwhelmed by the number of applicants to your project; if you set it too high, you might not get any applicants. The section above, Interacting with Outreachy interns describes the experience level you can expect.

  3. If your project is approved, you should prepare it for the contribution period. At this stage, it’s a good to review your contribution documentation and to label some of your project’s issues as good-first-issue resp. medium.

  4. The one month contribution period is the time during which Outreachy applicants, who have passed an initial application process that’s validated by the Outreachy organizers, can apply for a defined project by contributing to its repository in the same way that any other first-time contributer would contribute (independently from the internship project). This involves choosing issues, working on them and opening PRs, commenting on issues or opening new ones, and so on. During this stage, you need to start providing guidance and help. In particular, having good-first-issue's is imperative since it allows the participants to become familiar with the code base. You must also have some medium sized issues or tasks for participants because it allows you to assess their application with more substantial contributions.

  5. When the contribution period ends, you need to select (an) intern(s) out of the pool of applicants. To help you get an overview, each of them will submit an application consisting of the following two parts: a summary of their contributions to your repository during the contribution period and the final application which includes a timeline for the internship project. The applicants are supposed to work out the timeline together with their mentor(s), so they might ask you for guidance and feedback in advance.

  6. The interns will then be officially announced by Outreachy, and they start working with you a few weeks later, marking the start of their 13-week internship period!

Become a mentor

Mentoring an Outreachy intern is a very enriching experience! So if you have ideas, submit your project on the Outreachy website, under the OCaml community, and apply to be a mentor or co-mentor.

We are looking forward to your participation in the next Outreachy round(s) and would love to hear your ideas (comment on the post)!

This post was written by @gs0510, @patricoferris and @pitag with lots of useful input from @avsm and @susanstocks.

16 Likes

There’s been a very disappointing response to this call for mentors to increase the diversity of our community. Precisely noone has been in touch for the winter call, leaving the burden of mentorship on the same people that did all the work this summer.

Before making new calls for programs like GSoC, let’s get Outreachy onto more sustainable ground please. We are purely limited by mentorship time at present. This can be as simple as organising new first issues for projects in the ecosystem, and all the way to pair programming with a mentee. You can chose how to be involved.

8 Likes

One possibility on the softer side of the OCaml compiler would be a project to work on the OCaml manual and its integration to ocaml.org: there are few tasks that might internship sized, for instance the switch to odoc for the postprocessed manual or implementing interactive code examples. I would try to write a more cohesive project before the 17 September deadline.

7 Likes

Ah ha! From reading this initially I was under the impression that mentoring meant running an independent project that needed contributors. I didn’t realize it involve helping guide contributors on existing projects and/or providing support like pairing.

I think this is a wonderful initiative, and definitely would like to support. Thanks to you and all the mentors who made this year a success!

3 Likes

I actually haven’t been able to figure out how to apply as a volunteer/co-mentor. I can commit 1-5 hours per week to help interns with pairing, guidance, etc., but can’t lead a project or devote more time per week. If someone can point me towards the right link, or just wants to keep me in mind as support for their project, I’m happy to pitch in.

I actually haven’t been able to figure out how to apply as a volunteer/co-mentor.

You need to know which project you want to co-mentor and then can apply as a co-mentor for that specific project. For that, first there must be a project registered, which I think isn’t the case yet.

I can commit 1-5 hours per week to help interns with pairing, guidance, etc., but can’t lead a project or devote more time per week.

Nice! I think if there will be a project that suits you as co-mentor, it would be great for you to sign up as a co-mentor for it. What kind of things do you usually work on?

And by the way: Thanks! :slight_smile: It’s really nice to see folks excited to help!

2 Likes