there are two different scenarios for a newcomer to a community:
- you want to be involved, but you don't know how
- you know what project/area you want to be involved with.
For the Second scenario, this is the easier way to get involved. If it is a project, install git or svn and get the source code of the project on your local machine working. Start small by submitting bugs, and move up to fixing bugs, and then to feature requests.
If you cannot contribute code to the project for whatever reason (hey! some people have families and lives), then help out in anyway that you can. For example, I put up a BOF page for the CGI-APP folks to get together at YAPC last month, It know its simple, but noone else had done it, and it may not have happened if I hadn't pulled it together. It might have, but we'll never know.
Guidelines to follow for either group:
These groups have a certain culture already established. Spend some time lurking, get to know how they operate before sending emails to the whole group.
These groups/communities already have leaders and 'elders'. These people are the ones to answer questions and provide direction. They have put a lot of time, effort, and love into this project, and they don't need some noobie coming in and creating a mess/causing drama. It is likely that they have experience that you don't, so listen and learn from them.
Look for a need and do what you can to fill it. When I became the leader of Frozen Perl 2009 workshop, I had already been invloved for a year, and I asked the previous leader if I could take over, since he seemed uninterested/unable to continue. I didn't "take" the position away, rather, I saw a need for a new leader, and asked if I could take the load away from the previous leader.
All in all, you just need to dive in, and get involved. There is no magic solution to help you, and you won't likely be asked into the community you want, so ask them how you can help.