Dynamics of Open Source Movements



Similar documents
A Simple Model of Pricing, Markups and Market. Power Under Demand Fluctuations

Large firms and heterogeneity: the structure of trade and industry under oligopoly

c 2009 Je rey A. Miron 3. Examples: Linear Demand Curves and Monopoly

Asymmetric Information, Transaction Cost, and. Externalities in Competitive Insurance Markets *

Multiperiod Portfolio Optimization with General Transaction Costs

An important observation in supply chain management, known as the bullwhip effect,

Joint Production and Financing Decisions: Modeling and Analysis

Working paper No: 23/2011 May 2011 LSE Health. Sotiris Vandoros, Katherine Grace Carman. Demand and Pricing of Preventative Health Care

The impact of metadata implementation on webpage visibility in search engine results (Part II) q

Risk in Revenue Management and Dynamic Pricing

POISSON PROCESSES. Chapter Introduction Arrival processes

Capital, Systemic Risk, Insurance Prices and Regulation

Risk and Return. Sample chapter. e r t u i o p a s d f CHAPTER CONTENTS LEARNING OBJECTIVES. Chapter 7

Interbank Market and Central Bank Policy

On-the-Job Search, Work Effort and Hyperbolic Discounting

CFRI 3,4. Zhengwei Wang PBC School of Finance, Tsinghua University, Beijing, China and SEBA, Beijing Normal University, Beijing, China

Two-resource stochastic capacity planning employing a Bayesian methodology

Machine Learning with Operational Costs

INFERRING APP DEMAND FROM PUBLICLY AVAILABLE DATA 1

6.042/18.062J Mathematics for Computer Science December 12, 2006 Tom Leighton and Ronitt Rubinfeld. Random Walks

How To Determine Rice Discrimination

What is Adverse Selection. Economics of Information and Contracts Adverse Selection. Lemons Problem. Lemons Problem

Web Application Scalability: A Model-Based Approach

Penalty Interest Rates, Universal Default, and the Common Pool Problem of Credit Card Debt

Service Network Design with Asset Management: Formulations and Comparative Analyzes

Title: Stochastic models of resource allocation for services

Sang Hoo Bae Department of Economics Clark University 950 Main Street Worcester, MA

DAY-AHEAD ELECTRICITY PRICE FORECASTING BASED ON TIME SERIES MODELS: A COMPARISON

Monitoring Frequency of Change By Li Qin

An Introduction to Risk Parity Hossein Kazemi

Estimating the Degree of Expert s Agency Problem: The Case of Medical Malpractice Lawyers

Compensating Fund Managers for Risk-Adjusted Performance

On the predictive content of the PPI on CPI inflation: the case of Mexico

An inventory control system for spare parts at a refinery: An empirical comparison of different reorder point methods

Service Network Design with Asset Management: Formulations and Comparative Analyzes

The Online Freeze-tag Problem

Sage HRMS I Planning Guide. The HR Software Buyer s Guide and Checklist

The Economics of the Cloud: Price Competition and Congestion

Computational Finance The Martingale Measure and Pricing of Derivatives

Synopsys RURAL ELECTRICATION PLANNING SOFTWARE (LAPER) Rainer Fronius Marc Gratton Electricité de France Research and Development FRANCE

Time-Cost Trade-Offs in Resource-Constraint Project Scheduling Problems with Overlapping Modes

A Modified Measure of Covert Network Performance

The risk of using the Q heterogeneity estimator for software engineering experiments

Sage HRMS I Planning Guide. The Complete Buyer s Guide for Payroll Software

Evaluating a Web-Based Information System for Managing Master of Science Summer Projects

1 Gambler s Ruin Problem

Comparing Dissimilarity Measures for Symbolic Data Analysis

Drinking water systems are vulnerable to

BUBBLES AND CRASHES. By Dilip Abreu and Markus K. Brunnermeier 1

ENFORCING SAFETY PROPERTIES IN WEB APPLICATIONS USING PETRI NETS

Web Inv. Web Invoicing & Electronic Payments. What s Inside. Strategic Impact of AP Automation. Inefficiencies in Current State

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

A MOST PROBABLE POINT-BASED METHOD FOR RELIABILITY ANALYSIS, SENSITIVITY ANALYSIS AND DESIGN OPTIMIZATION

F inding the optimal, or value-maximizing, capital

Corporate Compliance Policy

Storage Basics Architecting the Storage Supplemental Handout

Jena Research Papers in Business and Economics

X How to Schedule a Cascade in an Arbitrary Graph

THE RELATIONSHIP BETWEEN EMPLOYEE PERFORMANCE AND THEIR EFFICIENCY EVALUATION SYSTEM IN THE YOTH AND SPORT OFFICES IN NORTH WEST OF IRAN

Electronic Commerce Research and Applications

Beyond the F Test: Effect Size Confidence Intervals and Tests of Close Fit in the Analysis of Variance and Contrast Analysis

IEEM 101: Inventory control

Characterizing and Modeling Network Traffic Variability

Managing specific risk in property portfolios

The Competitiveness Impacts of Climate Change Mitigation Policies

Re-Dispatch Approach for Congestion Relief in Deregulated Power Systems

Analysis of Effectiveness of Web based E- Learning Through Information Technology

Softmax Model as Generalization upon Logistic Discrimination Suffers from Overfitting

Complex Conjugation and Polynomial Factorization

Buffer Capacity Allocation: A method to QoS support on MPLS networks**

PSYCHOLOGICAL RESISTANCE AGAINST ATTEMPTS TO REDUCE PRIVATE CAR USE

Branch-and-Price for Service Network Design with Asset Management Constraints

Finding a Needle in a Haystack: Pinpointing Significant BGP Routing Changes in an IP Network

Transcription:

Dynamics of Oen Source Movements Susan Athey y and Glenn Ellison z January 2006 Abstract This aer considers a dynamic model of the evolution of oen source software rojects, focusing on the evolution of quality, contributing rogrammers, and users who contribute customer suort to other users. Our model has a ublic good roblem that is artially mitigated by altruism. Programmers who have used features from oen source software in the ast are motivated to ublish their own imrovements, and the anticiation of these altruistic feelings may even lead them to choose to use oen source rather than a commercial alternative that rovides higher direct value. We consider two variants of the model, one in which rogrammer altruism is derived from the instrinsic quality imrovement of the code, the other in which rogrammer altruism is related to the bene ts end users derive from using the new code. In our model, end users require customer suort to adot oen source, and this is rovided by other users who received suort themselves in the ast. We show that to avoid a zero-quality steady state, rojects require an initial critical mass of features and individuals willing to rovide customer service. We derive additional comarative statics on the dynamics of this system. Finally, we analyze cometition by commercial rms with OSS rojects, showing that for many (but not all) arameter values, far-sighted commercial rms reduce their rices in order to slow the growth of OSS rojects or even cause OSS rojects to change trajectories towards the zero-quality steady-state. We are grateful to the Toulouse Network for Information Technology for nancial suort, and we thank articiants in the 2005 Toulouse Network conference, in articular Josh Lerner and Jean Tirole, for helful comments. y Holbrook Working Professor of Economics, Deartment of Economics, Stanford University, Stanford, CA 94305. htt://www.stanford.edu/~athey/, email: athey@stanford.edu. z Professor of Economics, Deartment of Economics, Massachusetts Institute of Technology, E52-380A, 50 Memorial Drive, Cambridge, MA 02138. htt://econ-www.mit.edu/faculty/index.htm?rof_id=gellison, email: gellison@mit.edu. 1

1 Introduction Oen source software (OSS) has become a huge henomenon, and it has recently gained attention in the economics literature (e.g. Lerner and Tirole (2005b)), the management literature (e.g. Shah (2006)), and the oular and trade ress (e.g. Raymond (2001)). Although OSS has many varieties, common themes are that code is freely available, and contributions to the code are made by a di use set of mostly unaid rogrammers working as volunteers. There are some well-known success stories in OSS, including Linux, which as of late 2005 had about 30% of the market for server oerating systems, Aache, which dominates the market for internet servers, as well as PERL and PHP, which are market leaders in scriting software. Commercial rms often have comlex relationshis with OSS. Clearly, the cometitors to OSS (notably Microsoft) are imacted by OSS, and cometing with OSS roducts may be di erent than cometing with traditional rms. OSS is also attracting a lot of investment by traditional rms; for examle, IBM invested over $1 billion in oen source initiatives in 2004. Although much attention has been aid to the biggest rojects, OSS is actually a much broader henomenon. As of January, 2006, SourceForge.net claimed to host over 100,000 OSS rojects and to have over a million registered users. A number of interesting questions arise about this oulation. Some OSS rojects are long-lived, while others have a fairly short life-san. Some have grown quickly, while others stay small. The OSS rojects di er in many dimensions. Of course, there is a wide range of roducts in terms of technical comlexity, function, and scoe. Other di erences include: the size and comosition of consumer base for roducts (end-users or develoers/rogrammers), the mix of users and develoers involved in the roject, the governance structure, and articiation by and funding from for-ro t enterrises. The goals of this aer are twofold. First, we seek to understand the dynamics of OSS rojects that is, changes in the size and comosition of OSS rojects over time where the rojects are considered in isolation. Second, we wish to analyze strategic ricing by a rm that faces an OSS cometitor, when the OSS cometitor is taken to be non-strategic. The results of our analysis can be used to answer questions such as: What is the role of the founders and early articiants in an OSS roject in terms of ensuring future growth? Is an initial critical mass of develoers and end-users imortant in heling a roject grow? Can strategic ricing by a commercial rm revent OSS rojects from attaining critical mass, or otherwise slow the growth of an OSS roject? 2

Of course, the dynamics of OSS rojects will deend on the motivations of the individuals who choose whether to use the roduct, contribute to the develoment and debugging of OSS, and rovide customer suort for other users. This aer takes these motivations as a behavioral rimitive, rather than roviding microfoundations derived, for examle, on career concerns. The references we secify are consistent with much of the informal discussion of OSS (e.g. Lakhani and Wolf (2003), Shah (2004, 2006)). In articular, we assume contributors are motivated by both their own needs and by a form of recirocal altruism akin to that in Akerlof (1982) and Rabin (1993). Altruistic feelings arise when a rogrammer uses the roduct (something that is more likely when the quality is high), and it decays when the OSS fails to meets the need of a rogrammer. Without altruism, a rogrammer might develo a new feature but will not ublish it and make it available to other users. The quality of the OSS develos over time, as rogrammers join the roject and choose whether to contribute to it. Growth is then self-eretuating, as high quality otentially generates more altruism; on the other hand, continual regeneration of the software is necessary as the quality naturally and exogenously dereciates over time. In our baseline model, contributors are the only layers, and we consider how the dynamics and steady state qualities of OSS rojects vary with factors such as the imortance of altruism relative to the e ort costs of ublication and rogramming, as well as the dereciation rates of altruism and software features. This simle model yields some interesting baseline redictions. First, there is always a steady state with zero quality and no altruistic rogrammers. However, so long as the ow of oortunities to add software and develo altruism are large relative to the dereciation of altruism and features, there is also a ositive steady state. The dynamics of our simle model are somewhat di erent from what one might exect from informal discussions of oen source software as being deendent on network externalities. Starting from any initial condition with some features imlemented in the software, the system converges to this the higher steady state. So in this baseline model, initial conditions and founder behavior have little to do with the long-run success of the roject. However, the system requires both altruistic individuals and quality to grow; if a formerly commercial roduct becomes OSS, and there is no stock of altruistic rogrammers at the beginning, the quality of the roduct may fall for quite awhile until enough rogrammers join the community and gain altruism so that features are regenerated faster than they dereciate. We turn next to consider cometition between a commercial software rm and an OSS roject. In articular, we consider otimal ricing by a single cometitor to an OSS roject. 3

We assume that the dynamics of OSS rojects are determined by individual rogrammers acting indeendently as in the baseline model (rather than directed by a forward-looking, strategic leader). The otimal strategy of the commercial rm is given by the solution to a dynamic rogramming roblem, which makes our model of cometing with OSS somewhat di erent from that standard analyses of strategic interactions between cometing rms. As long as the imortance of altruism is not above a critical level, the commercial rm strategically rices below its static best resonse in an e ort to slow the growth of the OSS roject. However, some counter-intuitive results can emerge when altruism is very imortant and the altruistic rogrammer oulation is large. In articular, the commercial rm may rice above the static otimum to seed the inevitable growth in oen-source quality. Clearly, the simle model misses some imortant features of OSS, such as the user base, and its redictions are in con ict with observations about the imortance of initial conditions in getting an OSS roject o the ground. Thus motivated, our next ste is to extend the model to account for customer service. We introduce end users who do not contribute to the code, but who need customer suort in order to use the code. We assume that these users are altruistic with some robability, so that they rovide hel if they received it themselves. We then extend the model further by allowing contributors to care about the number of users who will use the code in the near future. Customer suort issues then become an imortant constraint on the growth of an OSS roject, and it may be imortant that an initial set of committed rogrammers rovide customer suort early on until a large enough set of altruistic users is established to sustain customer suort in the future. Otherwise, the roject may collase, as the lack of users inhibits the motivation of rogrammers to rovide features, and the lack of features leads to a slow arrival rate of new customers who might rovide customer service to the next generation of users. Since initial growth is very imortant in the resence of customer suort issues, a commercial cometitor to an OSS roject may have even greater incentives to rice low in the early stages of an OSS roject s lifecycle, in order to erode the roject s user base and revent it from reaching a critical growth level. We conclude by describing several directions for future research. A number of rior authors have written formal economic models of oen source software. Lerner and Tirole (2002) model the incentives of oen source contributors. They consider immediate and delayed bene ts of contributing. Immediate bene ts include monetary comensation (for contributors aid by other emloyers, or rarely, those emloyed 4

by the OSS roject), own-use bene ts, and the oortunity cost of time; long-term bene- ts include ego grati cation from eer recognition and the more standard career concerns, since contributors may signal their ability to a wide community through OSS articiation. Lerner and Tirole (2005a) consider the imlications of career concern issues on the design of OSS licenses, and how the choice of licenses varies with characteristics of the roject. They nd suggestive evidence in favor of their theory using data from SourceForge.net. Johnson (2004) comares the incentives for reorting errors within OSS and commercial roducts, hyothesizing that commercial rojects create incentives for rogrammers to collude and suress information about errors, since reorting errors may damage the reutation and career of the resonsible rogrammer. He argues that the large number of individuals who can see and work with OSS code makes that tye of collusion di cult to sustain in OSS rojects. Kuan (2001) considers a model of the OSS roduction function, where users contribute to the ublic good of the quality of the roduct. There are two tyes of users. Programmers contribute code u to the oint that marginal e ort in contributing equals the marginal cost of imroving code (there are no costs of ublishing after code is created), while users use an analogous calculation to determine their e ort at reorting bugs. She rovides emirical evidence comaring bugs for OSS and commercial roducts. Johnson (2003) also analyzes OSS as a ublic good. The aer argues that a number of stylized facts about OSS can be understood by analyzing OSS through this lens, including things such as underrovision of documentation. More broadly, a wider user/develoer base increases the quality of a roject. Like Kuan (2001) and Johnson (2003), our model incororates the ublic good asect of contributions to OSS. Programmers do not necessarily internalize the full bene ts of ublishing and sharing their code when they choose whether to write code, rather they consider the rivate bene ts from using the code. However, we include altruism as a motive for ublishing code, and we assume that generally, altruism is su cient to outweigh ublication costs, and may be large enough to induce some code to be written (in anticiation of future ublication). In addition, our extended model of user-rovided customer suort also has a ublic goods roblem, and again altruism serves as a artial but not full counterbalance to that. Gaudeul (2004) takes a static or short-run aroach to analyzing cometition between OSS rojects and commercial rms, focusing on the di erent tyes of features that may be develoed by the two tyes of organizations in equilibrium. In OSS rojects, a lack of 5

coordination leads to feature dulication or omission, and rogrammers do not develo a user-friendly interface. In contrast, the commercial rm may not nd it worthwhile to ay rogrammers to imlement all features. In equilibrium, the roducts are di erentiated, and the OSS attracts customers who are either low-income or low-value, or else sohisticated develoers who do not need a user-friendly interface. Casadesus-Masanell and Ghemawat (forthcoming) resent the only aer we are aware of that analyzes dynamic cometition between OSS and commercial software. Their model takes as given that an OSS roduct exists and can commit to a rice of zero for the roduct. Consumer demand for roducts is characterized by network externalities. The aer shows that the commercial roduct can avoid being ushed out of the market by forward-looking ricing olicies, whereby the commercial rm always rices low enough to ensure itself a large enough installed base to ensure continued existence. Our aroach is comlementary to theirs, in that we allow for much richer dynamics in the OSS roduct, and we model the forces behind these dynamics. We do not, however, incororate exogenous network externalities in the roduct market instead, the size of the installed base a ects the quality and viability of the OSS roduct through the creation, imrovement and maintenance of the roduct itself. There are no network externalities for the commercial roduct in our model. 2 A Baseline Model This section introduces our baseline model, where we focus only on software contributors (henceforth rogrammers ). Consider a oulation of software rogrammers of unit mass. At Poisson random times each rogrammer is confronted a need drawn from a set of needs N = [0; 1]. Assume that the arrival times and the needs themselves are indeendent across rogrammers. Let be the arameter of the need arrival rocess. At each time t the oen source software ackage meets some subset S t N of the needs. Write q t for the Lebesgue measure of S t. We ll refer to q t as the quality of the software. The quality is a key outcome variable for the OSS roject, and so we will be interested in how it evolves over time. In our baseline model, quality does not directly a ect the set of rogrammers who consider using the roduct, although (as we see below) it indirectly a ects the rovision of new code through the encouragement of altruistic behavior. Software rogrammers maximize lifetime discounted utility. Assume that an increment to utility is received whenever a need arises. The increment deends on the action taken by the rogrammer. Our assumtions about these increments are intended to cature 6

recirocal altruism. Seci cally, assume that the increment to rogrammer i s utility when he faces need n it at t is: B it if the need is met using the oen source software (ossible if n it 2 S t ); B it E if the need is met by rogramming; if the need is met by rogramming and the rogrammer then adds B it E K + a it the code to the oen source roject (ossible if n it 62 S t ); if the need is instead met with an outside good. B 0 The bene t B it of meeting the need with oen source software is assumed to be a random variable revealed to the rogrammer when he must decide on an action. rogramming and sharing costs, E and K are assumed to be strictly ositive. The altruism arameter a it 2 f0; ag is stochastic and varies across rogrammers and over time. Assume that Probfa it = aja it The dt = 0g = if rogrammer i meets his need using oen source software at t. In intervals in which rogrammer i does not meet a need by oen source altruism decays at a Posson random time, i.e. it follows a continuous time Markov rocess with Probfa it+dt = 0ja it = ag = dt and Probfa it+dt = aja it = 0g = 0. The set of needs that can be met with the oen source software grows when agents share code they have written. Assume that each feature of the software exogenously disaears at Poisson rate. interacting hardware and software. The motivation is that features become obsolete due to changes in We assume that agents can only observe aggregate behavior when they make their decisions. They understand the rimitive arameters of the model, and they observe S t (and thus q t ); as well as the realizations of random variables corresonding to their own outcomes. Whenever they are called on to take an action they myoically maximize the ayo their ayo from the current action. 1 3 Develoer Behavior and Community Dynamics In this section we analyze the model described in Section 2. 1 Given that agents only observe aggregates when making their decision the assumtion of myoic lay is similar to assuming that layers lay a sequential equilibrium of the dynamic game. The one di erence is that a atient rogrammer would in some situations use oen source software even though this is subotimal in the short run, because he knows that will change his future utility function and allow him to receive the bene ts that altruists receive when they behave altruistically. We do not think that this sohisticated behavior seems realistic. 7

3.1 Programmer Behavior We begin with some fairly straightforward observations about rogrammer behavior in the baseline model. We organize the discussion by listing the observations as roositions. Proosition 1 If a < K then no features are ever added to the oen source software. Software quality decays at an exonential rate, q t = q 0 e t. Proosition 2 Programmers use oen source if it can meet their needs and B it > B 0. This is an immediate consequence of the assumtions. Meeting the need by rogramming is dominated because E > 0. The rogram-and-contribute otion is only available if the feature is not already in the oen source ackage. Proosition 3 Suose that an rogrammer s need cannot be met by the oen source software, that is, n it 62 S t. Then (a) If a < K then the rogrammer develos the feature if B it > B 0 + E. (b) If a > K then the rogrammer develos the feature and contributes it to the code base if B it > B 0 + E (a K). A few comments about this roosition are in order. First, there is clearly a ublic goods roblem. In the absence of altruism, rogrammers will develo features accounting only for their own rivate bene ts, and they will never share their code after develoing it (we have left out direct rivate bene ts to ublication, such as gaining future suort and imrovements for desired features, for simlicity). Second, altruism mitigates the ublic goods roblem, and in fact there may be too much or too little develoment relative to the social otimum, deending on the magnitude of a. Altruism leads to strictly more features being develoed if a > K: Programmers anticiate the utility they will gain from sharing the code (net of ublication costs), and this o sets somewhat the rivate cost of e ort. Indeed, agents may develo features where B it < B 0 (no rivate bene ts) if altruism is imortant enough. To simlify the discussion in the remainder of the aer, we make the following assumtion: Assumtion 1 Assume a > K. It then follows immediately that: 8

Corollary 1 Under Assumtion 1 the equilibrium strategies are 8 use oen source if n it 2 S t and B it > B 0 ; >< rogram and contribute if n it 62 S t ; a it = a; and B it > B 0 + E (a K); s i (n it ; a it ) = rogram if n it 62 S t ; a it = 0; and B it > B 0 + E; use outside good if n >: it 62 S t and B it < B 0 + E minf0; a Kg or n it 2 S t and B it < B 0 : 3.2 Dynamics The status of the software and its future evolution is described by two state variables: the quality q t of the software and the mass b t of software rogrammers with a it = a, i.e. the fraction who are currently altruistic. We make the standard continuum-of-agents assumtion that the law of large numbers holds exactly. We let b denote the ow rate at which an rogrammer is confronted with a need for which an oen source solution would dominate the outside otion: b ProbfB it > B 0 g. Similarly, we let q denote the ow rate at which a rogrammer is confronted with a need that he would be willing to meet by rogramming and then contribute to the code if he were altruistic: q ProbfB it > B 0 + E (a K)g. Proosition 4 The dynamics of the system are given by _q t = q (1 q t )b t q t _b t = b (1 b t )q t b t To gain some intuition for these dynamics, it is useful to begin by deriving the _ b = 0 and _q = 0 curves. We begin by describing the _q = 0 curve. It is de ned only for some values of q because when q > q =( + q ) we have _q < 0 for any b 2 (0; 1). For q 2 [0; q =( + q )] we let b _q (q) denote the value of b at which _q = 0, that is, the function de ned imlicitly by so that _q(q; b _q (q)) = 0; b _q (q) = q q (1 q) : Thus, the function is roortional to the ratio of the rate of decay of altruism and the arrival rate of rogrammer needs (= q ) as well as the ratio of the fraction of features currently incororated to the fraction of features that need to be written (q=(1 imlies some roerties of b _q () that will be useful for deriving steady states. 9 q)): This

Proosition 5 The function b _q (); which describes the curve along which quality is constant, is convex and strictly increasing on (0; q =( + q )). It satis es b _q (0) = 0, b _q ( q =( + q )) = 1, and b 0 _q (q) = = q(1 q) 2. In words, b _q () is increasing if for higher values of quality, a higher mass of software rogrammers must currently be altruistic in order for the quality of the software to remain constant over time. This follows as a result of our assumtions that quality naturally dereciates, and that new code is only ublished if a rogrammer develos the code and feels enough altruism to outweigh the ublication costs. But if a feature currently exists, it won t be develoed in the current time eriod, and so it won t be ublished. Thus, to avoid dereciation of quality, a high fraction of the rogrammers who develo the few remaining features must be altruistic and ublish their code. Note that we could consider other models of the otential for quality imrovements that do not have this crowding henomenon; for examle, in some settings, it might be that each new feature makes it ossible for many more features to build on it and exand the aeal of the roduct in new directions. The function b _b () is convex if the rate of change in the stock of altruism necessary to comensate for an increase in quality in order to hold quality constant is higher for higher levels of quality. This again follows directly from our assumtions about how otential quality imrovements relate to the current set of features of the roduct. Now we turn to consider how the set of altruistic rogrammers must change with the quality of the roduct in order to kee the fraction of altruistic rogrammers constant. Observe that b _ = 0 if and only if b q = ( b q + )b: For a given q, let b _b (q) denote the value of b at which b _ = 0, that is, the function de ned imlicitly by _b(q; b _b (q)) = 0: Then, b _b (q) = bq b q + : Proosition 6 The function b _b () is concave and strictly increasing on (0; 1). It satis es b _b (0) = 0, b _b (1) 2 (0; 1), and b 0 _ b (q) = b =( b q + ) 2. 10

In words, b _q () is increasing if for higher values of quality, a higher fraction of software rogrammers must currently be altruistic in order for the set of altruistic rogrammers to remain constant over time. The function is concave if this e ect is less ronouced at higher levels of quality. Note that the system has _ b > 0 when b < b _b (q) and _ b < 0 when b > b _b (q), so one can think of b as evolving toward this curve. The system is in steady state where b _q () and b _b () intersect. Note that the two curves always intersect at b = q = 0. Hence, (0; 0) is always a steady state of the system. The full behavior of the system follows fairly simly from the roerties noted in the two roositions. Essentially, there are only two ossibilities as ictured in Figure 1 below, which grahs the b _b and b _q curves in q-b sace. The b _b curve is concave and the b _q is convex. If the b _q curve is steeer at the origin, the two curves will have no intersections other than at (0; 0), as in the anel on the left. If the b _b curve is steeer at the origin, then the fact that the b _b curve intersects the right side of the square (i.e. b _b (1) 2 (0; 1)) and the b _q curve intersects the to side of the square imlies that there is an unique interior intersection. The right anel illustrates such a system. 6? -? q b _b = 0 _q = 0 s 6? -? - 6 s s q b _b = 0 _q = 0 Figure 1: Model Dynamics: the left anel has = 0:5 and b = q = = = 1. The right anel has = b = q = 1 and = = 0:5. Evaluating the derivatives of the two curves at the origin we have. b 0 _ b (0) = b b 0 _q(0) = q Proosition 7 If b q < then the only steady-state of the system is q = b = 0. If b q > then the model also has a second steady-state with q and b ositive. 11

The condition that b q > has a very straightforward interretation: the oortunities to add software and feelings of altruism occur su ciently often relative to the seed at which altruism and features dereciate. Note that the dereciation of altruism and the dereciation of features enter symmetrically. Solving for the ositive steady state state we nd: Proosition 8 If b q > then the nonzero steady state of the model is q b q = b q + b b = b q b q + q From here, we see that the steady-size of the roject (and of the altuistic community) is increasing in b q, the ga between oorunities to add software and develo altruism relative to the dereciation of features and altruism. We can also comare the growth rate of quality to the growth rate of altruistic rogrammers, nding that it deends on the decay rates. In some extreme cases, we get clear answers: when the decay rate of altruism is low ( 0) we that the steady state fraction of altruistic rogrammers is 1 (b 1), while when the decay rate of features is close to zero ( 0); we get a steady state quality of 1 (q 1). Simle insection of the hase diagram for the system leads to the following conclusions. Proosition 9 If b q < then the steady state at (0; 0) is globally stable. If b q > then the system converges to the (q ; b ) steady-state from every initial condition other than (q 0 ; b 0 ) = (0; 0). This result imlies that the dynamics of the system are deterministic and do not have history-deendence. Any roject that gets o the ground with a few features or committed (altruistic) rogrammers will eventually reach a steady state that is redetermined given arameters. It can also be shown that rojects tend to grow with quality and roortion of altruistic rogrammers roughly roortional to the steady state values all along the way. Finally, we observe that the system can exhibit some nonmonotone behavior if we start from a skewed initial condition. For examle, if some formerly commercial software is made ublic and thereby starts with q large and b small, then q may dro for a long time and become quite low before b catches u and allows quality to increase back toward the steady-state level. 12

4 Cometing with Oen Source An imortant question for ublic and business olicy concerns how cometition between an OSS roduct and a commercial roduct di ers from cometition between two commercial roducts, or from monooly ricing. Consider a single commercial software roduct cometing with a single OSS roject. We can incororate this into the model of Section 2 by assuming that the outside otion that rovides utility B 0 is a choice between two goods: the commercial software that rovides utility v, where v is the customer value of the commercial software and is its rice; and ignoring the need, which rovides utility 0. For simlicity, we maintain the assumtion that the commercial software can meet all needs and that all consumers have the same value for the commercial software. Our model abstracts from direct network e ects of the form analyzed by Casadesus- Masanell and Ghemawat (forthcoming), described in the introduction. The only network e ects in our model come through the rovision of features by altruistic rogrammers, and how that deends on the ast actions of other rogrammers. If v < ; the commercial rm gets no demand. For v > ; the commercial rm s demand comes from: 1. Programmers whose needs could be met by oen source but have B it v ; 2. Programmers whose needs cannot be met by oen source, who are not altruistic, and who have B it E v ; and 3. Programmers whose needs cannot be met by oen source, who are altruistic, and who have B it E + (a K) v. Suose that B it has CDF G. Assume that the commercial has zero costs. Then, its ow ro t function as a function of the quality of the OSS, the set of altruistic rogrammers in the OSS, and the rice of the commercial roduct (assuming v < )is(; q; b) = (qg(v ) + (1 q)(1 b)g(v + E) + (1 q)bg(v + E (a K))) : A basic observation on the form of this ro t function is: Proosition 10 Flow ro ts are decreasing in the fraction b of rogrammers who are altruistic toward the oen source roject. 13

Flow ro ts are decreasing in the quality q of the oen source roject if altruistic rogrammers are not too altruistic a K E, but otherwise will not be monotonically decreasing in q. The reason why ro ts can be increasing in q is that rogrammers do not get the altruism bene t if they add a feature to the oen source roject that is already there. Hence, a ackage lacking a feature can be more attractive than a ackage with the feature. When b is large, this e ect dominates. 4.1 Static ro t maximization Consider rst the static ro t maximization roblem: max :v (qg(v ) + (1 q)(1 b)g(v + E) + (1 q)bg(v + E (a K))) : (1) Note that it is of the form 0 3X max @ d i G(^v i 1 ) A ; (2) j=1 with d 1 + d 2 + d 3 = 1, where d i is the fraction of total rm consumers coming from i 2 f1; 2; 3g; corresonding to the three grous of consumers described above, and ^v i is the net bene t to the consumer of tye i from using the commercial roduct rather than the OSS at zero rice. The rst-order condition for such a roblem is X d j G(^v j ) X d j g(^v j ) = 0; j which gives P j = d jg(^v j ) P j d jg(^v j ) = Q() Pj d jg(^v j ) : One case in which this exression takes a very simle form is if the distribution of B it is uniform on [0; v] for v > v + E. In this case, the solution reduces to = X j d j ^v j =2; yielding (q; b) = 1 (v + (1 q)e (1 q)b(a K)) : 2 14

The maximum = (v + E)=2 occurs when q = b = 0. It has = v=2 indeendent of b whenever q = 1. The rice when q = 0 and b = 1 is (v E (a K))=2. Note that if E is large enough, these calculations could yield > v which cannot be otimal; in such cases the rm chooses = v: Monooly ricing in the absence of an OSS cometitor is very simle in this examle: the rm charges = v: Unsurrisingly, the resence of a cometitor reduces the otimal rice. For the uniform case, we see that how the static otimum changes with the quality of the OSS deends on arameters: @ @q (q; b) = b(a K) E: If rogramming e ort is small relative to altruism bene ts (weighted by the number of altruistic rogrammers), the commercial rm actually increases its rice in resonse to a higher quality cometitor. Otherwise (and always when a K < E), we obtain the more intuitive result that a higher quality OSS roduct leads to a lower best resonse rice by the commercial rm. It is also straightforward to see that the more altruistic rogrammers there are, the lower the otimal rice of the commercial roduct. 4.2 Dynamic ro t maximization The dynamic ro t-maximization roblem for the rm is subject to Z 1 max ((q t ; b t ); q t ; b t )e rt dt (3) (q;b) t=0 _q = (1 q)b (1 G(v + E (a s))) q _b = q(1 b) (1 G(v )) b; where the latter two equations are the laws of motion for the OSS quality and the number of altruistic rogrammers, given their choices between OSS and the commercial roduct. Note that the rogrammers are not forward-looking in this model, but rather make myoic choices based on the ow bene ts of rogramming, ublishing, or using the commercial roduct. The dynamic roblem is retty straightforward when the altruism arameter is not too large: a K < E. In this case, ow ro ts are decreasing in both q and b. Lowering 15

decreases both _q and _ b. This lus the montonicity of the (q; b) system imlies that the rm will always choose rices that are below the static ro t-maximizing levels. Note that d _q d and d_ b d are both zero at (q; b) = (0; 0) and at (q; b) = (1; 1). This may imly that the dearture from static ro t maximization goes to zero at both of these oints. If it does, the system should continue to have an interior steady state under dynamic ro t maximization when it has an interior steady state under static ro t maximization (because the (q; b) dynamics will still be uward in a neighborhood of (0; 0)). The behavior of the system when a K > E is less clear. In this case ro ts are increasing in q when b is large (recall the discussion from the last subsection). Choosing a higher increases _q (although it also increases _ b). It is therefore ossible that rices will be distorted uward relative to the static solution. For examle, if b 0 = 1 and = 0 then b t = 1 for all t and so ro ts are always increasing in q. This should lead to an uward distortion in. What can we conclude about cometition with an OSS roduct in the baseline model? There are two e ects. First, from a static ersective, cometition reduces rices, but rices may be nonmonotone in the quality of the OSS. From a dynamic ersective, if the altruism arameter is not too large, a forward-looking commercial rm further reduces rice in order to slow the imrovement of the OSS roduct. The size of this distortion varies with the quality of the OSS roduct and the size of the altruistic rogrammer community. The distortions, however, should not a ect the qualitative result that the OSS quality will evolve toward a ositive-quality steady state from any initial condition with nonzero quality. If the altruism arameter is very large, the intuitive result about dynamic considerations leading the commercial rm to lower its rices may not hold everywhere, and there may be states of the system (when there are many altruistic rogrammers, for examle) that the commercial rm rices higher than in a static environment in order to induce consumers to switch away from its roduct in the short run. 5 Models with Customer Suort Our baseline model neglected a feature of OSS that has received a lot of attention in the descritive literature about OSS (Shah (2004, 2006)). In articular, in many OSS rojects only a small fraction of the community actually contributes to the code base. More eole seem to hel out by roviding suort service to new users, such as heling eole learn to install and use the software by answering questions osted to bulletin boards. Providing this suort is robably quite imortant for many roducts. Shah (2004, 2006) notes that 16

users roviding this casual kind of suort aear to have a shorter term eriod of active involvement with the roject. That is, many consumers adot the software, receive hel from others, and then roceed to rovide hel to others for a eriod of time. In contrast, exerienced rogrammers do not send time answering basic questions for newbies. This tye of henomenon can have imortant imlications for the dynamics of OSS, since it suggests that a regular ow of new users is imortant for maintaining customer service. The behavior of users can be understood through the lens of altruism that dereciates over time, and erhas also due to the decline in intellectual satisfaction from answering similar questions over a long eriod of time. Thus, we consider a model like that of the revious section but with two oulations: a unit mass of software rogrammers and a mass m of users who otentially contribute by roviding service rather than new code. Suose that when a user encounters a need he or she cannot meet the need by oen source unless the code has that feature and he or she gets hel from another user. To kee the seci cation similar to the above model (but slightly simler) we assume that users needs that would be met with oen source (if this is ossible) arise according to a Poisson rocess with arameter u, that users who meet their needs using oen source become altruistic with robability u ; and that their altruism decays according to a Poisson rocess with arameter u. Assume that the robability of being able to use the code is q t f(mc t ), where c t is the fraction of users who are altruistic at t and f is some concave function. 2 There are several interesting otions for extending our seci cation of software rogrammer references. We roceed to analyze a coule of these. 5.1 Code-base altruism One way to extend the model is to assume that software rogrammers do not need service, and that they receive altruism bene ts directly from increasing the code base (as oosed to indirectly through roviding bene ts to other users). This might corresond more to feelings of intellectual satisfaction or scienti c achievement from contributing to a highquality roduct. In this case, the q and b dynamics of the model are identical to those in the benchmark model, since users do not have an imact on rogrammers objectives. The fraction of users who are altruistic then evolves according to _c t = u u (1 c t )q t f(mc t ) u c t 2 One might want to secify this f(c t) to re ect that each user will only rovide a xed amount of customer service that is indeendent of the size of the user oulation. 17

From our analysis of the baseline model, we know that (q t ; b t )! (q ; b ) from any initial condition other than (0; 0) rovided that b q > 0. When the latter condition holds, the dynamics of c for large t are then aroximately _c t = u u (1 c t )q f(mc t ) u c t = u u (q f(mc t ) u c t ) q f(mc t )c t : Proosition 11 If u u q mf 0 (0) < u then in the limit use of the software goes to zero. If u u q mf 0 (0) > u then use will not converge to zero if c 0 > 0. In the secial case where f(x) = x=m, the fraction of users who are altruistic converges to c = u u q u u u q. This result shows that service issues can lead an OSS roject to be something that is tailored for rogrammers, but does not meet the needs of ordinary users. Industry observers have commented that OSS rojects tend to be biased in this direction, and that commercial roducts tend to cater more to less sohisticated users. The result highlights the imortant role layed by the sloe of the service function f at 0 : it is imortant that the rst few users are able to e ectively suort other users in order to revent the collase of service. Clearly, if f 0 (0) is large (e.g. if one user is able to answer all questions for incoming users), collase of the user base is not a concern. This suggests that when trying to get an OSS roject o the ground in terms of user adotion, it may make a big di erence if a few committed articiants in an OSS roject rovide a lot of initial suort. Even when collase of the user base is not a concern, when u is large (so that user altruism dereciates quickly), service issues can greatly limit the use of the roduct. Again, this result is consistent with observations by industry observers that suort is a critical issue for OSS rojects. However, by assumtion, low suort does not limit the develoment of the roject, just the rate of user adotion. We consider in the next section a erhas more realistic variant of the model, where rogrammer motivation deends on the size of the user base. 5.2 User-motivated altruism Surveys of OSS articiants (e.g. Shah (2004, 2006)) indicate that rogrammers want to have an imact with their contributions, much as academics do. They enjoy being art of imortant rojects, including rojects that have a large user base. In articular, they are motivated by the imact of their contributions to that endeavor, and rogrammers tend to monitor discussions of features they have develoed. This suggests that a model 18

should incororate a relationshi between altruism and the extent to which code is helful to casual users. The ow rate at which any feature will meet users s needs is m u f(mc t ). If we assume that rogrammer s have myoic altruism in the sense that the altruism bene t deends on the ow rate of use of the feature at the time of develoment (rather than some in nite horizon discounted measure of total use), then the altruism bene t from contributing a feature at t is am u f(mc t ). 3 A simle way to incororate the idea that rogrammers are more likely to develo a feature if the feature will be used more is to assume that B it is always greater than B 0 + E and that the ublication cost K is a random variable distributed uniformly on [0; a]. 4 This imlies that the robability that an rogrammer decides to contribute a feature to the code base is m u f(mc t ). 5 The evolution of q t and b t is no longer searable from the evolution of c t. Proosition 12 The dynamics of the system are given by _q t = q (1 q t )b t m u f(mc t ) q t _b t = b (1 b t )q t b t _c t = u u (1 c t )q t f(mc t ) u c t As above, it is always a steady state to have no activity. Proosition 13 The system always has (0; 0; 0) as a steady state. To analyze the stability of the zero activity steady state we linearize the dynamics in a neighborhood of (0; 0; 0). aroximation to the dynamics is _q t q t _b t b q t b t _c t u c t Assuming that f has a nite derivative at 0 the rst order If we write this in matrix form as at ( _q; _ b; _c) = A(q; b; c), then the A matrix is negative de nite. This imlies 3 This also assumes as we ve done imlicitly throughout that the fact that others might invent the feature anyway in the future also doesn t a ect altruism bene ts. 4 The assumtion on B it imlies that the active margin is between develoing versus develoing and contributing. The exressions would be more comlicated if lower altruism bene ts led engineers to switch to the outside good. The assumtion also imlies that b = q. 5 This assumes that the exression for the altruism bene t is always less than one. 19

Proosition 14 The steady state at (0; 0; 0) is locally asymtotically stable. Note that the behavior of this model is qualitatively di erent from the model with codebased altruism. To have any chance of succeeding, an oen-source roject will need to be ushed to a su cient level of develoment by some mechanism other than the altruism-fed growth of our model. This suggests an imortant role for highly motivated and altruistic founding members of an OSS roject, and in articular, these members need to both develo software and rovide user suort. Proosition 15 For some arameters, the steady state at (0; 0; 0) will be a global attractor. For other arameters the system will also have a steady state with q, b, and c ositive. To see that the zero-quality steady state can be unique, note that _q and b _ in this model are always less than they were in the baseline model. In that model, (q t ; b t ) always converged to zero if b q <. Hence, with that arameter restriction q and b will also converge to zero in this model. When this haens, c must also converge to zero. To see that there can also be steady states in which the oen source software is successful note that for c = 0 and c 0 = 1 we have c t = 1 for all t. The system is then just like the revious system with the substitutions b 0 = b, q 0 q m u f(m) and 0. If we the rimitives of the model are such that 00 b 0 q >, the system will have a steady state with q and b ositive. Note that the model of this section has more nuanced redictions about what makes for a successful launch of an OSS roject. For examle, how high should (q; b; c) be in order to get o the ground. The examle given above indicates that quality and rogrammer altruism can be quite low if the customer base is high and altruism among customers does not decay too much. We can also consider how a commercial roduct should comete against an OSS roject whose dynamics follow the user-motivated altruism model. There is otentially a much larger scoe for strategic ricing behavior by a far-sighted commercial rm. In articular, the commercial rm may be able to rice low enough to ush the OSS into the basin of attraction of the zero-quality steady state. The commercial rm can consider oaching ordinary users and roviding high levels of suort for those users, thus diminishing the motivation of the develoers of the OSS roject. If the OSS roject has a mix of rogrammers motivated by users and those motivated by the quality of the code, the commercial 20

rm can ush the OSS towards a rogrammer-oriented niche, thus rotecting its market with ordinary users. 6 Conclusion In this aer, we have develoed several simle models of the dynamics of OSS. We have also exlored the imlications of these models for (i) successful initial launches of OSS rojects and (ii) cometing with OSS rojects. In our base model OSS will always has a steady-state with zero activity even if it also has a steady state with ositive activity. Our model, however, is not like a standard network externality model the system converges to the higher steady state given any initial boost no matter how small. We also found that, although the dynamics of OSS rojects tyically vary with arameters and state variables in intuitive ways, it is ossible that increasing the quality of an OSS can have erverse e ects. We can also observe nonmonotone dynamics with quality or the oulation of committed rogrammers initially decreasing and then later increasing toward the steady state. The fact that our base model does not have multile stable equilibria may be a useful insight into OSS movements, but we think of it more as ointing out that one must incororate other elements into a model to exlain why the way in which an OSS roduct is launched could matter in the long run. Our analysis of user suort is one such extension. It illustrates that it may be di cult to get an OSS o the ground without a core grou of founders committed to roviding customer suort. If rogrammers are motivated by the size of the user base, such considerations may make it imossible to get an OSS roject started, at least for some arameter values. Commercial rms cometing with OSS rojects can bene t from strategic foresight. Generally, a far-sighted commercial rm should rice lower than a short-sighted one, because keeing rice low slows the quality growth of the OSS. Yet, following the intuition given above, this many not hold at very high levels of quality. When user suort is an imortant henomenon, and when user altruism dereciates over time, strategic ricing by a commercial rm can eliminate the user base of an OSS roject. If a rimary motivation for rogrammers is the size of the user base who will use additional features, strategic ricing can otentially ush an OSS into a zero-quality steady state. Many avenues remain to be exlored. Our models are very stylized. An imortant feature absent from our model is forward-looking behavior by rogrammers and users. Although robably some fraction of the real-world oulations of these agents would satisfy 21

an assumtion of myoic behavior to a rst aroximation, we have eliminated any role for exectations about the future growth of an OSS roject. Industry observers have discussed the FUD tactic for cometing with OSS: Fear, Uncertainty, and Doubt. When adotion of a software roduct is costly and there are switching costs, customers will naturally consider whether a roduct will be available and suorted in the future. If a commercial roduct can a ect these exectations, either through a reutation for aggressive ricing or through other means, we would also exect that the dynamics of OSS will be a ected. Programmers may also consider future bene ts of their contributions, and they may be more motivated to contribute to a roject they exct to succeed in the future. Another avenue for further research concerns the governance structure of OSS rojects, and how that interacts with incentives for altruism. Shah (2004, 2006) rovides suggestive evidence about the imact of alternative governance structures, and it should be ossible to extend our model in that direction. 22

References [1] Akerlof, George A. (1982): Labor Contracts as Partial Gift Exchange, Quarterly Journal of Economics, 97 (4), 543-569. [2] Casadesus-Masanell, Ramon and Pankaj Ghemawat (forthcoming), Dynamic Mixed Duooly: A Model Motivated by Linux vs. Windows. Management Science. [3] Johnson, Justin (2002): Oen Source Software: Private Provision of a Public Good, Journal of Economics and Management Strategy, 11 (4), 637-662. [4] Johnson, Justin (2004): Collaboration, Peer Review and Oen Source Software, Mimeo, Cornell. [5] Lakhani, Karim and Robert G. Wolf (2003): Why Hackers Do What They Do: Understanding Motivation and E ort in Free/Oen Shource Software Projects, MIT Sloan Working Paer No. 4425-03. [6] Lerner, Joshua and Tirole, Jean (2002): Some Simle Economics of Oen Source, Journal of Industrial Economics, 50 (2), 197-234. [7] Lerner, Joshua and Tirole, Jean (2005a): The Scoe of Oen Source Licensing, Journal of Law, Economics, and Organizations, 21. [8] Lerner, Joshua and Tirole, Jean (2005b): The Economics of Technology Sharing: Oen Source and Beyond, Journal of Economic Persectives 19 (2), 99-120. [9] Rabin, Matthew (1993): Incororating Fairness into Game Theory and Economics, American Economic Review, 83 (5), 1281-1302. [10] Raymond, Eric S. (2001): The Cathedral and the Bazaar, O Reilly. [11] Shah, Sonali (2004): Understanding the Nature of Particiation & Coordination in Oen and Gated Source Software Develoment Communities. Proceedings of the Sixty-third Annual Meeting of the Academy of Management (CD), ISSN 1543-8643. [12] Shah, Sonali (2006): Motivation, Governance, and the Viability of Hybrid Forms in Oen Source Software Develoment. Management Science. [13] Tirole, Jean (1988): The Theory of Industrial Organization. Cambridge MA: MIT Press. 23