

Ask HN: Getting started with GitHub - fluorescentLAMP

As a soon graduating CS senior who feels a calling to the startup scene - I felt an appropriate learning opportunity would be try contributing to open-source projects on GitHub.<p>However, I am not sure how to start. I feel that my skills aren't yet up to the level that I could contribute solid code to any of the large projects.<p>I am web developer at heart, so I have a strong knowledge of the main technologies as well as some django, drupal and others. Are there any particular projects you can think of that I would be able to contribute to? Any other relevant tips or advice that you think that I need?<p>tldr; How should I get started on GitHub?
======
mindcrime
I can see three or four possible approaches:

1\. Pick a project at (more or less) random; something that "scratches an
itch" for you personally. It may or may not turn out to be maintained, the
maintainer(s) may or may not be receptive to pull requests, etc., but
nonetheless, you can grab it, fork it, and start hacking. If it's a project
with a mailing list / forums, you might want to lurk a bit first, get a feel
for the community, and maybe even post a message saying "Hey, I was thinking
about adding Feature X, or fixing Bug Y, any interest in that?"

2\. Ask around for a project that's actively seeking more help; maybe even one
that's being run by a fellow HN'er. Build a good relationship with said HN'er
and maybe get them to act as a bit of a mentor and walk you through the early
phases of your involvement.

3\. Check <http://www.reddit.com/r/FOSSHelpWanted/> and find something there.

4\. Start your own project from scratch and put it up on Github.

And for a slightly self-serving bit... if you know (or want to know) Groovy
and are looking for a project like mentioned in [2] above - that could use
some help - I might just know of one. Shoot me an email if you'd like to hear
more. :-)

------
rcthompson
Well, first you need to get started with Git, if you haven't already done
that. Github itself provides links to Git tutorials.

Anyway, many projects on Github use Github's issue system for tracking bugs
and feature requests. So if you find a project that you are interested it, see
if it has any outstanding bugs in the Issues section that you think you could
take on. Then fork the repo and try to fix the bug. Test your fix to make sure
it works, then submit a pull request saying that your fork fixes the bug.

------
bricestacey
I would take a deeper look at some of the modules/plugins for the frameworks
you're interested in. If you don't care about any particular project, you
could simply start your own. You're sure to come across a bug at some point or
a feature you're missing from a library. Then, fix it yourself and submit a
patch.

------
indrora
TL;DR you should just start using git and begin the process of learning.
Pushing code to a project isn't really how github works, so just find a
project you think you can help and just fork, mod and push. Hence: the beauty
of git: you own the repo!

------
adulau
Usually a good introduction to a free software project is to provide some
patches (via pull requests) to fix bugs, add features or improve something.

