Cathedrals, Bazaars, and In Between
Poul-Henning Kamp's article A Generation Lost in the Bazaar was doing the rounds on Twitter again last week. In it, he argues that the free-for-all "bazaar" model of open source has left us saddled with "a tangled web of haphazard dependencies that results in much code duplication and waste", and further that:
...the sorry reality of the bazaar Raymond praised in his book [is] a pile of old festering hacks, endlessly copied and pasted by a clueless generation of IT "professionals" who wouldn't recognize sound IT architecture if you hit them over the head with it.
the generation of lost dot-com wunderkinder in the bazaar has never seen a cathedral and therefore cannot even imagine why you would want one in the first place, much less what it should look like.
Having spent a chunk of the holidays trying to explain and justify the baroque procedures needed to work with our workshop template, our lesson template, and this site, and why they're all different, I sympathize deeply with his yearning for clean design. Unfortunately, however, the cathedral model fails just as often and just as badly as the bazaar. As James Scott explains in Seeing Like a State, large organizations always favor uniformity over productivity, because without uniformity, the center cannot control the periphery. "One king, one law" can sometimes be a great force for good, but what you usually get is collectivized agriculture and UML.
If you're going to read Scott, though, you should also read Jo Freeman's "The Tyranny of Structurelessness", because it explains what goes wrong in many "open" projects. Forty-five years ago, Freeman pointed out that every group has a power structure. The question is whether that structure is explicit, so that people with power can be held accountable, or whether those with de facto control can dodge responsibility when it's convenient for them to do so1. This is just as unproductive as command-and-control's indifference to individual circumstances, though it usually manifests as endless wrangling in which disagreements are resolved through networks of favors done and owed2 if they're ever resolved at all.
I think there's a happy medium—not too many rules, not too few—but as in the world of The Dispossessed, "mere rules" only work when enacted by sincere, open-minded people. When Software Carpentry's first elected Steering Committee takes the helm four weeks from now, I hope they will find the rules we have written a good starting point. I also hope that our instructors will find our templates more of a help than a hindrance, and that there will be enough mutual trust in the community we've become for people to step forward and say, "That's broken, I'll fix it," when the rules or the templates don't work. Because at the end of the day, cathedrals and bazaars are both misleading metaphors: what actually matters is the people who build them.