This is something between a stream of conciousness and a ramble. For some projects, open-source delivers significantly better product than others. No surprise there. But for projects that are lacking, like OpenOffice, why does it seem the promise of the Bazaar isn't delivering? How can we turn it around?
I talked with Sebastian and fedora volunteers about core Open Source concepts: transparency, release early release often, work upstream, scratch your own itch, and Linus' law. My take is that Linus' Law has been widely supported, but doesn't always deliver success. A prime example: "who supports OpenOffice?"
Some background on Linus' Law. In 1997, when Eric Raymond first presented the Cathedral and the Bazaar, the source for GNU Emacs was locked down to core developers until a scheduled release date came along. This "cathedral model" was the reality of many open source projects. Raymond had the insight to state
given enough eyeballs, all bugs are shallow
- Eric S. Raymond, The Cathedral and the Bazaar (1999)
(Named Linus' Law in honor of Linus Torvalds)
and this became Raymond's blazing sword against the cathedral. If you the core developer kept your source to yourself, you got to spend endless hours fixing bugs. Bug fixing is inglorious work, and the promise of offloading bug fixes, tantalizing.
Currently open-source runs on a modified mantra. Raymond calls it "treating your users as co-developers." I call it "who supports OpenOffice." Though you may treat my grandmother as a co-developer, she will not be able to diagnose OpenOffice redraw issues.
My apologies OpenOffice community. Building an office suite is a complex undertaking. Though you are the target of this blog post, I really do appreciate all the work that has gone into the project (that I use frequently). I don't mean to critize your efforts.
Okay. According to their site, OpenOffice has been downloaded 98 million times. I'd wager that doesn't include distribution through linux distros. So why after 98 million downloads is OpenOffice so buggy? Co-developers. When the manager at the gym does an OpenOffice mail-merge and it wigs out, he doesn't have the skills to fix the issue. When your IT guy does a mail-merge with snazzy unix-like command line scripts, he can address almost any issue he runs into. The eyeballs that peruse GNU Emacs make all Emacs bugs shallow. The eyeballs that peruse OpenOffice do not... and there are over 98 million of them! Instead of treating your users as co-developers, Raymond would have been more accurate to say "treat your developers-- who may happen to be users -- as co-developers."
Of course, there are other factors to OSS project success than technical experience. Community management, release engineering, commercial support, ownership, altruistic targets, etc. Here are a few of my contributing factor breakdowns:
The Linux Kernel
What it has going for it
Enticing advanced CS problems
Nerd cred. (you have a patch in the kernel?)
Self-serving altruism (give the gift of playing with Linux)
Intense commercial support (many paid kernel hackers)
Users are developers
Firefox
Organization of ownership (components split out to owners, e.g. binary installers)
Nerd cred.
Self-serving altruism (support of web standards)
Commercial / academic support
Users are developers
Pithos
Scratches own itch
Simplifying, limited scope
Strong personal ownership
OpenOffice
Not so hot:
Iron-fisted organization
Endless feature mentality
Bystander effect
Non-essential for most developers
Little commercial interest to anyone except Sun/Oracle
So how to make OpenOffice more enticing? Firefox receives financial support through Mozilla. Perhaps OpenOffice just needs more financial support and paid development. It's not the answer I'd like, but maybe it's just really hard to find a base of open-source contributors for an office suite. Firefox also receives development support from academic groups. Firefox has the advantage here in that it has active areas of research like ecmascript. Perhaps if OpenOffice could match OpenOffice components to active areas of research, and promote these projects to students and academia, they too could see academic development. (Or just sprinkle ecmascript all over OpenOffice =]; okay, no, please, enough of the Javascript!)
I know there are ideas out there, better ideas, on how to boost up projects like OpenOffice. I don't have answers, but I'll be looking.
Food for thought:
http://www.kalzumeus.com/2010/09/22/security-lessons-learned-from-the-diaspora-launch/ (particularly "Take Care With Releasing Software to End Users")