Just do it; the project will be grateful to receive your contribution. Find something that needs to be done, fork the project, do it, test it, and submit a pull request. Many medium to large projects will have lists of things that need to be done, and will usually have many more tasks than they have manpower to complete in a timely manner, so pick one that matches your skillset and have at it. You can also take a look at their issue tracker for ideas. It's probably worth coordinating with the other developers to make sure you're not duplicating effort, but feel free to just jump in there and start contributing.
I maintain the carrierwave, minimagick & memcached-manager ruby gems. If you are interested in any and has a decent knowledge of ruby I can help you to get you going(or anyone interested from HN).<p>I got started by writing PR's, reading the codebase of the projects and making myself helpful whenever I could.