This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Every project is different in terms of their organization, structure, and management style. But in general, what you do is the same: pick a project, download the source, and build it. Run the product's test suite. Once you're comfortable with building and testing the code, find the project's "to do" list (or bug list, or wish list) and fix a bug. If the project has published style guides, be sure to follow them; otherwise, try to adhere to the project's established conventions, as best you can figure out from the code. Test your bug fix extensively; add one or more tests to the project test suite, if applicable.
Now join the project's mailing list and say "Hey guys, I fixed (whatever), does someone want to look at my code?" Hopefully one of the project developers will check out your patch and approve it. If you do that several times, you may be given "commit privileges", meaning that you can check code into the repository yourself. And then you'll be an official project member!
Do understand that 99% of potential project contributors never actually get to that first bug fix.