Fedora is a community with a lot of moving parts and has at least five different ways of thinking about new contributor onboarding. Unlike some single code-base communities where there is a focus around a repository or a bug tracker, Fedora is constantly working on lots of things and the linkages can be hard to see. Some of those activities are directly (in a creation sense) related to the amazing Linux distribution we produce.
These activities, like Release Engineering, must happen or no bits get shipped. Other activities are critical to the experience of Fedora, like Design. Without these activities we might as well not ship. Some activities, like a lot of the work done by Fedora Infrastructure, are critical to providing the tools and glue we need to get our work done.
Onboarding is much on the mind of communities of late, thanks to Stormy Peters' prompt on how community works at opensource.com. Go read it, as it inspired this post and will contain lots of great information in the roundup post later this week.
When considering how to attract, onboard, and retain new contributors, Fedora also exhibits a diversity of thought and activities. Thinking through this topic led me to realize just how much Fedora as a project is a platform for exploring ideas and serving different audiences, just like our namesake Linux distribution. Here are some of the ways Fedora welcomes new contributors:
Individual teams have developed onboarding processes that are specific to them. For example, Fedora's Design team has developed a guide to help people join the team. Fedora's Infrastructure team has developed a similar guide. Both teams have the same idea but work on it differently. Design emphasizes getting your first contribution in before going through the mechanics of joining the team fully. Infrastructure has people explore ideas and go through a mentoring process.
Another new contributor focused activity is the work being done by the Fedora Join SIG. This group of contributors has come together with the express goal of "[setting] up and [maintaining] channels that let prospective contributors engage with the community. The idea here is to enable people looking to join the Fedora community to converse with existing members, make friends, find mentors, and get a feeling of what and how the community does in general, … to reduce the learning gradient that joining a new community entails - and make it more enjoyable!" They are, in a sense, the Fedora Welcome Wagon.
Other groups, like Fedora's Community Operations team helps create and share successful onboarding strategies. They also help the various teams in Fedora implement them. Examples of their work can be found in their collaboration with the Python SIG.
Even more options exist in the form of onboarding websites. Fedora has whatcanidoforfedora.org, a choose your own adventure style website to help new contributors find their place to get started. The community has also built out an extensive list of easy bug fixes at fedoraproject.org/easyfix/ for contributors who'd rather have their first interaction with the community be a patch or fix.
This demonstrates that there is no single perfect workflow for new contributors. Instead each community needs to be able to embrace the different needs of different groups and contributors. We are all often victims of false consensus effect where we tend to assume most people are just like us. When thinking about new contributors, this is a place where we should embrace this by allowing a lot of different onboarding paths. If we all think the world is like us and we all help people like us join, then a diverse project will soon have lots of contributors.