For awhile now I’ve been watching the Zotero project, and admiring their ability to deliver a compelling application that users (including me) have been hungering for. I appreciate that they have built the tool around one of the preeminent open source applications (Firefox), and that they have relied on open standards and development tools where possible. Finally, the code is all freely available and unencumbered. In all these ways, the Zotero team has gotten it right.
But … is this really enough to take it to the next stage?
Consider that there is no community involvement in Zotero development planning. The Zotero coders add features, based on their own internal assessment, adopting their own solutions, without wider public input or discussion. Third-party developers find out about what they are doing only after they release the code as more-or-less a fait accompli.
The latest news about word-processor integration is a perfect case in point. As a co-project lead for the OpenOffice bibliographic project, I’m trilled to see them say elsewhere they intend to support similar functionality there, but also perplexed they plan to do this without apparent consultation with our project. I can only assume this because I have yet to see any evidence to the contrary.
Put simply, Zotero looks more and more like a proprietary project dressed in free software clothing.
My problem with this does not just reflect some hopeless idealism, though. The issues of process and governance have practical consequences. The Zotero dev list has been essentially dead since its opening, which I have to believe is a consequence of the fact that developers simply do not feel included in the process.
And Zotero needs outside developers. Innovation in this space depends on standardization of data formats and representations, document encoding, APIs, and so forth. And a lot of code ought to be able to be shared between projects. Without the collaboration that makes that possible, users will end up boxed into the same kind of corner that truly proprietary applications like Endnote have long painted us into.
Free software is not just about cost; it’s about an alternative development methodology. Eric Raymond famously described traditional closed development models as cathedral-like, and the free software revolution inaugurated by Linux as a bazaar. Raymond makes clear that the cathedral approach has its place, particularly in the early stages of a project. But beyond that, the advantages of truly open development are so compelling that they are hard to avoid. Indeed, Mozilla and Firefox are themselves a product of this methodology. That Zotero exists at all is because they have smartly built off of this free software infrastructure. Yet 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.
Nowâ€”as they look to transition from a compelling first release to more advanced functionalityâ€”is a perfect time for the Zotero team to move from the hermetic world of the cathedral, to the open world of the bazaar. If done right, it will get us all where we want to go more quickly, and with better results. This has to mean cultivating a more collaborative and interactive community, particularly with developers. It has to mean publicly documenting and discussing what they want to do before they do it, so that other developers can give useful feedback, and in turn plan for forthcoming changes.
I should add that I hesitated to post this. But I’ve already gently pushed on this in both public and private, on more than one occasion, without much effect (though they did open up their code repository). I present this, then, in the spirit of constructive criticism.