Contributing to Open Source Can Change Your Life - Here’s How to Do It
There are over 128000000 open source projects on GitHub and every single one of them has the potential to change your life forever. Whether you are building your GitHub street cred, fixing a bug, adding a feature to a project you personally use, or just fixing typos, every pull request you submit moves you one step further in your development career.
GitHub is the new resume and every contribution you make builds your collaboration skills and associates your name with the massive community of driven individuals out there making software for fun and profit. And you don’t have to be making massive changes to make a difference. Just helping out whenever you can with whatever you can is more than most will ever do. You don’t even have to contribute code! So many projects would love if someone would simply help with writing documentation.
So… There’s no time like the present. let’s learn how to find an open-source project and make your first contribution right now!
Just like anything else In the world, the first time is the hardest so here’s an easy 7-step system for contributing to open source.
- Find a project and an issue - I wouldn’t recommend individually browsing through millions of projects on GitHub. Instead, take a look at the “explore” menu at the top of the screen. From there, you can browse by topic or go to specific topics like “good first issue” or “contributions welcome”, but honestly the best place to start contributing is with a project you already use. Take a look at a package.json file or go.mod file of a project you have used. All of those projects are open source and might need your help. Once you find a project, take a look at the issue queue and find something you are comfortable with working on. You might even take this chance to start a conversation on an issue, but either way, this is how you get started.
- Read the rules - Alright, so now you found an issue you want to fix, your next step is to take a quick look at the project’s readme to see if there are any specific rules to contributing. Every project is different so your mileage may vary.
- Fork the project, make a branch - Now that that’s out of the way, let’s get to coding. Head up to the top of the page for the project you’ve chosen and hit the fork button. Choose yourself as the owner and leave everything else alone then hit the “create fork” button. Now you have your very own copy. Click on the “code” button and copy the path to your fork. Pop open a terminal, clone the project and make a branch.
- Make your changes - Now it’s time to make your changes. Your change might be just fixing typos, updating docs, or even introducing a new feature. No matter what it is be thoughtful and considerate with your changes. Someone else’s code is their temple, don’t walk in with your muddy shoes on!
- Push your changes - Done with your changes? Add, commit and push up to your fork. Simple.
- Open a pull request that resolves the issue - Now head back over to GitHub where you should see your branch. Hit the “new pull request” button and you will be presented with a screen to open a PR on the parent project with the changes you made in your fork. Open the pr and leave a comment. If your PR resolves an issue, mention the issue number in the PR notes so Github can automatically annotate and potentially close the issue.
- Monitor and receive feedback gracefully - You’ve now successfully completed the easy part. Now you wait for feedback and reviews. Some projects will have a stringent review process and some will just merge your stuff no questions asked so prepare for the worst and hope for the best. Remember that everyone working on your project likely feels passionate about it so don’t take it personally if you get a bunch of feedback. It’s just part of the process.
Alright, people, that’s how to contribute to open source. I’ll leave it here, but just remember that one of these commits could change your life. Keep contributing to build your portfolio and someday soon your work will pay off! Till next time, happy coding!