Pick something interesting but hard to start/learn/understand and WRITE. This will sharpen your communication skills, which is crucial when explaining stuff to non-technical people (like your manager).
The installer / upgrade part of any project is also equally important; but it's better covered because it's part of the build process (the only exceptions is that you're selling enterprise software to a multi-million $$$ company: in that case your software must be as hard to install as posible in order to justify selling professional services).
This tool here helps you to stay on course by sending you emails regularly:
"We're sorry, but something went wrong."
when I tried to authorize the application in GitHub. If this is your project I'd love to try it out if there's another way for me to sign up (or another date I can try).
All of them. You might be better off choosing an open-source project based on your interests and background rather than looking for a project that's particularly desperate.
And please don't pick a project that's desperate for people - It's a classic case of the mythical man month.
Most of the time the core folks will find bringing up a new member up-to speed as a distraction, particularly when there's no commitment from either side to keep working on it (compared something like google summer of code).
PS: if all else fails, pick up a new programming language & write examples/cookbook-recipes for it
Take a look here.
I would like to start with a small tasks / modules as of now until I get a hold on things.
http://wp.tutsplus.com/articles/general/learning-how-to-cont...