How do I start contributing to open source as a complete beginner?
Posted by yadavhr36@reddit | learnprogramming | View on Reddit | 19 comments
Hey everyone 👋
I want to start contributing to open source but I’m totally new to it and don’t know where to begin.
About me (FYI): I’m from a CSE background and I’ve recently joined the IT sector as a fresher, so I want to learn and grow through real-world projects while contributing along the way.
How do people actually:
find beginner-friendly projects/issues?
know which repos are active + welcoming?
make a first contribution without getting overwhelmed?
If you have any tips, useful links, or beginner-friendly repos/issues to try, please share 🙏 How do I start contributing to open source as a complete beginner?
RossPeili@reddit
Don't overthink it. Just find a project/area you wanna get friction with, clone the repo, and start talking to your IDE to see which issues could be solved easily. Usually, docs-related issues are the fastest, easiest, and acceptable first issues from core devs when you are a newcomer.
Some projects that I know for sure have open issues right now, you can start immidiatelly:
Good luck and wish you success with your first contribution to your favorite project ❤️
gmes78@reddit
This is the wrong way to go about it. You should contribute to projects you use and are familiar with. Otherwise, how are you supposed to understand the code and know what to change?
biro23@reddit
But brother when we work for an organisation it's not necessary that we use their project ?
gmes78@reddit
I don't understand your question, and how it relates in any way to the original post.
BlaM4c@reddit
👆 This
Support projects you like and use, not stuff that you think may look good on a resume.
Start with smaller projects. These will be easier to get into - and will probably welcome your help more.
chiiper123@reddit
Check out OSSNotify – it sends you personalized email digests of open source issues matching your skills. Great way to discover beginner-friendly projects instead of randomly searching GitHub!
C-Sidd@reddit
Want to contribute to open source projects
👉 https://luma.com/vyb4bntj?tk=jiieUv
kschang@reddit
Generally speaking, the popular open source projects are already well contributed that you, as a noob, can only contribute translations.
afahrholz@reddit
Totally normal to feel this way, everyone starts here. Pick one active repo, grab a good first issue and focus on learning the process, not being perfect small PRs are how most people begin.
pixel-process@reddit
Start looking at some larger projects like pandas, matplotlib, and scikit-learn-they are very active and have guides/tags for beginners. Check out their githubs and look for tags like "First contribution" or "Good for issues".
Pandas Guide: Repo Issues
matplotlib Guide: Repo Issues
scikit-learn Guide: Repo Issues
I suggest reading through and monitoring your preferred project for a bit before trying to contribute if you are not familiar with GitHub. But even that will be really valuable to your skillset moving forward.
CaptainVJ@reddit
I disagree with this idea a bit. A beginner is usually looking to fix bugs, or implement new features.
For these major projects, the vast majority of simplier bugs have been caught and fixed a long time ago. Often bugs are very niche situations where not many people run into. And these bugs are usually a bit harder to solve.
Not only that, sending a beginner to look at the source files of pandas might be a bit demotivating. The few times I’ve had to open Pandas source code to understand what somthing is doing, I immediately had to reconsider if it’s worth it as it’s so much.
I believe beginner projects are probably a good place for a beginner.
pixel-process@reddit
The benefit of the larger projects to is that they have guides and tons existing examples of contributing.
Many issues tagged as good starters are also well scoped.
This one for instance was adding links to existing guides.
altviewdelete@reddit
In this era of engineering/coding/slop.
Do something else, go get an ice cream on a nice day.
But honestly if you want progress, get into vercel or some shit.
Rain-And-Coffee@reddit
Most repos are active & welcoming.
The main thing is the very large ones (Java, React, etc) usually have a very formal process that you need to follow, so avoid those.
Looks for libraries that you already use and have open issues. Make sure you understand how the library works first, then read the source code, finally discuss your interest in a particular bug and try to fix it.
Mohtek1@reddit
You can look into bug fixes, or test software and report the bugs you find.
The best thing to do is also learn how to program. You have to know that what you are looking at is incorrect and why. This takes time and context.
mandzeete@reddit
Beginner friendly projects? - Look for stuff made by beginners. If you did degree studies then see if any of your course mates has any project going on. Perhaps the computer club in your university has any projects you can contribute to.
Which repos are active? - You can see it by their commit history. By the frequency of released new versions. By the number of open/closed issues and comments under these.
And perhaps start using the project. How can you contribute to it when you do not know what the project is about? For example there is this open source game client Runelite. For people who are playing Oldschool Runescape. As that game client of open source then people can contribute to it. And many of the players do. They know the best the game they are playing. They also are able to understand the project.
Optimal_House_2897@reddit
What languages are you familiar with? And if you have no coding experience. You're going to struggle contributing to open source. You need to be able to write good code.
Temporary_Pie2733@reddit
Just to note, many projects can use help with triaging issues, writing documentation, QA, etc. Not all contributions are bug fixes and implementing new features.
yadavhr36@reddit (OP)
Thanks! I’m a 2025 CSE grad and currently working as a Data Engineer. I’m familiar with Python and C++.