Harvesting Altruism in Open Source Software Development 1 May 2002 Ernan Haruvy a, Ashutosh Prasad a, Suresh P. Sethi a,* aSchool of Management, The University of Texas at Dallas, Richardson, TX 75083-0688, USA 1 Please do not cite or circulate without permission from the authors. * Corresponding author. Tel.: +1-972-883-6245; Fax +1-972-883-2799; E-mail: [email protected]. The authors thank seminar participants at Columbia University and the University of Texas at Dallas. 1 Harvesting Altruism in Open Source Software Development ABSTRACT Firms have the choice of developing software as either open source or closed source. The open source approach to software development has been advocated as a new and better method for developing high quality software than the traditional closed source approach. In open source, volunteer programmers freely contribute code to develop and improve the software. This paper describes the key non-pecuniary motivations for these programmers. They are less motivated to contribute if they observe commercial marketing of the open source software they helped create, leading to a reduction in improvements to the software. A primary concern for software firms seeking to develop and market open source software is, thus, how the motivation of contributors should be managed. We examine optimal pricing strategies for open source and closed source software keeping in mind the distinct motivations of programmers in the two cases. We compare profits and software qualities from the two approaches and provide implications for firms in the software industry. Keywords: Open source; Pricing; Altruism; Optimal control 2 1. INTRODUCTION Open source software refers to the use of and contribution to shared source code that can then be freely redistributed and reused in components of code. The open source paradigm lends itself to collaborative software development by a worldwide community of developers and users to build software, identify and correct bugs, and offer enhancements (O’Reilly 1999, Grossman 2002). Enhancements submitted by individual users are added to the original source code for public use and further modifications and improvements. The open source approach has resulted in the development of prominent Internet infrastructure software, including the Linux operating system, Apache web server, the Java and Perl programming languages, Sendmail electronic mail transfer agent, and DNS BIND systems. Table 1 provides short descriptions of some commonly used open-source software, adapted from Bhattacharjee et al. (2001). Table 1. Open-source software examples Software Description Linux Built on top of a kernel designed by Linus Torvalds, today Linux distributions include hundreds of other open source packages. With more than 7 million users, Linux is the predominant enterprise server operating system in use today. FreeBSD FreeBSD, OpenBSD, and other Berkeley UNIX derivatives boasts an estimated 1 million users. Perl Larry Wall’s Perl is the engine behind most “live content” on the Internet, and is used by over 1 million users. Tcl John Ousterhout’s tcl language is used by over 300,000 users. Python Guido van Rossum’s Python language is used by over 325,000 users. GNU project The Free Software Foundation’s GNU project created a high-quality set of programming tools, including the gcc C compiler, g++ C++ compiler, emacs editor, and gdb debugger. Patch Larry Wall’s patch program allows users to exchange small fixes to programs in isolation rather than exchanging the entire software. CVS Concurrent Versioning System (CVS) allows users to maintain multiple versions of the same software. Apache The Apache Group was formed in 1995 by a group of web-site administrators to share modifications to the original NCSA web server, which was abandoned by NCSA after the departure of its creator Rob McCool. Managed centrally by 12 core developers, Apache is currently deployed in over 53 percent (1 million) of today’s web servers, well ahead of second- placed Microsoft’s IIS at 23 percent. StarOffice Sun Microsystems’ version of a word processor, spreadsheet and other general-purpose office application software. The philosophy of open source is for software code to be made freely and publicly available for use, development, and distribution. This stands in sharp contrast to the traditional closed source software philosophy of protection for intellectual property rights. Closed source 3 software is sold for profit with licenses requiring restricted terms of use and prohibitions against distribution and modification. This traditional paradigm is based on the assumption that software development is a specialized process, managed best by a localized team of highly qualified developers, careful project management, and detailed and prolonged debugging and enhancements in between releases (Bhattacharjee et al. 2001). In contrast, open source software is based on the principles of continuous improvement implemented via frequent releases, collaboration among developers, continuous debugging, and adherence to open standards implemented via open-source licenses (Raymond 2001). Given these markedly differing philosophies, there is surprisingly little quantitative literature on examining the profitability consequences for a firm to develop software under one regime versus the other. The sentiment is commonly expressed that open source contributors are motivated by non-pecuniary considerations, for example, altruism. “Even though open source programmers are occasionally paid, altruism is one of the largest motives for contribution… The ``utility function'' Linux hackers are maximizing is not classically economic, but is the intangible of their own ego satisfaction and reputation among other hackers.” (Raymond 2001) The implications of non-pecuniary motivations on marketing open source have not been examined in the literature. Commentary has focused on a secondary motivation for Open Source developers, namely that their contributions are in expectation of future monetary rewards. For example, some open source contributors capitalize on their contributions by serving as consultants to the code to which they have contributed (Anez, 1999, Bhattacharjee et. al 2001). Dwyer (1999) similarly suggests rewards in the form of the higher income that results from the reputational effect. Lerner and Tirole (2001) slightly deviate by acknowledging that open-source programmers are motivated by ego gratification in addition to career concerns. In this paper we consider the managerial implications of non-pecuniary motives in open source development and pricing, and pecuniary motives in closed source software development and pricing. There is some stylization in ascribing undiluted motives to programmers in the two contexts, but these appear to be the predominant motives in each case. We compare the open source and closed source software development and pricing based on this distinction while keeping other factors unchanged. 4 It is sometimes argued that open source software development is not a viable business model because open source firms cannot sell the software for profit (Mundie 2001). This is, however, not the case and, in fact, a growing concern among contributors to open source software has been that commercial firms will seek to exploit their efforts. Open source software is licensed to try to minimize this, for example, the GNU General Public License requires any program with embedded open source code to also be open source (Perens 2001). Nevertheless, firms can sell software that is a collection of open source software packaged together, or enhanced with proprietary software, or provided with support and documentation, etc.. Thus, it is quite possible to make profits with open source software. Consider the example of Linux, a UNIX-like server operating system. The first release of the Linux microkernel was in October 1991 with the source and executable code distributed freely on a Usenet newsgroup. Since then, Linux has become a global collaborative project involving thousands of freelance developers, contributing code to the core microkernel, enhancing the system (e.g., ethernet card support, TCP/IP networking, native and extended file systems, and Linux port for the GNU C compiler), and porting it to new hardware and software platforms. Despite being free, merely having the source code for Linux is not enough for non- expert Linux users to be able to implement Linux into their applications. Using the source code requires expertise and documentation. This has led to commercial companies, for example, Red Hat, stepping in to meet these needs. This has raised concerns among the Open Source community, as the following excerpts indicates: "This thing was created out of passion and commitment that was not motivated by monetary gain," said Bill Cason, senior vice president of technology and the engineering director at Deja.com Inc., a New York-based newsgroup and forum site, launched in 1995, that runs 215 Linux servers and 30 Apache Web servers and has another 100 Linux servers in testing. "We worry that a good thing will change for the worse. But I hope the open-source community will remain intolerant of that sort of material change." (Berinato, 1999) This problem is common from local collections for public projects such as neighborhood and school improvements to national political and environmental causes. Indeed, advocates of open-source software argue that software innovations represent a public good since the marginal cost of allowing another person to use the software is zero once the software is created (Stallman, 1985). People are willing to put their time and money into public projects as long as 5 they perceive such activities to be charitable. As soon as they observe someone unfairly gaining from such initiatives, willingness to contribute diminishes (Croson, 1996; Andreoni, 1987). Such considerations are especially pivotal among public goods contributors (Cason, Saijo, and Yamato, 1999). The following passage confirms the difficulty faced by a firm to continuously profit from commercializing open source due to the annoyance it creates among contributors. “Red Hat’s $84 million IPO shot skyward on August 20, 1999, rising from its offering price of $14 to $52 – and that was a potentially huge problem. Simply put: Red Hat was selling for $50 a pop a collection of lines of code that had been mainly written by programmers not on its payroll. Linux, it seemed, the anti-Microsoft “freeware” operating system, was going to make some people Microsoft-type money—but what about the hackers, scattered to the winds, whose code sat in the $50 boxes? …A typical, and somewhat legitimate, complaint went like this: “They are stealing the fire from Linux itself. Probably 95% of the good things that Red Hat offers are not Red Hat. They are just Linux. It’s only natural that this bugs people. A lot of people spend a lot of their personal time contributing freeware to Linux and associated software. It bugs them to see all this sold as ‘Red Hat.’” (Frieberghouse 2001) The quoted passages point to the instrumental role of distributive considerations in open source development and to the enormous risks of abating altruism and triggering spite in the course of profit extraction. In particular, emphasis is placed on the concern for equitable distribution of profits derived from efforts by programmers. As such, if the firm is perceived to “unfairly” extract too much profit from voluntary contributions of code, such contributions may cease. The conflicting incentives of the firm and the contributors makes this a difficult problem because of the dependence of the firm upon its contributors’ fairness perceptions should it choose to develop the software by open source. This is the first study to examine the implications of non-pecuniary motivations, such as altruism and distributive concerns, under the open source paradigm on the development and marketing of open source software. We analyze a monopoly provider of software that has to decide between adopting an open source or closed source approach. As Bhattacharjee et al (2001) note, studying a monopoly setting in software is justified when software are highly differentiated so that the firm has less competition and more price setting power. Also, software markets have a tendency to tip towards a monopoly due to standardization, compatibility and network effects (Katz and Shapiro 1986). The remainder of the paper proceeds as follows. In Section 2, we discuss the literature on non-pecuniary motives as it relates to open source development. Section 3 presents an 6 encompassing model and derives the quality and pricing policies of open and closed source firms. Section 4 concludes with discussion and directions for future research. 2. CONCEPTUALIZATION In this section we examine the background literature to ascertain, first, the non-pecuniary motivation for programmers to contribute improvements to open source software and, second, why profit-making by the firm causes them to cease contribution. These relate to the ideas of altruism and fairness, respectively. 2.1. Non-Pecuniary Motives for Contribution The idea that selfish considerations may not offer the best description of human agents has been extensively investigated in the economics literature. Models of altruism (e.g., Becker, 1974) and utilitarian ethics (Harsanyi, 1978) led this trend. But the principle that people take pleasure in doing good is as old as economics itself: “How selfish so ever man may be supposed to be, there are evidently some principles in his nature, which interest him in the fate of others, and render their happiness necessary to him, though he derives nothing from it, except the pleasure of seeing it.” (Adam Smith, 1759). In the commonly investigated dictator game, one subject, the dictator, is allotted an amount of money and is given the option to transfer some of that money to another subject. Though findings vary, dictators often transfer significant portions of their “wealth” to the other subject. The standard model to explain this pattern is the model of altruism. Attributed to Becker (1974) and Harsanyi (1978), this model simply implies that the utility of the open source programmer is increasing in both his own monetary payoff and the monetary payoffs of others. Such behavior is also termed “pure altruism” (Andreoni, 1990; Dawes and Thaler, 1988). In contrast, the notion of “impure altruism” (also investigated by Andreoni, 1990; Dawes and Thaler, 1988) suggests a warm glow that comes with “doing the right thing”. Impure altruism is generally described as satisfaction of conscience, or of noninstrumental ethical mandates (Dawes and Thaler, 1988) The appeal of the impure altruism model in the present setting is that a contributor would not need exact information regarding the demand function, number of users, profits of the firm, etc. It would be enough for the contributor to know he has bestowed a benefit on society to 7 receive the warm glow. The caveat of warm glow is in cases of variable contribution. In such cases, warm glow, in and of itself, is insufficient to predict contribution levels, although Anderoni (1990) modeled it as increasing in the level of contribution, without regard to final outcomes. However, in settings of a single contribution level, as in the framework at hand, warm glow models are ideal. It explains why programmers contribute to open source. We next turn our attention to why programmers would cease to contribute to open source. 2.2. Reduced Contribution with Firm Profit Models of fairness considerations have lately gained much prominence in the economics literature (Bolton and Ockenfels, 2000; Fehr and Schmidt, 1999). Such models rely in part on unequivocal evidence from the ultimatum game. In the ultimatum game, one person in a mutually anonymous pair proposes a division of a sum of money to the other person, who chooses to either accept the proposal or reject it. A rejection means both people receive no money. As rejections are not uncommon (particularly with rather uneven proposals), it seems that people are sometimes willing to deliberately sacrifice money in order to hurt another. In other words, kindness towards others can quickly turn into bitter unkindness when one perceives unfair enrichment on the part of another party. In marketing, the prominent works of Corfman and Lehman (1993) and Lehman (2001) argue that in competitive situations, firms place a weight on fairness. In Lehman (2001), individuals placed in the role of a manager were asked to report satisfaction with various combinations of sales figures for their own firm as well as a competing firm. Attention to fairness was found significant. Implications derived included an outline of the strategic role of cooperative behavior in competitive settings in the presence of altruism, reciprocity and spite. In the present setting of open source contributions, preference for distributive justice tend to revolve around the view of open source code as a “public good.” Marwell and Ames (1981), Kim and Walker (1984), and Isaac, McCue and Plott (1985), all found that people paid close attention to equity in public good contribution settings and that such behavior generated more socially efficient outcomes. Cason, Saijo, and Yamato (1999) also found that subjects had little tolerance for those who unfairly benefited from public contributions by others. This is not surprising. As the ultimatum game demonstrates unequivocally, unfair behavior, inconsistent with equitable standards, triggers severe punishment. 8 In accordance with the above studies, we conjecture that the programmer may tolerate some level of profits on the part of the firm, but above the “fair” profit threshold the programmer will not contribute, even if it costs him in a sacrifice of future rewards. Motivation is based on the profit of the firm. In the analysis, we assume that open source contributors have a reference point of profit that they deem fair on the part of the firm. That reference point is, C =βW +γR, (1) 1 where W is the warm glow from contribution, R is future expected rewards from reputation built as a result of contributing code, and β and γ rescale the warm glow and expected monetary rewards to the firm’s profit scale. That is, if expected monetary rewards per worker valued at some number, the worker might nevertheless tolerate the firm reaping profits 1000 times as much, in which case γ would take on the value of 1000. Volunteer programmers contribute but the number of contributors decreases as profit increases due to discontent with unfair profit being made by the firm. Conversely, when the firm sacrifices profits for the benefit of the public, the perception of fairness increases and the number of contributors increases. The threshold is assumed to have a distribution over programmers leading to a continuous decline in the number of programmers as profits increase. The number of programmers can be modeled as follows: Let g(x) be a decreasing ‘equity’ function. Let D(P,Q) be the demand curve, which is a decreasing function of the price P but increasing in the software quality Q. Then the number of contributors at time t is N(t)= g(P(t)D(P(t),Q(t))). (2) This formulation is explained by programmers considering only the current profits of the firm in having spite motivations. An alternative explanation can be given if we replace C by rC , 1 2 where r is the discount rate of the firm. It is now easy to see that the programmers’ spite is based on an expectation of future profits equal to the current profits of the firm projected into the future when making their decision to contribute or not to contribute. In this case P(t)D(P(t),Q(t))/r represents the present value of the entire future stream of profits as seen at time t and C represents the corresponding threshold. 2 9 We know that contributors’ thresholds are determined by their warm glow and fairness considerations. From those programmers having high warm glow and low fairness considerations, we would expect to see contributions even when the firms profits are high and tending to infinity. The function g(x) would thus go asymptotically to zero, implying that it is convex for x sufficiently large. Given the lack of justification for a complex concavo-convex form, we will assume that this function is convex throughout its range. Also note that the breakdown of the threshold value into R and W allows nesting the traditional reputational effect (Anez, 1999; Dwyer, 1999), impure altruism (Andreoni, 1990; Dawes and Thaler, 1988), and fairness considerations (Bolton and Ockenfels, 2000; Fehr and Schmidt, 1999). 3. MODEL We consider two approaches to software development - open source and closed source. In both cases there is a software firm that develops and sells software driven totally by a profit motive. Profit is the discounted stream of future revenues less programming costs if any. The marginal costs for software is typically very small since software can inexpensively and reliably be copied and distributed, and will be assumed to be constant and set to zero without loss of generality. Software products tend to be made available to consumers at all quality levels and they are continuously upgraded to newer and better quality versions. Thus, unlike products with an extensive research and development period, we assume that the software is concurrently available for sale as its quality develops. General demand functions that are increasing in quality and decreasing in price are used. We assume that the software quality is a function of the number of programmers, either hired, as in closed source, or freely contributing, as in open source. Software quality is conceptualized as improvements to the software package not only in terms of identifying and correcting errors, but also enhancing the functionality, reliability, maintainability, portability, and in general, enhancing the utility of the software. The quality of the software can be operationalized based on consumer evaluations of the different features, or through measures such as the number of lines of code and the number of features etc.. 10
Description: