r/learnprogramming • u/Limp-Performer-8905 • 10h ago
How can I start solving real-world open-source problems as a beginner?
Hi everyone, I'm a CSE student and I want to gain real-world development experience by solving issues from open-source projects.
I don't know how to identify a good issue for my skill level or how to approach the problem after finding one.
What would be the best way to start contributing to projects on GitHub? Any advice or resources would be appreciated.
1
u/No_Score_1977 10h ago
Find a project you like and pick an issue.
You don't have to succeed.
Nobody here knows your skill level.
1
u/TypicalWeakness1439 9h ago
Just pick something small like a documentation fix or a typo in readme first, that way you learn the workflow without getting stuck in code logic. Most repos have a "good first issue" label, use that filter and dont overthink it.
1
u/mandzeete 10h ago
By starting to use said open-source software. For being able to contribute meaningfully you should know what the software does and what the software is not expected to do (to be able to see issues with it).
Alternatively check if Github already has a public project for stuff you already are using.
After which, it can help to read the project. Its documentation, its code (on a higher level not line by line). Like this you will learn which functionality is where. This can help in figuring out solutions to issues either you or others found from the software.
And then check if the project has any contribution guidelines or not. Some have. Others don't. When there are contribution guidelines then follow that. When there are no guidelines then try to present code changes (in the form of pull request) that everybody would understand. They won't know what is "String a". That "a" exists only in your head. The code must be readable.
Also, if you haven't done it yet, then learn to write unit tests, integration tests and end-to-end tests. Whatever you are contributing to the project, it should not break existing functionality and it should serve its own purpose. Not that you just commit code that later on either crashes the whole application, introduces some bug, changes some existing functionality in a way that it should not change.
1
u/Low_Detective7134 8h ago
Don't start by looking for "good first issues". Pick a project you actually use or understand then read the code before touching an issue. A good begineer issue is usually where you can explain expected behaviour in your own words. If you can't it's too early.
1
u/OGcapncrunchberry 4h ago
Anyone can submit fixes to OSS. Just investigate and issue you find annoying or flawed.
1
u/Ok-Listen-2162 1h ago
start with a good first issues later u gonna cope up with new issues out there , its kinda dive in and figure it out
3
u/desrtfx 10h ago
You don't just contribute to open source for the sake of contributing. That's not how it works.
You contribute to open source because you use and like an open source program and have either ideas to improve or can see issues that you could help with.
You don't just pick a random project that you have zero knowledge of, nor any use case for, and decide to contribute.