Repost (because this gets asked too often):
I defined this for someone else who had the same question a few days ago. There are 4 ways to contribute:
- bugs (find and report them)
- code (the part everyone wants to do)
- docs (the part that everyone should do, but has been given second-class status due to everyone thinking writing code is the only way to feel like you're contributing)
- tests (ever clicked on "button" and everything broke, well if someone wrote a test for the functionality there, it likely wouldn't have)
I urge you to start with the things the pure-coders hate, and that is well-defined, noob-friendly documentation.
You'll never be given the high status of "genius programmer living in basement, changing world", but your documentation and "dumbing that shit down" way of explaining things will sometimes make the project more successful and will carry more weight as far as bringing more users of the code-base.