The importance of fun

by Raph Levien
25 Apr 1999

Abstract

One of the more important, yet often overlooked aspects of the software development process is the fun it provides. Although it may sound frivolous, lack of fun can seriously de-motivate developers and is one of the greatest risk factors for unsuccessful software projects. The free software process is better than its proprietary counterparts for providing fun opportunities to developers, account for much of its otherwise paradoxical success. Although the word "fun" is in common usage in the technical community, it is tricky to define it precisely. This paper explores the meaning of the term in common usage, and also argues why it is important.

Why "fun"?

It seems quite paradoxical why bright, talented people would forsake the huge economic incentives and opportunity for impacting the world offered by the proprietary software and instead devote their considerable skills towards writing code that, while of commercial quality, is simply given away free to anybody who wants it. Several theories have been proposed, and each, while telling part of the story, don't seem quite satisfactory.

One such theory is that free software developers are motivated by "ego boost," i.e. a gain in reputation coming from public recognition of one's work [Ray97]. This is surely one reason that people develop free software. However, it fails to account for the large fraction of developers who work quietly but steadily. While Linus Torvalds has attained near-rock star status, I'd guess that few people outside the kernel development team could name more than one other member of the team (ten to one says that name would be Alan Cox). Furthermore, it seems not much harder to get recognition in the proprietary software than in free software.

A second explanation is ideological convictions. Certainly Richard Stallman and his followers in the Free Software Foundation hold very strong views that free distribution of software is a moral imperative. While many free software developers admire and respect Richard Stallman and his philosophy, relatively few subscribe to it wholeheartedly.

A third explanation in common currency is that free software authors write code to "scratch an itch," i.e. because they personally want to use the software they are creating. While this is clearly a powerful urge*, it clearly doesn't tell the whole story, as commercial software is almost always available for a tiny fraction of the market value of the coding time invested.

So what does drive people to write free software? If you ask free software developers, you'll commonly get back the answer that it's fun. Could this possibly be the force that has built one of the most fully-featured stable kernels for PC hardware, has the largest market share of Web servers, and has Microsoft running scared? I think it just might be a big part of the answer.

What is fun?

References

[Ray97]. Raymond, Eric. The Cathedral and the Bazaar, 1997.

Free software

* www.levien.com