If I didn't already have a religion, I might set up a new one to worship Cesc Fabregas, Arsenal's amazing midfielder. Humble and yet incredible on the pitch, Fabregas may well be the best player on the planet right now (though Kaka, Messi, and others might beg to differ).
Which makes Fabregas' comments in Sunday's Times so refreshing, and so applicable to open source. Responding to a question as to why he has scored so many goals this season compared with last he notes:
The transformation, if there?s been one, is explained in team terms. "It's true I feel more free to go forward and that's down to [Mathieu] Flamini. He doesn't stop running, chasing the opponent. He has amazing energy....
"Alex [Hleb] is another reason. The football we like to play is more or less the same. Outside, we are very close friends and that helps because I understand the way he thinks and he understands me. Alex is the kind of player who makes you play better, he makes you look better, certainly. I swear, if Alex was not in the team I don't think I?d have scored 11 goals."
He's probably right. He'd still be a great player, but a great player in isolation is...not so great. It's very similar to why open-source development works. It's not that you have millions of developers coding together, each contributing significant pieces of core functionality. This isn't how open source works at all.
Rather, open source works to the extent that a core team is freed up from more peripheral tasks like bug fixing (and spotting), localization, etc. Let the core group work on core code. (Adding more bodies just slows it down, anyway, as Alan Cox has noted.)
In short, if you want your core project committers to do their best work, remove everything from their plate except the core development work.
Fabregas scores and picks out beautiful passes because he's not made to get back and defend as much as he would without Flamini. He moves forward in an interstellar burst in attack whenever Hleb has the ball because he trusts that Hleb won't give up possession easily. A great support cast makes a great individual player. A great development support cast makes a great developer.
You really can't have one without the other. Not often, anyway.