…
Developer contributors are critical for the success and health of open source projects. Programmers add new features, QA and test, fix bugs, write documentation, answer community questions, offer insights and ideas, and more. In other words, they help open source project authors, owners and maintainers to build, maintain, distribute and grow the project for the open source community.
However, many times contributors face onboarding friction and challenges. These can delay their starting point, diminish their enthusiasm or even prevent them from joining the project at all.
This blog post will explain four ways owners and maintainers can help developers easily onboard to their project, to ensure their satisfaction and – as a result – the project’s success. Let’s get started.
How to get developers onboarded to contributing to open source
1. Flatten the learning curve with clear and accessible information
One of the difficulties developers encounter when joining a new open source project is finding out where and how to begin. When starting at a new company, developers aren’t seated in front of a screen and commanded “Start coding!”. Open source projects should be no different.
Project maintainers and owners can easily smooth out the rough edges of onboarding by adding clear “Start Here” documentation. This documentation should describe the project’s history and goals, provide an overview of what it does and detail the existing gaps that require contribution. Make sure these guides are easy to find and clear to read. Many GitHub README files do have an explanation of the project, but they don’t cover the entire scope of its past and how to contribute.
After preparing the getting started documentation, add information assets that will help developers understand the code, the product and the contribution processes, e.g how code reviews and merges are done. You can start within your comfort zone – there is always a need for FAQs, videos, a feature forum, installation guides, user guides, documentation, blog posts, a website, release announcements, just choose.
Don’t hesitate to implement onboarding tools to help with the onboarding process, like Swimm. Swimm is free for open source projects and lets you build dynamic tutorials straight into your code. You can highlight what contributors need to see in the repository to get started, create a step-by-step guide, and consolidate documentation.
By making product information accessible, you can flatten the learning curve and make contributing a quicker and simpler process.
2. Build mentorship for support and growth
While some developers are highly independent and can easily navigate through documentation and forums, others prefer to start off with some guidance. But this doesn’t mean you should give up on their contributions and diverse points of view.
Set up a mentorship or coaching program to provide personal support and guidance to new joiners. Speaking with mentors provides developers with a safe environment to ask any question, especially those they might be intimated to ask in a public forum. A mentor also ensures a positive interaction with the project, which, let’s be honest, a community cannot always promise.
Mentorship works: being under the guidance of a personal mentor raises the chances of commitment from the developer to the project. A 2014 academic study shows that mentored developers in open source projects were twice as active after 16 weeks compared to non-mentored developers.
When setting up your mentor program, it’s important to provide the mentor with the right tools she or he needs. Define what is important to you to achieve with new-comers, share the direction the project is going and its goals – disrupting a market / answering a specific pain point / doing good / making money / etc. You can get mentorship guidelines, strategies and support from this guide.
3. Recognize and praise success and contributions
Developers benefit from contributing to open source projects. They develop their coding skills, build their personal brand, improve their career prospects and learn to work in a team. Nevertheless, they are still volunteering their time and abilities and they are still people. Therefore, it is important to recognize what they did for your project.
Here’s a list of ways:
- Make sure you personally and publicly say thank you to any contribution, no matter how small. Even when you’re not merging their pull request.
- Add them to the list of contributors on GitHub.
- Publicly highlight new contributors in forums, a newsletter, the docs or the website
- Send a periodical newsletter and include the latest project updates with the names of who contributed (and their mentors).
- Write a quarterly blog post about your community and contributors.
- Add a project widget with the names of the contributors and what they did.
- Write them a recommendation on Linkedin.
- Hold a virtual or physical event for your community, and recognize what the contributors achieved.
- Invite them to a cup of coffee or a beer, if they live nearby.
- If you’re making money from the project, send them a $10 – $50 gift card.
A little can go a long way.
4. Team up with companies and universities for scholarships
The value of open source is known in the tech world. Many companies dedicate internal resources to contributing to existing open source projects or build software that is partially open source. Some companies also provide scholarships. For example, Red Hat has a community award program with opensource.com, Comcast has open source development funds and Citus Data donated 1% of their equity to PostgreSQL organizations.
A scholarship is a good way to encourage developers to join your program and stay in it. Scholarships can be especially beneficial for those who cannot participate in open source due to financial problems, or for increasing diversity by encouraging more women and other minorities to participate in open source.
There are existing scholarships you can apply your project to, to get more developers to assist. The most known examples include Google Summer of Code, Outreachy and LiFT scholarships by the Linux Foundation. You can also personally reach out to large companies and universities to build such a relationship. Here’s a guide for reaching out to universities.
Moving forward
To sum up, here are the four things you can easily do to help with developer onboarding:
- Flatten the learning curve – Add documentation, tutorials and clear guides
- Build mentorship – Create a personal support and growth path for contributors
- Recognize contribution – Say “thank you” and mention the names of developers who contributed
- Get scholarships – Get stipends for contributors from programs or companies
If you’d like to learn more about Swimm, sign up for a 1:1 demo.