contributing to open source
Posted by Substantial_Cod8006@reddit | learnprogramming | View on Reddit | 30 comments
How can I contribtute to open source projects on github? what are the steps.
Posted by Substantial_Cod8006@reddit | learnprogramming | View on Reddit | 30 comments
How can I contribtute to open source projects on github? what are the steps.
RealNamek@reddit
Copy their code. Change their code. Submit changes.
Substantial_Cod8006@reddit (OP)
I don’t think it’s that simple right. Like there is some some request I have to do and stuff like that. Cuz obviously they will not let anyone submit changes to their repo without reviewing what they did.
RealNamek@reddit
It is that simple. That's literally what open source means.
PM_ME_UR__RECIPES@reddit
But for a beginner, they might not understand version control concepts like branching and forking, they might not know what the "rules" for making a PR might be, they might not know where to find good starter issues or contributing guidelines and so on. This is literally the subreddit for people who don't know what they're doing and need help when programming, if all you have is snarky stuff like this that glosses over any actual detail then what are you even doing here?
RealNamek@reddit
What snark? It's literally that simple.
PM_ME_UR__RECIPES@reddit
And what if you're a beginner who's never used GitHub, doesn't know how to clone and fork a repo or make a pull request, doesn't understand CI pipelines and the checks they do on your PR, or any of this stuff?
"It's that simple" with no expansion or anything, and assuming that stuff that you have to learn is somehow just innate common knowledge is textbook snark. There was a day when you first had to figure out how to use these tools, and I bet someone a lot kinder than you either left a guide for it or helped you through.
RealNamek@reddit
There's literally a button on the repo that says fork, should we explain how to open the browser as well?
PM_ME_UR__RECIPES@reddit
I like how you focused in on just the action of forking a repo, and none of the conceptual stuff that a beginner would need to understand (e.g. what forking a repo even means) or any of the other actions involved in contributing to open source software.
You're clearly much more understanding and empathetic towards beginners than I thought, my insincerest apologies
RealNamek@reddit
You're the one that brought up forking a repo, you're just arguing with yourself at this point.
PM_ME_UR__RECIPES@reddit
You started this by saying
And insisting that it's just "that simple" when there are things a beginner might not know, like the fact you need to form a repo and what that even means. Like I said before, if you have no interest in actually helping people to learn programming, that's fine, but it's pointless for you to comment in this subreddit (which I'll gently remind you is called /r/learnprogramming) if you that's the case.
RealNamek@reddit
Again, you're arguing with yourself. Because you're the one that's bringing up forking code, i didn't say forking code.
PM_ME_UR__RECIPES@reddit
You can't submit changes to an open source project without forking the repo. It is a required step, so actually you brought it up. You're just refusing to acknowledge it because you don't like being told that you're unhelpful and snarky
grantrules@reddit
It depends on the repo. There are usually guidelines for contributing, or you can contact the maintainer and ask, or maybe they have a discord or other form of group you can ask.
Ornery-Peanut-1737@reddit
honestly, the best way to start is to stop looking at the code and start looking at the issues. go to github and search for the label good first issue. also, look for projects that you actually use in your daily life. if you use a specific library for a school project and find a bug or a missing piece of documentation, that's your golden ticket. it's way easier to contribute when you actually care about the tool, lol. don't try to rewrite the entire engine on day one, just fix a typo or add a test case. it's a loooong game, but it builds your resume like crazy, fr.
Substantial_Cod8006@reddit (OP)
Will definitely do that!
dkopgerpgdolfg@reddit
With no bad intentions: Right now, please do not.
Maintainers time is limited. And from the way you're asking here, you wouldn't help them but just waste their time. Keep learning, get better.
PM_ME_UR__RECIPES@reddit
Spoken like somebody who has never been involved in the open source community
dkopgerpgdolfg@reddit
"Never" = For decades. And that's exactly why I said this. But believe what you want.
PM_ME_UR__RECIPES@reddit
Nearly every open source project keeps a list of beginner-friendly issues that are very straightforward and clearly signposted. Pretty much just meant to be stuff for a complete beginner
dkopgerpgdolfg@reddit
If a project has this, and OP was able to find it on their own and understood how to begin working on it, they wouldn't be asking like that here.
And btw. while it's somewhat common, I don't think it's "nearly every" project (but doesn't really matter for the topic here).
Noriel_Sylvire@reddit
Any contribution is welcome. At least for me, feel free to contribute to my repos. If I like what you did l pull, if I don't I'll respectfully deny the pull request. Feel free to try, and learn using my projects.
Why would it be a bad thing to literally contribute?
dkopgerpgdolfg@reddit
As said, time of maintainers.
There are times when people don't know the basics of C but send multiple kernel patches in, then try to argue long why they are not accepted, and demand to be explained each mistake in detail. The maintainers have better uses for their time, that benefits countless people, and have no interest in the first place to be free private teachers.
Noriel_Sylvire@reddit
Obviously it's wrong to argue. If someone who knows more than you is correcting you, take it as free advice and learn.
But the sct of contributing itself doesn't sound bad to me.
In any case I'm not in any big projects so I don't know how it feels to have time constraints.
polymorphicshade@reddit
Put in any effort on finding out the information for yourself.
Questions like yours are extremely common, and can be answered in less than 10 minutes of research.
Ycen-Chan@reddit
Don’t know why this is downvoted. Some people are just incompetent to use google are literally anything else.
Noriel_Sylvire@reddit
BxxEnd@reddit
start small and do not romanticize it. Pick a repo you actually use, read the contributing guide, set it up, and look for a tiny issue first. AI is useful for understanding unfamiliar code and speeding up small fixes, but if you cannot explain the change yourself, do not submit it.
ElegantObligation196@reddit
Fork the repo, find issues labeled "good first issue" or "beginner friendly", then just start with documentation fixes or small bug fixes 🔥 Most maintainers are pretty helpful if you ask questions in the issues before diving in
Don't overthink it - I started by fixing typos and worked my way up to actual features 😂
That-Enthusiasm663@reddit
Ask claude.
MasterAirscrachDev@reddit
Find cool project Clone Improve something Commit changes Make Pull request to original repo