How to start open source contributions
Open source software development is a worldwide collaboration effort that happens everyday. Contributing to open source projects help drive software development forward. There are benefits to contributing such as learning and mastering new skills, building your network, landing your dream job and much more. If you’re looking to get started with contributing to open source here is a guide that will help you learn how to start contributing.
- How do I start Contributing to Open Source
- Understand What Open Source Means
- Find a Project You’re Interested In
- Prepare Your Development Environment
- Learn Git and Open Source Best Practices
- Look for Open Issues to Contribute
- Communicate With The Open Source Community
- Write Quality Code and Documentation
- Submit Pull Requests and Participate in Code Reviews
- Don’t Be Afraid of Rejection
- Explore Other Ways to Contribute
- Open Source Can Help Your Career
- Keep Motivated and Continue Learning
- Conclusion
- More Related Topics
How do I start Contributing to Open Source
Before you begin the contribution process, open source can be intimidating and confusing for newcomers. There are millions of projects to choose from and are built with different technologies. Not only that but open source communities may have different guidelines and workflows you may not be familiar with. Below are steps to help you get started with open source.

Understand What Open Source Means
Open source means that a software’s source code is available for anyone to view, edit and use. It also means that you as an individual have open access to see what others are coding and work on the same files. Open source software is not private and allows for collaboration. You’ve probably heard of different types of licenses such as MIT, GPL, and Apache all of which are open source licenses. Open source isn’t just software but includes documentation, designing, blog posts, and much more. Knowing what open source means will help you understand that when you begin contributing you are coding with people around the world. When contributing to open source you should respect the guidelines the community has set, code reviews are there to help and not to make you feel stupid, and you are working with real humans that you’ll have the opportunity to collaborate with.
Find a Project You’re Interested In
There are millions of projects you can contribute to and are hosted on websites like GitHub, GitLab, and Bitbucket just to name a few. You should look for projects that you’re interested in or that uses technologies you’re familiar with. These can range from web development languages to machine learning, data science, cybersecurity, and infrastructure tools. Look for projects that have issues labeled as “good first issue”, “help wanted”, or “beginner friendly”. You want to make sure that the project is active which you can determine by looking into whether people are fixing issues and committing code to the master branch. Websites such as “up-for-grabs” and “first-timers-only” can aggregate beginner level issues for you. Find something you’ll enjoy working on.
Prepare Your Development Environment
In order to start contributing, you want to make sure your computer is set up to build and test the project you chose. Ensure you have installed the necessary programming language, any compilers, and dependencies the project requires. This information is typically found in a projects documentation or README file. For example if you were to contribute to a project written in Python you would need to make sure you have Python and virtual environment setup plus the packages required by running pip install -r requirements.txt. You’ll also want to familiarize yourself with version control concepts and tools like Git as most open source projects are managed with it. Spend some time setting this up locally so you don’t run into avoidable errors.
Learn Git and Open Source Best Practices
Git is a tool that you should know how to use when learning how to start open source contribution. Although it may seem intimidating at first you just need to know the basics of Git. Learn how to clone a repository, create a branch, stage changes, and create pull requests. If command-line isn’t your thing there are graphical Git clients like GitHub Desktop and SourceTree. Remember to always write good commit messages and remember how to rebase your code. When contributing read through the documentation to learn their workflow. Understanding how the project expects contributions is KEY. This may include knowing they use distributed branch workflow, where features are coded in branches and pull requests, and code is reviewed by project maintainers before being merged to the master branch.
Look for Open Issues to Contribute
Open source projects typically have a tab called “Issues”. Issues can contain bugs, feature requests, or documentation changes that need to be made. As a beginner it’s best to look for issues that are small in scope and clearly defined. The issues might have labels like “good first issue”, “help wanted”, or “beginner friendly”. You want to look for issues that you think you can solve or tackle. Once you find an issue that you’d like to solve read through it completely. There may be documents attached to the issue with more information. Feel free to ask questions if you think you can solve the issue but don’t understand something.
Communicate With The Open Source Community
Whether you identified an issue to solve or are looking for issues you can solve, it is a good practice to comment on the issue that you’re working on. This helps maintainers know that somebody is looking into fixing the problem and prevents duplication of work. Additionally, when communicating with others in the open-source community make sure you’re being respectful. Open source communities have a code of conduct that you should adhere to when posting on forums, mailing lists, or chat platforms like Slack and Discord. Asking questions is always okay and others will respect you for helping to expand your knowledge. When communicating with others keep in mind that there are real people involved.
Write Quality Code and Documentation
Remember those skills you were trying to build or learn? Now is the time to do so by writing quality code that solves the issue you’re addressing. Make sure you follow any guidelines on how the project prefers code is written. There are projects that provide a CONTRIBUTING.md file or style guide to follow. Some projects provide linters and formatters to automate code styling. Testing is important as well so if the project has tests try to write one for the issue you’re solving. If you’re unable to write code you can help out by adding value to the projects documentation. Update the README providing any necessary information you believe would be helpful for users of the project. Always remember that contributions aren’t limited to just code.
Submit Pull Requests and Participate in Code Reviews
Pull requests are how you submit changes to most open source projects. When opening a pull request make sure it relates to the issue you’re solving. Include a title that explains what the PR does and leave a comment describing why you’re submitting the PR. Any changes you think will be valuable to the project should be mentioned. Link the issue in the pull request. This will help with keeping track of which issues have been solved. Once you submit a pull request the project maintainers and contributors will review your code. This is where you receive feedback from other developers. Take all feedback received constructive, edit your code, and learn from your mistakes.
Don’t Be Afraid of Rejection
There will be times where you may experience setbacks when learning how to start open source contribution. Perhaps one of your PR’s got rejected or it has been days and you’ve still received no response. Projects can get rejected due to many reasons. This could be because the design decisions don’t meet the projects needs, the project has different priorities, or maintainers are too busy. Stay persistent as sometimes these things take time. Don’t be afraid to ask questions if a PR gets rejected. You can even try to look for another issue to solve. Just because your changes didn’t get merged doesn’t mean you didn’t learn something.
Explore Other Ways to Contribute
After you’ve gotten the hang of contributing code to open source, there are other ways to provide value. You can help out by providing feedback on some issues. Projects utilize labels such as “good first issue”, “beginner friendly”, or “help wanted” to mark issues that are good for new contributors. These issues may be beginner-friendly, but that doesn’t mean they don’t need some help. You can help verify that bugs are reproducible by providing the necessary information to replicate the issue. Another way to help is by helping out with moderation. You can help organize hackathons, “bug bash” events, and mentor new contributors. You can help suggest what features should be added in future milestones. There are tons of ways to contribute outside of opening pull requests.
Open Source Can Help Your Career
When applying for jobs and building your portfolio having public contributions can help you stand out. If you have an extensive GitHub profile with contributions it shows that you’re passionate about coding. Some companies may even allow you to skip interviews because of your contributions. When building a relationship with open source you’re also building professional relationships. You can network with other open source contributors and maybe get a job offer from that. Being active in open source can also teach you soft skills many employers are looking for. Skills such as working with others, receiving code reviews, handling feedback, and meeting deadlines.
Keep Motivated and Continue Learning
There will be time where you may lose motivation or wanting to continue learning how to start contributing. You might feel overwhelmed so take a step back and focus on small issues to solve. You can take breaks and spend time with family and friends. Don’t be afraid to share your contributions with others. You can join other contributors on Twitter or online platforms and share your knowledge. If you come across something you don’t know then take time to learn whatever technology the opens source project utilizes. Always remember that your voice matters and you have as much of a right to be here as anyone else. Open source is for everyone.
Conclusion
Learning how to start open source contribution is not as difficult as you may think. If you take the time to read the documentation, chill on trying to understand Git there won’t be too much of a learning curve. You’re working with some of the coolest people in the world that make open source successful. So read up on how others contribute, stay motivated, and keep learning. Helping out others will not only help the open source community but better others as well. We all put together create better software than what we can create on our own.
How to Make the Most of Your Holiday Break
The Best Winter Destinations for a Cozy Getaway
How to Organize Your Holiday Travel Plans with Ease
The Ultimate Guide to Cooking for a Crowd
How to Make Healthy Comfort Food Without the Guilt
5 Delicious Vegan Breakfast Ideas You Can Make in Minutes