Upload
juergen-bitzer
View
213
Download
0
Embed Size (px)
Citation preview
INFORMATION
www.elsevier.com/locate/iep
Information Economics and Policy 17 (2005) 389–406
ECONOMICSAND POLICY
Bug-fixing and code-writing:The private provision of open source software
Jurgen Bitzer a,*, Philipp J.H. Schroder b
a Department of Economics and Institute for East European Studies, Free University Berlin,
Garystr. 55, D-14195 Berlin, Germanyb Aarhus School of Business, Denmark
Available online 16 February 2005
Abstract
Open source software (OSS) is a public good. A self-interested individual would consider
providing OSS if the benefits to be gained from it justify the cost of programming. Neverthe-
less, each agent is tempted to free-ride and wait for others to develop the software instead. We
model this problem as a war of attrition with complete information, job signaling, repeated
contribution to the public good and uncertainty in programming. The resulting game does
not feature any delay; software will be provided swiftly, by young, low-cost individuals who
gain from signaling their programming skills. The startup (and collapse) of an OSS project dis-
plays bandwagon dynamics.
� 2005 Elsevier B.V. All rights reserved.
JEL classification: H41; L86; L31
Keywords: Open source software; War of attrition; Public goods
0167-6245/$ - see front matter � 2005 Elsevier B.V. All rights reserved.
doi:10.1016/j.infoecopol.2005.01.001
* Corresponding author. Tel.: +49 30 838 53594; fax.: +49 30 838 52072.
E-mail address: [email protected] (J. Bitzer).
390 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
1. Introduction
Open source software (OSS) is a public good made available at no cost by volun-
teer programmers.1 Contrary to what one might expect, the software they produce is
by no means marginal. In fact, a number of OSS projects even capture market sharesfrom their commercial competitors and have a reputation for innovation and reli-
ability. Popular examples are Linux, which is as of 2004 estimated to run on some
18 million computers (Linux Counter, 2004), and the Apache Web Server, which
is installed on 67% (i.e., 34 million units) of reachable web servers worldwide (Net-
craft, 2004). These achievements are even more astounding if one takes into account
the fact that millions of lines of code have been written and thousands of software
bugs have been fixed for each large OSS project, all by individual volunteer program-
mers. This army of programmers only associate with each other through informalcommunities such as Internet newsgroups, and all share a common interest in
OSS. They donate their time and effort free of charge, although they are unable to
choose or limit who will reap the benefits of their labor.
This phenomenon puzzles economists and has thus given rise to a rich and diverse
body of literature (see e.g., Rossi, 2004; for a recent literature survey). The history of
OSS is, for example, documented in Stallmann (1999), Rosenberg (2000), Feller and
Fitzgerald (2002), and Hars and Ou (2002). The existing literature highlights a vari-
ety of motives for OSS developers to engage in voluntary programming, rangingfrom a need for the software solution (user-developers) to intrinsic motives such
as fun and play. Furthermore, it emphasizes the important role of community struc-
tures in the success of OSS; see, for example, Franke and von Hippel (2003), von
Krogh et al. (2003), Shah (2003), and O�Mahony and Ferraro (2005). While these
contributions deal mainly with empirical OSS issues, other more theoretical ap-
proaches to the issue include Lerner and Tirole (2002), who emphasis the role of sig-
naling programming skills, Mustonen (2003), who presents a model of OSS licensing
schemes and their effects on programmer labor markets and software product mar-kets, and Bitzer (2004), who deals with the competitive impact of challenging a com-
mercial software firm with an OSS alternative.
The present paper attempts to contribute to the theoretical literature on OSS by
addressing the OSS phenomenon as a game of the private provision of a public good.
We propose a model that follows on the work of Bliss and Nalebuff (1984), Hen-
dricks et al. (1988), and Bilodeau and Slivinski (1996). We start by developing a sim-
ple war of attrition setting. We build our model on existing results and assumptions,
in particular Bilodeau and Slivinski (1996), who study the private provision of a pub-lic service, i.e., work that no one wants to do but that is best provided by a single
individual. Their approach is novel in that it achieves a characterization of the even-
tual provider of the public service; whereas most of their predecessors had dealt with
the question of whether and when a public good would ultimately be provided. Two
1 The term OSS refers to the fact that everyone can access and alter the program source code; it is a
public good because under the common GNU GPL license, any additions made by one programmer/user
must be made available at no cost to all other programmers/users.
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 391
crucial assumptions make this characterization possible: first, that individuals act un-
der complete information, while second and more importantly, that they have a finite
time horizon. The present paper follows their approach, beginning in Section 2 by
developing a complete information game with finitely lived agents. As shown by
Bilodeau and Slivinski (1996), this game has a unique subgame-perfect equilibriumwhich enables us to characterize the provider of the public good. Other papers that
have modeled the private provision of a public good in order to analyze OSS include
Johnson (2002), who develops a static model with incomplete information and stud-
ies the effects of population size on the probability that an OSS product will be pro-
vided; Stenborg (2004), who considers heterogenous agents and heterogeneous
contributions to the public good in a model related to the present framework; and
Bitzer et al. (2004), who introduce intrinsic motives in a model that builds on the
present paper.The present paper contributes to existing literature on the private provision of
public goods by explicitly modeling several OSS-specific characteristics. First, the
element of user-developers is captured in the present specification. This is a unique
feature of OSS; the providers of the software are also consumers of the product,
which may entail that the need for a particular software solution drives the decision
to program it (e.g., Kuan, 2001; or Franke and von Hippel, 2003). Notice that this
phenomenon of user-developers is by no means restricted to the realm of OSS. See,
for example, Franke and Shah (2003), who analyze cases of user communities thatsupport innovation activities for sports-related products. Second, we capture the ele-
ment of signaling: the providers of the public good receive an additional payoff on
top of the utility stemming from consumption of the public good by being able to
signal their programming abilities. The signal creates value both because it improves
their prospects on the job market (Lerner and Tirole, 2002; Raymond, 2000b) and it
enhances their reputations within the community of programmers (cf. Raymond,
2000a; Torvalds and Diamond, 2001). However, the signal lasts only for a limited
period of time after the contribution is made. The OSS license obliges its program-mers/users to document all program changes made (including naming the author of
the changes) in the software itself, thus institutionalizing such signals. Third, the sim-
ple private-provision-of-a-public-good model – where the OSS is a one-off discrete
unit of a public good – is extended to incorporate modular software programming
(Section 3). Agents improve the available OSS by creating complementary software
modules, thus making repeated contributions to the public good. This extension re-
quires that the certainty assumption in the model has to be adapted, acknowledging
the fact that the success of any programming effort is uncertain. The individualagents do not know a priori how many modules will actually exist at any future point
in time, but they do know how many agents are expending effort on developing new
or additional modules, and that the value of any new module will increase with the
number and quality of other software modules developed for the same OSS project.
More precisely, the model assumes that the functionality and applicability of any one
software module depends on how many other new or improved modules are devel-
oped. For example, the improvement of an operating system developed by one agent
increases the value of a newly programmed driver by another agent, and vice versa.
392 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
Thus, an agent�s decision to contribute to a certain OSS depends on both the number
and quality of all other volunteer programmers engaged in the project.2
The paper derives the following results from the formal models. In a standard
war-of-attrition game, where OSS is a one-off discrete unit of public good to be
developed, the software will be provided without delay. The actual individualwho provides the unit can be identified. Ceteris paribus, this individual receives a
greater benefit from using the OSS, gains more from being able to signal his pro-
gramming ability, is more patient, has a longer time horizon, and faces lower costs
for software development. In particular, the latter two characteristics are in line
with recent empirical studies which found that the �average� OSS contributor is
about 30 years old and highly educated (e.g., Hars and Ou, 2002; Hertel et al.,
2003; Lakhani and Wolf, 2003; Krishnamurthy, 2002). If the software has a mod-
ular architecture, i.e., if agents can repeatedly contribute new or improved modulesto the public good, the war-of-attrition feature of the game collapses. Instead,
agents have to decide when to join and exit the programming community. Once
again, software will be provided sooner rather than later. Individuals are more
likely to join the programming community (and will start to free-ride at a later
point in time), the greater their potential benefit from the OSS, the longer their
time horizon is, the more patient they are, the lower their costs of developing soft-
ware, the higher the success rate in programming activity is, the greater the com-
plementarity between software modules, and the larger the community ofprogrammers. A greater benefit to be gained from signaling – even though it ini-
tially attracts agents to join an OSS community – also induces them to start to
free-ride at an earlier stage, i.e., to harvest the (now larger) value of the signal.3
More importantly, the model establishes that the startup (and collapse) of an
OSS community of programmers displays bandwagon dynamics. In particular,
when one agent joins the community of programmers, this immediately increases
the probability of other non-members joining, while withdrawal by a member of
the community of programmers makes everyone else more likely to drop out ofan ongoing project. Bearing in mind that these results have been derived under
the stark assumption of no exogenous growth in the community of programmers,
they give rise to empirically testable patterns of project participation.
It is also important to highlight some of the major limitations and weaknesses of
the formal approach presented in this paper. The decision whether to publish a piece
of software as OSS or to sell it as proprietary software instead is not modeled explic-
itly here. This decision problem shows up only indirectly in our approach via the
development cost. In particular, the agent-specific development costs reflect not onlydirect input costs but also indirect opportunity costs, and thus implicitly take into
account the alternative of selling the software. In addition, if a programmer further
2 On the issue of modular versus integral product architecture, see Ulrich (1995). For papers that analyze
the importance of modular architecture in OSS projects see Baldwin and Clark (2003) and Narduzzo and
Rossi (2004).3 This finding can also be related to the duration of the signal, if signals decay more swiftly, free-riding
becomes less attractive.
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 393
develops an OSS product already published under the GPL, he or she can no longer
opt for a commercial sales channel, and the only alternative that remains is to keep
the new software version out of the public domain and opt for purely private use.
The latter strategy, however, is only rational if the software in question commands
zero or negative signaling value if published, which may be the case for badly pro-grammed software. Further limitations of our model, apart from the fact that the
decision to publish as OSS is not derived from first principles, are that agent�s pro-gramming contributions (modules) are homogeneous, that agents are assumed to act
under complete information and that central characteristics of the OSS management
process are ignored.
The remainder of the paper is structured as follows. Section 2 introduces the model
and presents the assumptions used for the basic OSS phenomenon that result in a war-
of-attrition setup; it deals only with equilibria where software development (the publicgood) is treated as a single discrete unit. In Section 3, themodel is extended to deal with
software development of a modular nature, where individuals can repeatedly contrib-
ute to the public good. Section 4 concludes the paper.
2. The Model
Consider a population of N individuals. Each individual j has the ability to devel-op one discrete unit of OSS. Once developed, it exists forever, is identical for all indi-
viduals, and its consumption is characterized by non-rivalry and non-excludability.
Time is continuous and individuals discount the future at the rate rj. Utility flows are
as follows. Without the OSS, individuals have to use a commercial closed-source
software alternative and receive the utility flow vj. From the time when the OSS is
introduced on, all individuals receive the flow utility uj = vj + zj, where zj(zj P 0
"j = 1, . . .,N) is the flow value from the OSS being available. Individuals can pro-
duce the software at cost Cj, which will be specified below. Cj is the present dis-counted value of the net costs to the individual j who develops the OSS, i.e., it is
the actual development cost minus any gains from the signaling of programming
ability and the improved reputation within the community of programmers. Given
these specifications, we can state:
Lemma 1. No individual in group m, defined by Cj Pzjrjfor all j = 1, . . .,m, would ever
develop the OSS. The community of potential developers consists of n = N � m
individuals i, for which Ci <zirifor all i = 1, . . ., n.
In other words, Lemma 1 states that those individuals who face relatively low
costs when developing software, or who benefit relatively more from the OSS, are
potential developers of the software.
Assumption 1. Within community n, all costs and benefits are common knowledge.
Even though Assumption 1 is a strong one in relation to any real-world phenom-
enon, OSS has at least some features that facilitate comparatively low-cost informa-
tion exchange. For example, information on the status of projects and the abilities
394 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
(programming techniques) of other programmers is available within the community
of OSS programmers, as the source code is open and numerous OSS internet news-
groups exist (e.g., DeBona et al., 1999).
If a simultaneous one-time choice is modeled using the strategy set {develop, do
not develop}, then this game becomes a static game of chicken, where the winningagents are able to free-ride and receive the payoff ui
ri, and the losing agent develops
the software and receives the payoff uiri� Ci. If no one develops the OSS, the payoff
for all is viri. As usual, this type of game features a host of pure and mixed-strategy
Nash equilibria, in which anyone might be the actual developer of the software.
Hence one cannot deduce who will actually develop the OSS.
By allowing individuals the option of postponing their decision to wait and see if
someone else will develop the software instead, some dynamics can be added to the
game. The length of time a member of community n is willing to wait naturally de-pends on the benefit he would gain if the OSS existed, on the costs of developing the
software himself, and on his time preference. In the normal-form version of this
game, a pure strategy is a time ti�[0,1) when i will develop the software if no one
else has already done so.
The following payoffs can be stated. If the OSS is developed by individual j 6¼ i at
time t, i�s payoff is:
4 Ele
the sof5 Bel
OSS p
howev
signal
F iðtÞ ¼virið1� e�ritÞ þ ui
rie�rit: ð1Þ
The net cost of developing the software consists of a one-off development cost
ci, and a net utility flow si incurred forever.4 The term ci includes all costs incurred
through software development and publishing of the program as OSS. Thus, not
only the costs of pizza and Coke consumed during the programming but alsothe opportunity costs of carrying out a paid programming project or selling the
product as proprietary software instead are included in the decision of the agent.
The term si denotes the gain from being able to signal programming skills, i.e.,
the signaling value, which could accrue either in a job market/wage negotiation set-
ting (Lerner and Tirole, 2002), i.e., as a signal to individuals outside the commu-
nity, or from the improved reputation and social standing within the community
(Torvalds and Diamond, 2001).5 If individual i develops the software at time t,
his payoff is
DiðtÞ ¼ F iðtÞ þsirie�rit � cie�rit: ð2Þ
ments ci and si add up to a net cost CiðtÞ ¼ cie�ri t � sirie�rit, i.e., the net cost for agent i of developing
tware at time t.
ow in Section 3, where we examine entry and exit behavior and repeated contribution to modular
rojects, we include the stickiness of signals or rather the decay of signals as a parameter. Here,
er, where only one individual provides the OSS, this issue is ignored and we assume instead that the
persists.
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 395
According to Lemma 1 we have ui + si � rici > vi. Thus, every individual in the
community n would develop the OSS in period 0 rather than live without it forever.
Finally, if no one ever develops the software, individual i receives the payoff
Ri ¼ viri¼ limt!1F iðtÞ ¼ limt!1DiðtÞ.
Lemma 2. Any individual i such that ci <siriwill develop the OSS voluntarily and
immediately at time t = 0.
Proof is given in Appendix A. In plain speech, Lemma 2 states that an individual
who gains considerably from being able to signal programming ability simply devel-
ops the software rather than waiting for someone else to provide it.6 According toLemma 2, the game ends at time t = 0. A more complex game emerges under the fol-
lowing assumption.
Assumption 2. ci P sirifor all i = 1, . . .,n.
Through Assumption 2 and Lemma 1, we know Fi(t) > Di(t) > Ri for all t and
the game becomes an n player continuous time war of attrition (Hendricks
et al., 1988).
Using results in Hendricks et al. (1988) and Bilodeau and Slivinski (1996), one can
characterize the following equilibria for this type of game. For every individual i,
there is a subgame perfect equilibrium outcome in which only i will develop the OSS
immediately. If no one but i develops the OSS, then i�s best strategy is to develop
the OSS immediately, and if i develops the OSS immediately, it is everyone�s beststrategy to wait. So the game still permits – as is usual for this type of game – many
subgame perfect equilibria in which anyone might volunteer. As shown in Bilodeau
and Slivinski (1996), the set of subgame perfect equilibria can be radically reduced
once time horizons become finite, regardless of how distant in the future the time
limit is. Using this assumption, it is now possible to fully characterize the individual
who will actually provide the public good.
Assumption 3. All individuals i = 1, . . ., n have a finite time horizon, Ti.
That is, Ti marks the fact that i is a finitely lived agent.7 The altered payoffs
become:
6 Im
created7 Th
i move
time w
could
F iðtÞ ¼virið1� e�ritÞ þ ui
riðe�rit � e�riT iÞ; ð3Þ
DiðtÞ ¼ F iðtÞ þsiriðe�rit � e�riT iÞ � cie�rit; ð4Þ
Ri ¼virið1� e�riT iÞ: ð5Þ
plicitly we assume that several agents can develop the software, but that only one unit of software is
. However, all developing agents receive their signaling payoff.
ere are several possible interpretations of this assumption: Ti could denote the point in time at which
s to a different job (where he is unable to devote any effort to OSS programming), or the point in
hen i�s human capital becomes outdated. Assuming birth of agents has happened in the past, it
also represent the fact that at time t = 0, agents are of different ages.
396 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
The effect of a finite time horizon is that the game becomes non-stationary. Thus,
from an agent�s perspective, there is a time �t at which he will no longer choose to
become a developer of OSS. Beyond that point in time, even if the OSS is not pro-
vided, the dominant strategy will be to never develop, i.e., DiðtÞ < Ri; 8t > �ti. Thecritical time �t is defined by Dið�tÞ ¼ Ri.
Lemma 3. Individual i will not develop the OSS after time
�ti ¼ T i �1
riln
zi þ sizi þ si � rici
� �: ð6Þ
Note that if zi + si < rici then time �t is not defined, which is in fact the condition of
Lemma 1; i.e., individuals that are not members of the community n. Using Lemma 3it is possible to state (Bilodeau and Slivinski, 1996):
Proposition 1. Given a finite time horizon for every individual in community n and
assuming that for all i; j 2 f1; . . . ; ng; i 6¼ j : �ti 6¼ �tj, a unique subgame perfect
equilibrium exists in which the individual with the highest �ti volunteers at time t = 0.
Proof is given in Appendix A. The intuition for this proposition is straightfor-
ward. If an individual knows that he is the most interested in having the OSS, and
if he knows that everyone else knows this as well, then he might as well give in right
away. The unique developing individual is characterized by the highest �t. Formally,
Proposition 2. Ceteris paribus an individual who
(i) would gain more from the software, zi(ii) would gain more from signaling, si(iii) has a longer time horizon, Ti (can consume OSS for a longer time)
(iv) has a lower discount rate, ri (more patient) and who
(v) faces lower costs for software development, ci (more efficient) is more likely toprovide the OSS.
Proposition 2 follows from Proposition 1 and Lemma 3. In particular, result (iv) –
the effect of a change in the discount rate – differs from the results that Bilodeau and
Slivinski (1996) derive using intuitive reasoning and indeed differs from the conven-
tional intuition behind the war of attrition, where patience is a good strategy for win-
ning. Formal proof of our result is given in Appendix A.
What are the main factors driving the central findings in Propositions 1 and 2?First consider the result that the programmer will volunteer immediately, i.e., that
the usual delay problem of private public good provision is resolved in the present
setting. The intuition for this result comes from the standard assumption about the
self-interested individual. If an agent knows that she will eventually be the supplier
of the public good she may as well supply the good immediately to ensure a longer
duration of consumption. Delay only pays as long as there is some chance that
someone else will step in and supply the public good. Yet in the present setting,
waiting and delay do not pay, because the agents have information not onlyon their own situation but on everybody else�s as well. Thus, once an agent is
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 397
convinced that she will be the eventual provider of the OSS, she will prefer to har-
vest the gains from consuming the software and from being able to signal her tal-
ent over the longest possible period of time, and will thus develop the software
sooner rather than later. The intuition for Proposition 2 items (i) to (iv) runs along
similar lines. In each of these results, the value of the public good to the agent isincreased, either because the agent simply places a higher value on the software (i)
or because the value of the signal is particularly high for the agent (ii) and thus
makes her more willing to provide the OSS. Following from this reasoning, both
the ability to be able to consume for a longer time (iii), and actually placing a higher
value on future consumption (iv, lower ri) have the same effect. Finally, we find
that low-cost individuals are more likely to provide the OSS, Proposition 2, item
(v). Ceteris paribus this result can be interpreted such that within the model,
OSS code comes from more efficient (high-skilled) programmers. The latter inter-pretation is in line with recent empirical findings of Hars and Ou (2002), Hertel
et al. (2003), Lakhani and Wolf (2003), and Krishnamurthy (2002) on characteris-
tics of OSS contributors. However, for a proper examination of the issue, one
needs to address agent heterogeneity more explicitly (e.g., Stenborg, 2004). The
findings of the model can also be interpreted as suggesting that relatively poor
agents are more prone to provide the OSS, since both a lower discount rate and
lower opportunity costs would more likely be found among, e.g., poor graduate
students than among high-paid Silicon Valley engineers.8
3. Modular software: repeated contributions to the OSS
In this section, the assumption that the OSS is a discrete unit of software is
relaxed. Instead it is assumed that the OSS is modular in its product architecture
(cf. Baldwin and Clark, 2003; Narduzzo and Rossi, 2004). This implies, in our
context, that the amount of the public good is determined by the number andquality of modules contributed by agents. This adaptation of the model therefore
includes the possibility of multiple contributions by each of the various participat-
ing agents. Stock effects are eliminated by assuming that agents are only inter-
ested in new and additional advances in software, thus normalizing the utility
in a no-further-module-improvements situation. It is assumed that commercial
software has a certain exogenously given and fixed growth rate, generating the
flow utility Dvj.9 Similarly, the flow utility from progress and growth in the
OSS is denoted by Zj(Dl), where Dl is the number of new and improved OSSmodules developed at a certain point in time. Thus agent j�s utility becomes
uj = Dvj + Zj(Dl).Programming effort invested into OSS does not promise certain success. Thus, it is
assumed that the occurrence of a new, functioning OSS module that is actually
8 We owe this last point to an anonymous referee.9 Accordingly it is inessential to the model whether commercial software employs an integral or a
modular product architecture.
398 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
included in the product follows a Poisson distribution with the arrival rate k, where krepresents the common programming ability in the community. So the probability
that Dl such modules are created at a certain point in time, if n agents are involved
in programming is ðknÞDlDl! e
�kn. A specification from the quality ladder model literature
(e.g., Aghion and Howitt, 1992) is borrowed to capture the fact that the OSS�s appli-cability and functionality increase as the number and quality of modules simulta-
neously developed by other agents increases. In particular, we postulate that the
utility flow from OSS is given by Zj(Dl) = zjcDl, where c > 1 measures the resulting
gain in applicability and functionality stemming from the complementarity of soft-
ware modules, and where zj P 0 represents an agent�s preference for OSS software
over commercial software. The expected utility flow from newly developed OSS soft-
ware at any point in time is thus
EðZjðDlÞÞ ¼X1Dl¼0
ðknÞDl
Dl!e�knzjcDl ¼ zjeðc�1Þkn: ð7Þ
The utility flow stemming from OSS depends on the number of other agents
participating; this creates strategic interaction among agents. However, this is
no longer a war of attrition: it is no longer possible for an individual to wait
out his opponents. Rather, agents now have the dilemma of when or whether
to join and leave the community of programmers, whereby their additional
(withdrawn) effort increases (decreases) the probability of new, functioning mod-ules occurring. This problem can be addressed by examining the expected lifetime
utility of an agent i, who is a member of the community n. When all agents
including i develop OSS modules throughout their entire lifetime, this gives the
payoff
Di ¼Dvi þ zieðc�1Þkn þ SiðdÞ � ci
rið1� e�riT iÞ: ð8Þ
This specification acknowledges that in an environment of continuous software
development and repeated contributions, the characteristics of signaling have to
adapt to the fact that reputation and signals decay. We capture this with the functionSi(d), stating that the value of the signal, apart from being specific to the individual
agent, depends – among other factors – on a decay rate d, where oSiðdÞod 6 0 applies,
i.e., a faster decay reduces the value of the signal. Signal decay could be caused by
dynamics either within the community, where only agents who actually make contri-
butions are part of the reputation culture, or on the job market, where, due to con-
tinuous technological progress, last season�s human capital has little value. However,
at the moment in time when an agent leaves the community of programmers, he still
retains his gain from signaling, without actually having to program. Furthermore,having stopped developing modules himself, the agent continues to have access to
the software developed by other agents, so he still receives the full benefit from
the OSS, but without the cost of having to contribute himself. So the payoff for agent
i, who starts to free-ride at time t, assuming that all other agents remain in the com-
munity, becomes:
10 Th
author
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 399
F iðtÞ ¼Dvi þ zieðc�1Þkn þ SiðdÞ � ci
rið1� e�ritÞ þ Dvi þ zieðc�1Þkðn�1Þ
riðe�rit � e�riT iÞ
þ SiðdÞe�rit: ð9Þ
Solving F ið�tÞ ¼ Di defines the point in time ð�tÞ at which an individual who is a
member of the community – developing OSS software – will leave it and start to
free-ride.
Lemma 4. Individual i will stop contributing modules to the OSS at time
�ti ¼ T i þ1
riln 1þ riSiðdÞ
zieðc�1Þkðn�1Þ � zieðc�1Þkn � SiðdÞ þ ci
� �: ð10Þ
For free-riding to actually occur during an agent�s lifetime, the following require-
ment has to be introduced.
Assumption 4. zie(c � 1)kn � zie
(c � 1)k(n � 1) + Si(d) � ci > riSi(d) for all i = 1, . . .,n.
Assumption 4 ensures that the logarithm in (10) produces a negative number. For
a very large ci, the condition will be violated, implying that such an individual is not
a member of the community. Also, Assumption 4 will eventually hold for a large en-
ough n, implying that free-riding will occur in large communities.Differentiating (10) with respect to the various parameters,10 we can characterize
free-riding individuals.
Proposition 3. Ceteris paribus an individual will start to free-ride later, i.e., �t will behigher, when he
(i) gains more from the open source software, zi(ii) has a longer time horizon, Ti (can consume OSS for a longer time)
(iii) has a lower discount rate, ri (more patient)
(iv) faces lower costs for software development, ci (more efficient)
(v) is part of a community with a higher arrival rate, k(vi) takes part in a project with larger complementarity among modules, c(vii) is part of a larger community, n(viii) has a lower signaling value, Si(d) and
(ix) is subjected to a faster decay rate, d.
Proof that o�tiori
< 0 and o�tioSiðdÞ < 0 is given in Appendix A.
Results (i) to (iv) re-establish findings of Proposition 2. Furthermore, the model
predicts that good programmers attract good programmers (v), and that high com-
plementarity between software modules creates incentives for programmers to stay
in the project (vi). A larger signaling value – Proposition 3 item (viii) – or a reduceddecay rate – Proposition 3 item (ix) – can induce free-riding, because when the agent
leaves the community, he harvests a temporary gain by maintaining the signaling
e precise expressions of the derivatives are provided in a separate appendix available from the
s upon request.
400 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
value while not facing the costs of programming. As this gain increases, the free-rid-
ing payoff also increases and the agent will thus exit the community sooner. Further-
more, an important finding regarding the dynamics of the community emerges from
Proposition 3 item (vii).
Corollary 1. The exit of any agent i from the community n makes all other n � 1
agents revise their stopping time downwards.
Thus, the collapse of an OSS project displays bandwagon dynamics. The exit of
one agent increases the probability that in the next instant, another agent will exit.
The mechanism behind this result is that the exit of another agent from the commu-nity reduces, via the complementarity of modules, the value of all other contribu-
tions, hence making it less attractive for everyone else to program.11
To examine the startup of an OSS project, the incentives to join a programmer
community have to be examined using the same principles. The payoff for an agent
j – who never develops any OSS modules himself – when a community of n active
programmers exists is
11 No
size.
F j ¼Dvj þ zjeðc�1Þkn
rjð1� e�rjT jÞ: ð11Þ
If such an individual joins the community at time t and starts to develop modules,
whose signaling value is generated only after the agent has actually started this activ-
ity, his payoff becomes
DjðtÞ ¼Dvj þ zjeðc�1Þkn
rj1� e�rjtð Þ þ Dvj þ zjeðc�1Þkðnþ1Þ þ SjðdÞ � cj
rjðe�rjt � e�rjT jÞ
� SjðdÞe�rjt: ð12Þ
Then solving Dj(t) = Fj defines the time up to which an agent would still want to
join the community.
Lemma 5. Individual j will not join the OSS community n after time
tj ¼ T j þ1
rjln 1þ rjSjðdÞ
zjeðc�1Þkn � zjeðc�1Þkðnþ1Þ þ cj � SjðdÞ
� �: ð13Þ
Of course, time tj is only slightly less than the stopping time derived in (10), imply-ing that after joining, an agent will continue at least a certain period of time before
starting to free-ride. Furthermore, sinceoDjðtÞot < 0 we can state:
Lemma 6. Any agent j who joins an existing OSS programming community during hislifetime will do so as early as possible.
Finally, because (10) and (13) have identical structures, the qualities laid out in
Proposition 3 are also possessed by those agents who would still find it beneficial
to join the programming community at a later point in time. It is important to note
tice however that this result only applies as long as there is no exogenous increase in the community
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 401
that the conditions in Lemmas 5 and 6 might not be fulfilled in small communities,
i.e., for low n. The time up to which an agent would consider joining the community
might become negative for low n, implying that the agent would never become a
member.
It then remains to be shown which characteristics an agent possesses whowould actually start an OSS project from scratch. This type of individual fulfills
tjjn = 0 > 0. Plugging n = 0 into (13) and solving for the cost of programming
gives:
Proposition 4. (Starting module) An agent j with a programming cost cj such thatcj < SjðdÞ � zj þ zjeðc�1Þk � rjSjðdÞ
1�e�rjT jwould develop an OSS starting module.
The requirements for this proposition are in fact more restrictive than those in
Assumption 4. From Proposition 4, it follows that more efficient agents (lower cj),
agents with a longer time horizon (higher Tj), agents who have a lower discount rate,
rj, who gain more from signaling their programming skills, Sj(d), and who have a lar-
ger preference for OSS, zj, are more likely to start up an OSS project. Furthermore,
startup becomes more likely when signal decay rates, d, are low.
Finally, sinceotjon > 0 one can provide a complement to Corollary 1:
Corollary 2. The addition of an agent j to the community n makes all other non-
member agents revise their latest joining time upwards.
Thus, the startup of an OSS project displays bandwagon dynamics as well.12 Anew member entering a community increases the probability that in the next instant,
another agent will join.
4. Conclusion
This paper extends the standard war-of-attrition model of the private provision of
public goods developed by Bliss and Nalebuff (1984) and Bilodeau and Slivinski(1996) to the OSS phenomenon. In order to capture OSS characteristics, we include
the phenomenon of user-programmers, i.e., the need for a particular software solu-
tion (Torvalds and Diamond, 2001; Raymond, 2000a) and the value of boosting
one�s reputation and job signaling (Raymond, 2000b; Lerner and Tirole, 2002) into
the standard model. In a second step, we extend the resulting model by assuming
that OSS is modular in its product architecture, which indeed reflects a key feature
of the OSS development process. In terms of our model, this means that agents can
make repeated contributions to the public good and that they make their decisionunder uncertainty as to how many new or improved OSS modules will be developed
by other agents. Thereafter, an agent�s expected benefits and his or her resulting deci-
sion on whether to join or leave the programming community both depend on the
number of other agents developing OSS modules, the complementarity effects
12 A case study that touches on the issue of joining decisions in real-world OSS projects is found in von
Krogh et al. (2003).
402 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
between the single OSS modules, the level of programming ability within the com-
munity of programmers (e.g., the skill level of all other programmers), and the sig-
naling value.
The model generates the following results: In the basic model, where we as-
sume that only one unit of open source software is to be developed, the softwareis provided sooner rather than later. Thus, the problem of delay, often an issue in
private-provision-of-public-goods settings, is resolved in the OSS case. Next, the
individual who will actually provide the OSS ceteris paribus gains more from
using the software, from being able to signal programming skills, has a longer
time horizon, is more patient (i.e., lower discount rate) and faces lower develop-
ment costs. Thus, the model predicts that young and efficient (highly skilled)
programmers are to be found in OSS communities. In addition, by extending
the basic model to include modular product architecture, we can also show thatindividuals are more likely to join the programming community (and start to
free-ride later) the better the programming abilities in the community, the higher
the complementarity between the individual modules, and the larger the number
of other programmers developing OSS modules. Thus, the model predicts that
good programmers attract good programmers, that certain types of software
products – namely those with a high module complementarity – are more suitable
for production under OSS principles, and that the size of the potential program-
mer base – which often is associated with a worldwide communication of pro-grammer community facilitated by the Internet – is key to understanding the
phenomenon.
Due to the impact of community size on the agents� decisions, the startup (and
collapse) of an OSS project displays bandwagon dynamics. Thus, within the model
one would expect successful OSS projects – i.e., those that have developed beyond
the initial phase of only a few programmers – to display exponential growth in both
output volume and the number of participating programmers. Similarly, the model
predicts that with the failure of a once-successful project the exit of active program-mers would occur at an accelerating pace.
Comparing these results of a formal model with the empirical evidence must be
the task of future research. Yet one could argue that several of the commonly ob-
served characteristics of OSS programmers and their projects appear to relate to
some of the results presented here, e.g., that the �average� programmer is young
and highly skilled, as found by Hars and Ou (2002), Hertel et al. (2003), Lakhani
and Wolf (2003), and Krishnamurthy (2002). Still, the reader must keep in mind that
the present paper is based on a stylized and simplified model. Important features,such as the decision of agents to publish their efforts as OSS instead of commercial
software or the role of the OSS management structures, are simply superimposed
within the model and not derived endogenously. Nevertheless, the benefit of this ap-
proach is that we arrive at a tractable model that provides a set of relevant implica-
tions about the provision of OSS by private volunteer programmers. Most
importantly, the paper demonstrates that, once we understand the OSS phenomenon
as a private provision of a public good situation, many of the initially puzzling OSS
features emerge naturally.
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 403
Acknowledgments
The authors thank Ulrich Berger, Paul Gregory, Julio Robledo, Wolfram Sch-
rettl, Peter Sudholter, participants in the e-business seminar at the Aarhus School
of Business, the Kiel Workshop on Economics of Information and NetworkIndustries, the International Industrial Organization Conference (IIOC) at North-
eastern University, the European Association for Research in Industrial Econom-
ics (EARIE) at Helsinki University and two anonymous referees for valuable
comments.
Appendix A
A.1. Proof of Lemma 2
Proof. The condition siri> ci implies Di(t) > Fi(t) for all t. Since Di(t) is monotone and
falling in t, Di(0) maximizes utility. h
A.2. Proof of Proposition 1
Proof.13 Relabelling individuals, the different �ti�s can be ordered �tn > �tn�1 > � � � > �t1.When the software has yet to be provided at time t 2 ð�tn�1;�tn�, agent n knows that no
one else will ever develop the OSS. Since DnðtÞ > RnðT nÞ 8t�ð0;�tnÞ and hence also for
all t 2 ð�tn�1;�tnÞ, agent n�s subgame perfect strategy is to develop the OSS, if any time
t�ð�tn�1;�tnÞ is reached. Similarly at any time t 2 ð�tn�2;�tn�1�, agent n and n � 1 are the
last feasible candidates who could provide the software. But there is a time ~t < �tn�1
and sufficiently close to �tn�1, such that F n�1ð�tn�1Þ > Dn�1ð~tÞ, and hence n � 1, and
everyone else, will prefer to wait for n to volunteer at time �tn�1. Hence, in anysubgame perfect equilibrium, n will volunteer at some time t 2 ð~t;�tn�. By backwards
induction, the unique subgame perfect equilibrium has n developing the OSS at
t = 0. h
A.3. Proof that o�tiori
< 0 when software is a single unit
Proof. From (6) we derive
13 Th
o�tiori
¼ �ciriðzi þ si � riciÞ
þln ziþsi
ziþsi�rici
� �r2i
ðA:1Þ
which, given Lemma 1 and Assumption 2, consists of a negative and a positive term.
Following Proposition 2, we have to show that o�tiori
< 0. In manipulating (A.1), one
can restate
is proof follows Bilodeau and Slivinski (1996).
404 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
lnzi þ si
zi þ si � rici
� �<
zi þ sizi þ si � rici
� 1 ðA:2Þ
which is always true since a � ln(a) > 1 "a > 0; a 6¼ 1. h
A.4. Proof that o�tiori
< 0 when software is modular
Proof. From (10) we derive
o�tiori
¼ �ba� b
ln 1þ�ba
� �; ðA:3Þ
where a = �ci + Si(d) � zie(c � 1)k(n � 1) + zie
(c � 1)kn and b = riSi(d), and a > b > 0
holds due to Assumption 4. Following Proposition 3, it has to be shown thato�tiori
< 0. Rearranging (A.3) yields:
1� aa� b
< lna� ba
� �:
Finally, defining x ¼ aa�b > 1, this requirement can be restated as
0 < ln1
x
� �þ x� 1: ðA:4Þ
Define the function
gðxÞ ¼ ln1
x
� �þ x� 1 ¼ x� lnðxÞ � 1:
Note that g(1) = 0 and g 0(x) > 0 "x > 1. Condition (A.4) is therefore true for the
relevant parameter range. h
A.5. Proof that o�tioSiðdÞ < 0 when software is modular
Proof. From (10) we derive
o�tioSiðdÞ
¼ 1
ci þ aþ riSiðdÞ � SiðdÞ þ SiðdÞ ð�1Þ þ ðri�1ÞSiðdÞ�ci�a
� � ; ðA:5Þ
where a = zie(c � 1)k(n � 1) � zie
(c � 1)kn < 0; o�tioSiðdÞ is negative for:
ci þ aþ riSiðdÞ � SiðdÞ þ SiðdÞ ð�1Þ þ ðri � 1ÞSiðdÞ�ci � a
� �< 0: ðA:6Þ
Solving (A.6) for ci leads to:
SiðdÞ � a > ci: ðA:7Þ
Inequality (A.7) holds due to Assumption 4. Thus, o�tioSiðdÞ < 0. h
J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406 405
References
Aghion, P., Howitt, P., 1992. A model of growth through creative destruction. Econometrica 60, 323–351.
Baldwin, C.Y., Clark, K.B., 2003. The Architecture of cooperation: does code architecture mitigate free
riding in the open source development model? Harvard Business School Working Paper Series, No. 03-
209.
Bilodeau, M., Slivinski, A., 1996. Toilet cleaning and department chairing: volunteering a public service.
Journal of Public Economics 59, 299–308.
Bitzer, J., 2004. Commercial versus open source software: the role of product heterogeneity in competition.
Economic Systems, 28.
Bitzer, J., Schrettl, W., Schroder, P.J.H., 2004. Intrinsic motivation in open source software development,
Discussion Paper, No. 2004/19. Department of Economics, Free University Berlin.
Bliss, C., Nalebuff, B., 1984. Dragon-slaying and ballroom dancing: the private supply of a public good.
Journal of Public Economics 25, 1–12.
DeBona, C., Ockman, S., Stone, M. (Eds.), 1999. Open Sources: Voices from the Open Source Revolution.
O�Reilly, Sebastopol, CA.
Feller, J., Fitzgerald, B., 2002. Understanding Open Source Software Development. Addison-Wesley/
Longman, Amsterdam.
Franke, N., Shah, S., 2003. How communities support innovative activities: an exploration of assistance
and sharing among end-users. Research Policy 32, 157–178.
Franke, N., von Hippel, E., 2003. Satisfying heterogeneous user needs via innovation toolkits: the case of
Apache security software. Research Policy 32, 1199–1215.
Hars, A., Ou, S., 2002. Working for Free? Motivations for participating in open-source projects.
International Journal of Electronic Commerce 6, 25–39.
Hendricks, K., Weiss, A., Wilson, C., 1988. The war of attrition in continuous time with complete
information. International Economic Review 29, 663–680.
Hertel, G., Nieder, S., Herrmann, S., 2003. Motivation of software developers in open source projects: an
internet-based survey of contributors to the Linux Kernel. Research Policy 32, 1159–1177.
Johnson, J.P., 2002. Open source software: private provision of a public good. Journal of Economics and
Management Strategy 11, 637–662.
Krishnamurthy, S., 2002. Cave or community? An empirical examination of 100 mature open source
projects, First Monday 7 [www.firstmonday.org].
von Krogh, G., Spaeth, S., Lakhani, K.R., 2003. Community, joining, and specialization in open source
software and innovation: a case study. Research Policy 32, 1217–1241.
Kuan, J., 2001. Open source software as consumer integration into production. Working Paper
[www.ssrn.com/abstract=259648], date 29 July 2004.
Lakhani, K.R., Wolf, R.G., 2003. Why Hackers do what they do: understanding motivation effort in free/
open source software projects. MIT Sloan School of Management Working Paper, No. 4425-03.
Lerner, J., Tirole, J., 2002. Some simple economics of open source. Journal of Industrial Economics 50,
197–234.
Linux Counter, 2004. Online Information at www.counter.li.org, downloaded 16 June 2004.
Mustonen, M., 2003. Copyleft – The economics of Linux and other open source software. Information
Economics and Policy 15, 99–121.
Narduzzo, A., Rossi, A., 2004. The role of modularity in free/open source software development. In:
Koch, S. (Ed.), Free/open Source Software Development. Idea Group, Hershey, PA.
Netcraft, 2004. Online Information at [www.netcraft.com], downloaded 16 June 2004.
O�Mahony, S., Ferraro, F., 2005. Managing the boundary of an �Open� project. In: Padgett, J., Powell, W.
(Eds.), Market Emergence and Transformation (forthcoming).
Raymond, E.S., 2000a. Homesteading the Noosphere, Revision 1.22, 24 August 2000, first version 1998
[www.catb.org/esr/writings/cathedral-bazaar/homesteading/].
Raymond, E.S., 2000b. The Cathedral and the Bazaar, Revision 1.51, 24 August 2000, first version 1997
[www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/].
406 J. Bitzer, P.J.H. Schroder / Information Economics and Policy 17 (2005) 389–406
Rosenberg, D.K., 2000. Open Source: the Unauthorized White Papers. IDG Books Worldwide, New
York.
Rossi, M.A., 2004. Decoding the free/open source software puzzle: a survey of theoretical and empirical
contributions. Discussion Paper, No. 424, Dipartimento di Economia Politica, Universita di Siena.
Shah, S.K., 2003. Understanding the nature of participation & coordination in open source software
development communities. Dissertation, Chapter 4, MIT Sloan School of Management.
Stallmann, R., 1999. The GNU operating system and the free software movement. In: DiBona, C.,
Ockman, S., Stone, M. (Eds.), Open Sources: Voices from the Open Source Revolution. O�Reilly,
Sebastopol, CA.
Stenborg, M., 2004. Waiting for F/OSS: coordinating the production of free/open source software,
Keskusteluaiheita. Discussion paper, No. 884, ETLA – The Research Institute of the Finnish
Economy.
Torvalds, L., Diamond, D., 2001. Just for fun: the story of an accidental revolutionary (HarperBusiness).
Ulrich, K., 1995. The role of product architecture in the manufacturing firm. Research Policy 24, 419–440.