I, personally, think that one of the best ways that I could get better is to contribute to OSS projects.
While I'm no OSS guru, I certainly have my share of OSS contributions. I can personally tell you that collaborating with all sorts of people and projects is very educating.
However, I can't lie, reading stories about the abusiveness of the community is a huge turn off. Now, I realize that I am probably not one of those people who 'should know better,' and I realize that really extraordinary outbursts are rare (which is why they get reported on, obviously), but I still have enormous trepidation about joining the OSS community. I feel I may have talent and ideas to contribute, but when I see stories about the way that people get treated when they make mistakes, it makes me want to avoid the whole thing. I wouldn't be doing it for money, I would be doing it for fun, and to learn. And as far as I'm concerned, if I'm going to be abused for making mistakes, I am not having fun, and I am likely not learning much either. (...)
What about you stop imagining what "joining the OSS" would be and you actually try to contribute something? Really, it is a no-brainer! Just follow some project you like/use a lot and when you have a chance, submit a patch with a bugfix or feature - that's it. Don't be a pussy and treat all criticism as a way to learn and educate yourself. If your patches are worthwhile, you will be noticed and eventually someone will ask you to join the project. However, just because you are not part of the core team of a project, it does not mean you didn't "join the OSS community", whatever that means.