How to contribute to Open Source as a beginner
Contributing to Open Source is great, but it can be scary for beginners. Let's break it down from the very start!
Table of contents
Hey pumpkins, welcome to my blog!!❤️
It's October, which means Halloween is right around the corner🎃
...AND...so is Open Source October!!
To keep things short, Open Source October is kind of a big deal on Hashnode this month!! Hashnode is having a bunch of events and new features just for this month, you can read more about it here!
That said, today I'm going to break down open source for complete beginners. If you don't know shit about Open Source, this is the perfect blog post for you 😂
Of course, I don't consider myself an expert at all, but I was pretty interested in contributing to open source on my early days of my programming journey. So, I think I can break things down for dummies like me 😘
That said, esketit!!!
1. Find a project you're interested in 🤔
Finding a project you're interested in seems like an easy task; you just find an interesting project and contribute, right?
Wrong!
The difficulty of the issues
might put you off from getting started and choosing a project you like (happened to me!) 😅
As a beginner to programming or open source in general, it's very easy to get discouraged and not even dip your toes in these waters.
This said, finding a project that interests you is the first step, and the most crucial. It will motivate you to actually contribute and to become an active member of the open source community!
What helped me decide was to think about a project I wanted to do, and see if someone else did it. Do they need help? Can you improve it? Can you implement your ideas to the project?
Or...
Is there a specific project you're really passionate about? Is there a project you want to be part of?
2. Filter out issues☝️
Filter out issues
with tags or labels on Github!
Doing this will make your search much easier. As a beginner, I'd search for good first issues
or something simple like bug fix
. These tags will have simple issues
that are most likely beginner friendly. You can search these on the search bar too!
On the image below, once you click on the issues
tab on the navbar from a repository, you can click on labels
and find a tag that interests you.
3. OR fix documentation 📝
But these issues
seem too complicated for me. I'm still a n00b!!!
...That's totally OK!!
Don't worry, you can still contribute to open source even if you're a beginner to the point you don't know shit. Actually, I was in that same position too! I got impatient and wanted to get into the cool stuff before I even knew anything.
So, I contributed to open source by fixing and writing documentation. My first pull request was MDN docs!!😆
Open source doesn't have to be about contributing to the biggest project ever or adding a huge feature with a fuck ton of code. It can be as simple as fixing grammar or making sentences easier to understand. Every contribution counts!
4. Meet your project 👋
Before you contribute, you gotta make sure to know a bit about the project first. Don't forget to go through the README.md
and the contributing guidelines before you contribute! In my opinion, this is a crucial step; you inform yourself about the project and learn how you can properly contribute in a way that's helpful to the project, instead of a way you think might be helpful.
5. Get assigned 👩🏫
This is mostly optional, but I noticed that maintainers tend to be more involved when it comes to projects that are smaller in scale.
Personally, I think that this might be a better option for people that are first starting to contribute....a little guidance ain't hurt nobody!!😉
Once you choose an issue you want to work on, ask the maintainer to get assigned through the comments!
6. Fork, clone, & run the project locally🍴
Smaller issues like grammar in documentation don't really require you to go through this step. You can just edit it on Github itself. However, you will most likely be required to fork the project when you're fixing issues related to code! Although, it all really depends on the contributing guidelines. Read them!
7. Commit, push, & request a PR 👏
OK, I know this part may sound a little bit daunting...all this git stuff sounds complicated AF😂
At least for me...I was very reluctant to contribute to open source because of all the forking, cloning, pushing, and all this complicated shit.
Truth is that once you break the process into steps, it isn't as intimidating as it sounds!
After you've forked and cloned the project, make the changes, and after you've committed your changes locally, push them to the remote repository. Then, open a Pull Request! The maintainers will get back to you with new feedback if there are things to improve. Maintainers are usually really nice and happy to help!
This is a great learning opportunity!! You learn a lot from contributing to open source and interacting with more experienced devs. One of the few things you learn is project structure and best code practices😆
8. Get your first PR merged to main 😎
Well done!! Congratulations on your first contribution to open source!!🎉🥳
Don't worry if you don't get it the first time. Contributing to open source is a skill that takes time to learn and fully digest!!
...although I don't think you'll forget about the process after you do it once😆 After you're done, you'll realize it wasn't as hard as it seems.
Thank you!! ❤️
My blog posts are sort of long😅 so thank you for reading the whole thing!
Hope you have a great rest of the week!!