I've thought about this a bit and my own personal take on this based upon some maps I've seen like the map of contributors/mentors in the Google Summer of Code project (which is a really neat project if you hadn't heard of it). Basically, if you look at the countries with large numbers of participants you'll notice that the countries are more likely to have participants based upon 1) the wealth of the country 2) the "tech focus" of the country 3) relative level of "safety net" policies in the country. There are a few outliers and that's understandable in any sampling.
It makes sense to me that in a relatively poor country you are going to say to yourself "Open Source isn't going to put food on my table" while someone in a relatively wealthy country - and espeically one with welfare/food support - you can just say "ok, my job is only 30 hours per week, if I move between jobs I can surive on government subsidies for 3 months, I will work on Open Source in my free time because that is more fun."
His points about the relative geekdom and need to feed egos certainly make sense as well. I mean, look at most Open Source guys - how many of them are charismatic and physically attractive? No offense meant, but there is some clear empirical evidence on this one. If you can be the weird guy that wrote some code for the kernel or hardware drivers that is sitting on top of the TV of millions of people, that's gotta feel pretty good even if your date on Friday night is your computer.
UPDATE: Frank Hecker discussees the same issue, but from the point of view of how to get more high quality contributors to a project.