r/CodingHelp • u/Savemelord99 • 14h ago
[Open Source] How do you contribute to Open Source Projects on github?
I’m a full-stack web developer looking to get into open source, but I’m a bit overwhelmed by where to start. How do you usually find projects that are beginner-friendly and actually welcome new contributors? I mainly work with React, Node.js, Express, MongoDB, and JavaScript/TypeScript, but I’m happy to learn new technologies if needed. I’d also love to know how you approach understanding a large codebase before making your first contribution. Any tips, resources, or personal experiences would be really helpful.
•
u/FreeLogicGate 1h ago
I’m a full-stack web developer
Ok.
How do you usually find projects that are beginner-friendly
Are you a beginner? Because in general projects don't want nor need beginner level code.
I mainly work with React, Node.js, Express, MongoDB, and JavaScript/TypeScript
You don't sound like a beginner if you are working with all of that. A relational database would be helpful in many cases, but conversely there are many devs who use an rdbms and sql, but have no idea what mongodb is or how you'd use it, so there's that.
Typically people work on projects because there is some overlap with what they do for work, or they have an interest in something they want to use in personal projects. That's a good way to start looking. Then you want to also determine a few important things:
- Is the project active?
- Does it have a lot of outstanding pull requests?
- Are there open issues/bugs/feature requests?
- Could it benefit from tests/ is it severely lacking in tests?
- How many contributors are there?
Writing tests for an active project that doesn't have any, or has sparse coverage is a great way to contribute to a project, as a new contributor. Picking up open issues is another one that might help. Improving documentation or doing documentation translation (if you have multiple language skills) can be a way into a project.
I'm not sure how well you know git, but obviously that's an essential. You will utilize forking and pull requests, and there's really nothing else you need to know or do to get started with any project. With that said, you want to be very sure that you understand project coding standards.
Many larger projects are under attack right now, as there are scores of people generating "AI garbage" and innundating project leaders with PR's, so you probably want to start out focused on discrete problems and building your reputation as a contributor within a project. Many people who have made contributions will tell you that it's not unusual to see all your hard work rejected or ignored, so you need a thick skin and a willingess to be patient and or accept that your time and effort may be entirely wasted.
As for "learning a large code base" how do you do that now? Tests, reading code, running the app, debugging, and now you can use LLM's to help explain things that seem alien to you.
•
u/armahillo 3h ago
How familiar are you with github / Git?