Go get a GitHub account. Lurk. Find a project or two that you're interested in. The GitHub Blog is a great place to find new and interesting projects.

Watch. Follow a developer that makes great stuff. Get familiar with the innards of a project and see what other contributors do.

If you find a bug or have a feature request, open a new issue. If you feel confident, fork the project and make the changes yourself. Send a pull request and see what happens :)

It's rare, but sometimes maintainers can be hard to deal with. If you've tried your best to fit the project's workflow and conventions, but the maintainer is snappy, dismissive, or just closes your issue without a comment: move on. That project isn't worth your time.

If you feel like your code would be useful to others, Read up on open source licensing and stick your project up on GitHub. Write some documentation. Tell people about it. Open Source and Constraints