How to Overcome the Challenges of Open Source Contribution

According to Open Source Contributor Index, 2443 people in the Microsoft community made at least one commit in January. Out of 2443 people, only 795 made 10+ commits. This suggests a gap between joining an open source project and contributing actively.

This article highlights some common challenges that open source contributors face and discuss how to tackle them.

What is Open Source Software?

Open source software (OSS) refers to software whose source code is accessible to everyone. This means that you can inspect it, alter it and enhance it from anywhere in the world. Some popular examples of open source software are VLC Media Player, Kubernetes, and Linux.

You can contribute to open source through code or no-code skills such as community management, UI/UX design, project management, graphic design, writing, discussions, and advocacy.

Benefits of Contributing to Open Source Software

Here are some reasons why you should consider contributing to open source software:

  • Career Growth: Contributing to OSS is a great way to gain work experience and build your portfolio. It gives you an opportunity to learn on the job, and at your own pace. You get to understand the technology on a deeper level, and you can identify problems and fix them.
    You can improve your technical (or non-technical) skills by interacting and collaborating with more experienced people in your field. You can also learn valuable soft skills, like how to collaborate and work asynchronously.

  • Networking: It provides opportunities for you to connect with people from around the world who have similar interests. Meeting interesting people from across the world can improve the quality of your network.

  • Giving Back: Through OSS contributions, you can use your skills to make someone’s life easier. It’s a great way to give back to society.

Common Challenges Open Source Contributors Face

People often find it difficult to make meaningful contributions to open source even though they have an interest, owing to many reasons. Some of these reasons are highlighted below.

  • Finding the right project to contribute to

  • Lack of clear documentation

  • Difficulty communicating with other contributors or maintainers

  • Discrimination and lack of inclusion

  • Balancing contributions with other commitments

  • Projects could be overwhelming

Overcoming Challenges Faced During OSS Contributions

Here are some things you can do to make your experience smoother:

  • Start Small: Joining any team midway through the project lifecycle can be overwhelming. You can start by making small contributions like joining discussions, improving documentation, etc. Look out for issues with tags such as good-first-issue because they are usually easy to contribute to. This will allow you to understand the rules for contributing to that project and how to communicate with the maintainers or ask for assistance.

  • Seek Community-Focused Open Source Organizations/Projects: It is important for you to have support while contributing to a project, and the best way to get it is via the community. The community forum is a great communication channel and a source of information. You can join discussions, get help, and connect with people.

  • Look for a DEI Statement: DEI stands for diversity, equity, and inclusion. A DEI statement is a declaration of commitment to fostering a culture of diversity, equity, and inclusion in the workplace. If there is no visible DEI statement, ask about their DEI policies. If your values do not align with theirs or you do not feel supported or welcome, it is okay to leave and find one where you feel seen and accepted.

  • Take Advantage of the Available Resources: Community meetings and mailing lists are helpful sources of information. If you’re just joining, look out for onboarding sessions. If you’re having trouble reaching maintainers or contributors, try joining a community call. More often than not, these calls are recorded, so you can access the recordings at your convenience.

  • Manage Your Schedule Effectively: Typically, nobody expects a full-time commitment from you. You can work asynchronously, but communication is key. People need to know that they can depend on you to finish the task that you have taken on, so you should only accept what you can deliver within the agreed time frame. Always ask for clarification on what is expected of you.

  • Ask for Help: Your contribution is valuable. If there’s a problem hindering you from making a contribution, use the communication channels available to you to express yourself. They want you to add value to the project, so they are willing to support you and guide you through it. The chances that your concerns will be addressed and your questions answered are pretty high.

Best Practices for Contributing to Open Source Software

  • Read the contributing guidelines and adhere to them. They are usually available on the website or in a contributing.md file on the project repository.

  • Read the project documentation.

  • Make quality contributions by following standard practices in the related field.

  • Keep your interactions with other people respectful by using inclusive language, refraining from insults, etc.

  • Use the proper communication channels defined in the contributing guidelines. Do not call or email people unless they consent to it.

  • When in doubt, ask questions.

Conclusion

Contributing to open source software has its challenges, but it also has its benefits. A number of the challenges open source contributors face can be addressed by leveraging the support that communities provide and taking advantage of the available resources. However, the most important thing is to find a project that aligns with your interests and values. You can find open source projects here:

Resources

She Code Africa Contributhon Program

She Code Africa (SCA) promotes diversity in the open source ecosystem through Contributhon. Contributhon is a virtual open source boot camp where ladies get the opportunity to work with open source organizations on selected projects with dedicated mentorship.

This program aims to create a more diverse, inclusive, and innovative culture within the African open source ecosystem by matching African women in technology with sponsors and mentors (open source organizations) to work on projects used by millions of people all over the world.

Stay updated on information about the next cohort via SCA’s social media platforms.

If you’re not already a member of She Code Africa, you can begin by applying via the website: shecodeafrica.org