I think there is a huge gap between people who could and would want to contribute and projects actually engaging and enabling them to. I have been using free and open source software for a long time but still have no clear idea how I could easily contribute; the few times I tried contributing to tutorials or documentation, I got a "sounds interesting, let's see it!" first and then no more replies and nothing came of it once I did send them what I had. This was a pretty big project (samba), no less, so I assumed I must have done something very wrong or broken some unspoken rule and thus stopped contributing altogether from then on.
I think open source projects would do well if they invested some effort into organizing and communicating what people can do to help, otherwise how can I know someone is not already working on a fix anyway and I just lean back?