I found a year-old draft of this post, but I think it’s apposite again — given that in a recent discussion of “how to attract more editors?”, Tim Starling seriously posited that we need to repel newcomers because the community (specifically the admin culture) is too toxic to throw them at.
Summary: With open source software, there are people who think “that’s dumb,” there are people who think “I want to see it fixed” and there are people who think “I can do something about it.” The people at the intersection of all three power open source.
On Wikipedia, the intersection point – marked “These people power open source” – is pretty much anyone who knows something and can write it in a coherent sentence. But social structures have evolved to keep it from turning into complete rubbish. Sometimes way too much structure. This means there are all manner of social mechanisms to repel clueless n00bs, since there aren’t the technical or thinking-style barriers there are to coding. And many of these are (IMO) inappropriately strong.
How not to bite the n00bs is a perennial topic on Wikipedia, and I’m currently trying to get some old hands to edit as IPs so they can see how n00b-biting we actually are in practice. Results are disheartening so far.
Some open source projects do similar things to deal with the “Linus doesn’t scale” problem when they attract large volumes of people who can at least write code to a minimal degree. A high quality requirement on code is ony the start — there’s getting attention to your code, jumping through the right hoops, dealing with obnoxious-nerd-stereotype personalities (there’s a reason it’s a stereotype), etc.
But then the problem is what to do when you have more of them than you can deal with — the “Linus doesn’t scale” problem. It’d be nice if the only thing keeping them out was code quality, but it’s silly to claim that’s all there is.
Wikipedia has much the same problem — that intersection, which is tiny for software, is pretty much everyone who knows something and can type for a wiki. So hideously complex social structures have evolved to deal with the distributed crapflood. Many of which are way less than ideal and n00b-bite way too much.
That is: our problem is not getting people into that intersection point — it’s what happens to people in that intersection point, how to keep them from flooding you and how to make sure those mechanisms aren’t in fact damaging your project.
(It’s amazing how much time community nuts’n'bolts uses and how little sense one can have of things actually pushing forward. Wikipedia is the size of a small city. You know how hard it is herding five volunteers? Try getting ten thousand to do any particular thing.)