You've been learning how to code for a couple of months now and are tired of going through tutorial after tutorial. Just when you were about to give up on coding altogether, an angel appeared in a form of a tweet, "Try open source".
Open source is when a product's code is made available to the public, allowing people to make modifications to enhance them. This concept was found by Christine Peterson, an Executive Director at Foresight in 1998 to make this software more understandable to businesses and people who are not in tech. Want to learn more? Check out her blog post, "How I coined the term 'open source".
In addition to growing your tech skills, participating in the open source community gives you the chance to:
- Work with others worldwide
- Develop your communication skills
- Experience that you can add to your resume(CV for individuals outside North America)
- Work you can showcase as samples on your portfolio
While coding is helpful, it is not the only way you can contribute to open source projects. Click on the bullet points below to see how:
Do you enjoy writing? Does grammar errors tick you off? Do you enjoy simplifying complex topics to people? Then, documentation is for you. This involves creating, improving, or maintaining an open source project's written resources. These are crucial to open-source projects because they make them more accessible and user-friendly, which can help attract new contributors and encourage repeat contributions.
Need some ideas on how to do documentation contributions? Check out these examples:
- Update the project's documentation to reflect new changes: Add Dev Cards to Getting Started by @CBID2
- Adding missing information to a project's Readme file: Add More Information to Use This Template in the README by @adiati98
- Create a tutorial for the project: How to Highlight your Contributions by @BekahHW
Do you enjoy drawing or fool around with Photoshop from time to time? Put those design skills to work! 😄 This involves creating logos and other visual assets for the project. They bring visual appeal and user-interactivity to open source projects.
Need some muses to create your contribution? Check out these examples:
- Improve components like buttons: xDocFooter Revamp by Adina Millica
- Creating webpage layouts: Add a 401 error for AWS ECR to Troubleshooting by @e_munn
- Responsive Web Design: align version and input field on small screen by @YuriDEVAT
If you love posting on social media, consider putting these skills in open source. This involves promoting open source projects whether it's online or in-person. These contributions help people learn more about the product, why they should use it, and how they can make it better.
Need some marketing ideas for your contributions? Check out these examples:
- Writing a blog post about your experience contributing to a product: Get started with an open-source contribution by creating a Linkfree by @iqrafirdose
- Do a livestream of yourself contributing to a project: Working on a SaaS Product (LinkFree) by @amandamartin-dev
- Talk about your project in a podcast: Mozilla Community Call: Measuring Open Source Community health with The CHAOSS Project by @Ruth-ikegah
Now we know it can get intimidating to find a project, but don't fret, here are some strategies that can help you find projects to start your open source journey:
- Use the “good first issue” label: If you’re using GitHub to search for open-source projects, they have a label called “good first issues”. It’s used by open source project owners to let people know that an issue is good for people who are new to open source or their project. If you need more ideas on how to find good issues, check out the FreeCodeCamp article, "How to Find Good First Issues On GitHub".
- Ask your colleagues: Consider asking them what open source projects they are involved in and what the community is like(if they have a communication channel that is). Friends + Open Source = fun times
- Read open source content: Whether it's a social media post or an article, these forms of content are a great way to learn about a project. They often provide details about an issue a person raised, how they solved it, and what they learned from the experience.