For Diversity and the OCaml Community: Outreachy Summer 2022

As @patricoferris has mentioned previously, the Outreachy call for open-source communities and project submissions has started. As a reminder, Outreachy is an initiative that provides a framework through which open-source communities can offer three month internships directed at people from any kind of under-represented background in open source. With that, Outreachy helps open-source communities grow on several levels: diversity, experience, size, and popularity.

The OCaml community participated in Outreachy in summer 2019, summer 2020, summer 2021, and currently in winter 2021/22. All our interns have done and are doing really amazing jobs, and summer 2022 is just around the corner! The following timeline illustrates the process:

So let’s start getting involved!

Ways to Get Involved

Community members can take on different roles in the Outreachy effort, and all of them are very important! Maybe the most important (and most involved) role is being a mentor.

Mentoring

Mentors have two responsibilities: leading the project and guiding the interns/applicants.

Leading the Project

One responsability is leading the project. Concretely, that means outlining an internship project, submitting a project description to Outreachy, making sure that the context repo for that project gets ready for the application/“contribution” phase, and guiding the project throughout the internship, including reacting to changes. All of that must match the Outreachy framework, which we explained in detail last round, based on the timeline structure shown above.

Guiding the Intern and the Applicants

Their other responsibility is personal guidance. During the application/“contribution” period, mentors answer questions and review code for multiple applicants. During the internship, they also offer pair-programming sessions and facilitate more specific guidance, and general support for their interns.

All of that is usually quite time-intensive, so it’s important to have some support from other community members and strong support from a concrete co-mentor.

Co-mentoring

A co-mentor does the same job as described in the “Guiding the Intern and the Applicants” tasks above, so having a co-mentor is very important! Of course, if a co-mentor also wants to take part in the project’s direction, that’s great as well! This means that the line between co-mentoring and mentoring isn’t always clear.

Volunteering (aka “Acting as a Joker :bat:”)

Mentors and co-mentors receive a lot of general questions related to OCaml and programming in addition to specific questions about the project. That’s where Outreachy volunteers can be very helpful! They help all applicants and interns across projects with (usually) project-unspecific questions and give a very important technical base support.

Point Out Potential Project Ideas

Apart from not having enough time, the main reason that stops folks from becoming a mentor is the lack of project ideas. So if you have potential project ideas, please point them out, even if you don’t have time to mentor! Generally, a self-contained, uncontroversial, and incremental project makes the most suitable project for Outreachy. It’s also important for a project to be associated with a repo that can serve as a basis for easy contributions during the application phase. When in doubt, don’t keep your ideas to yourself. Any idea can be helpful!

Prepare Your Repos

In general, if you maintain a repo, it’s really nice to be welcoming to new contributors. Concretely, that means having clear contributing guidelines, good newcomer issues, and well-labeled issues. As a nice side-effect, this also makes your project a better target for future Outreachy projects.

Ready to Get Involved?

If you’ve gotten interested in any of those roles or have any other comments, please just answer here in the thread. It would be super nice to get a discussion going and start our Outreachy efforts early!

15 Likes

I along with @shakthimaan @gs0510 are submitting a project:

  • Extend OCaml 5’s parallel benchmark suite.

The idea is to gather parallel benchmarks available elsewhere and make them available in our benchmark suite, to aid the development of the OCaml compiler and parallel programming libraries. Relevant repos: sandmark and current-bench.

6 Likes

Small reminder on this. Really no one apart from @sudha, who’d like to help on this (for the sake of more diversity)?

1 Like

Just in case anyone is actually interested in this: the project submission deadline has been extended from March 4th to March 23rd. So the updated timeline now looks as follows:


where 2. and 3. probably need to be done a bit in parallel.

1 Like

Thanks for the updates @pitag! For this summer’s round I’ll be mentoring a project to Extend ocaml-geojson to support TopoJSON which will likely be a separate package. This is part of a larger effort I’m embarking on to provide better geospatial libraries and tools in OCaml!

I’d be very happy to have a co-mentor if the project (or just the idea of Outreachy) interests anyone. Don’t hesitate to reach out to me on discuss publicly or privately if you are interested or have more questions :camel:

5 Likes

@pitag and I have resubmitted the PPX derivers project for this Summer 2022 round: Expand OCaml’s library of standard derivers! This is the same project I was the intern for this past Winter 2022 round, where the goal is to build up a standard derivers library, like ppx_deriving, using the updated ppxlib API.

I’m excited to be supporting @pitag with mentoring, and for the opportunity to stay involved now that my internship has ended :smiley:

7 Likes