Cathedrals and Bazaars
Tuesday, January 30th, 2007(for those of you who aren’t in the academic tech community, this is going to seem a bit inside-baseball…feel free to move right along)
Over the weekend, Bruce D’Arcus wrote a blog post about Zotero in which he said that “one gets the sense of a project at the portals of the cathedral gazing out at the bazaar, but not yet ready to step out the door.” This has sparked a bunch of discussion among us Zoterons over the past few days, and I wanted to distill a bit of it here.
From my particular perspective within the Zotero project, it’s less that we’re not ready to step out the door than the simple fact that we’ve been so focused on short-term goals that bigger conversations like the ones Bruce wants to open up have fallen by the wayside. Yes, we’ve been less than responsive to Bruce’s requests, but not out of any deep or unconscious desire to stay within the cathedral. In fact, I’d argue that the cathedral/bazaar dichotomy, while useful for highlighting different modes of work, is also rather reductionist, and can distill the gray areas of actual practice into black and white strawmen.
There are a number of models for open source projects; the one we’ve been trying to follow at Zotero is one of open participation, driven by participants themselves. At this point, if you want to participate, you can get full read access to our bug tracking and versioning system, and write access once you’ve proven yourself. While the dev list has been low-traffic (I wouldn’t go so far as to call it “dead”), the forums are extremely active, and we’re proud of a level of responsiveness by the whole team there that far surpasses expectations for an open source project. There are mechanisms for discussion, and we are deeply committed to F/OSS principles (along those lines, we’re going a step further and opening up our bug tracking system to full anonymous read access; Dan Stillman posted the details on the dev list yesterday). When we introduce something new, we see it as the beginning of a conversation, not the end of one: the Word plugin, for example, is a first draft, and we’d love to see someone elaborate on it. As for OpenOffice functionality, we haven’t had time yet to really start that conversation (either with words or code), but we’d love to see someone else do so (and in fact might be able to compensate them for their time).
On the Word plugin: it seems to have come out of nowhere mainly because it did come out of nowhere. One of our developers, who’s currently in college, needed to write a paper and came back with a working Word plugin. This wasn’t a top-down directive so much as him saying “Hey, this’d be cool,” and pulling it out of thin air (he’s actually got quite a reputation around CHNM for suddenly producing incredibly cool bits of code). As for the OpenOffice functionality, when Kari wrote “We do indeed have plans to add support for OpenOffice—it should happen sometime in 2007” the meaning behind that was “We’ve been talking to Bruce and others, and we’re hoping to work with them later in 2007 to get a similar plugin running for OpenOffice.” The statement was more opaque than it might have been, but it doesn’t belie a master plan evolving within CHNM to exclude OpenOffice folks (heck, we’d love it if someone else would step up and start building that functionality, rather than waiting for us to do so).
In the end, I think (and this is now just speaking for myself, rather than on behalf of Zotero as a whole) that the one thing that we could do better is make the process of feature development more transparent; it seems that Bruce’s main concern is that there are discussions happening and decisions being made behind closed doors, without real community participation. This is true on some levels; since most of us have offices along the same hall, we have a bunch of informal conversations that we don’t report back to the dev list or forums immediately (unlike most traditional open source projects, in which virtually all essential discussion happens in public, electronic fora). Our first concern has been simply getting software out the door that appeals both to our sense of good design as well as what our grant funders want, and in that rush we’ve often taken the route of quick conversations and decisions which can appear opaque from outside the CHNM offices. With that in mind, we’re going to try to do better, pushing those discussions out onto the dev list (where anyone else who’s concerned can join in while things are being figured out) when possible, and doing frequent reports on in-house projects and planned features out to the group…
Beyond that, however, there is an aspect by which Zotero will be always a bit cathedral-like; our current model is more like a service, where the core app is developed by a relatively small group of in-house or vetted devs, but with tons of hooks and an API enabling the flourishing of third-party utilities that extend it. We’ve created detailed developer documentation, including a sample utility, and we’ll be adding more to this as our APIs stabilize. Zotero has been built from Day 1 to be extensible in nearly every way possible. In short, less a massive cathedral than a small building in the middle of the bazaar…