Engines, steering wheels, and open source

The VP of technology for a leading enterprise software vendor recently told me that he spends a lot of time wondering how open source projects can possibly work. "You take out the internal combustion engine," he said, "yet somehow the car still runs." My take was that there is, indeed, a powerful engine purring under the hood of open source. Creative programming is a deeply addictive behavior. Part of the rush comes from the endorphins released when the mind enters a state of flow. And part of it comes from the peer acclaim that all programmers crave.

What open source projects often lack is not the engine, but the steering wheel. "Too many programmers," says Tony Byrne, who tracks commercial and open source content management systems for CMSWatch, "but not enough product managers." Paul Everitt, co-founder of Zope Corporation, puts it this way: "We suck at finishing work." Writing documentation doesn't make endorphins flow. Neither does organizing a usability study, or doing triage on bug reports, or writing a bulletproof installer, or internationalizing a product for fourteen languages, or creating an intuitive user interface.

Mind you, I'm not complaining. Every day I use Perl, Python, Linux, Apache, Mozilla, Zope, emacs, and countless supporting libraries and tools. But I also use Windows, Mac OS X, MSIE, Outlook, and a bevy of commercial software products. We tend to think of the open source stuff as low-level developer-oriented infrastructure, and the commercial stuff as user-facing applications. The two realms need not be separate and distinct, though, as I am daily reminded when I check my Outlook email. Thanks to the SpamBayes plug-in for Outlook, this is an experience that I no longer dread.

The SpamBayes engine is open source software that could be integrated with any email program. Most open source folk wouldn't want to actually do that integration. But Mark Hammond saw it as an interesting challenge. He did the finishing work: packaging up the Python distribution needed to run SpamBayes and the plug-in, writing the user-interface code that enables the plug-in to work with my Outlook filters and folders, and delivering the whole thing as a clickable installer.

I once asked a pair of open source wizards if they were inspired by the thought that their software could improve the lives of millions of people. Nope. "We build infrastructure for other developers," they said. "If they use it to make software that makes people happy, then fine, but it's not what motivates us."

You can't argue with success, so I won't. The infusion of open source infrastructure into the enterprise is a remarkable success story, and I truly do regard those responsible as heroes. There are only so many infrastructure projects to go around, though. Whether and how open source energy flows into user-facing applications is a key question for enterprise IT.

Mark Hammond is a different kind of open source hero, and I hope others will emerge. Finishing work is at least as great a challenge as infrastructure work, and may even produce endorphin flow in some minds. Of course, the act need not be its own reward. SleepyCat, MySQL, and other open source companies are proving there's money to be made on licensing, support, and customization. These projects are built from the ground up. But there's also an opportunity to piggyback on the finishing work that Microsoft has already done.

InfoWorld.com version

Former URL: http://weblog.infoworld.com/udell/2003/06/22.html#a730