Sei sulla pagina 1di 40

Harvesting Altruism in Open Source Software Development 1

May 2002

Ernan Haruvy a, Ashutosh Prasad a, Suresh P. Sethi a,*


a
School of Management, The University of Texas at Dallas, Richardson, TX 75083-0688, USA

1
Please do not cite or circulate without permission from the authors.
*
Corresponding author. Tel.: +1-972-883-6245; Fax +1-972-883-2799; E-mail: sethi@utdallas.edu. The authors
thank seminar participants at Columbia University and the University of Texas at Dallas.

1
Harvesting Altruism in Open Source Software Development

ABSTRACT
Firms have the choice of developing software as either open source or closed source. The
open source approach to software development has been advocated as a new and better method
for developing high quality software than the traditional closed source approach. In open source,
volunteer programmers freely contribute code to develop and improve the software. This paper
describes the key non-pecuniary motivations for these programmers. They are less motivated to
contribute if they observe commercial marketing of the open source software they helped create,
leading to a reduction in improvements to the software. A primary concern for software firms
seeking to develop and market open source software is, thus, how the motivation of contributors
should be managed. We examine optimal pricing strategies for open source and closed source
software keeping in mind the distinct motivations of programmers in the two cases. We compare
profits and software qualities from the two approaches and provide implications for firms in the
software industry.

Keywords: Open source; Pricing; Altruism; Optimal control

2
1. INTRODUCTION

Open source software refers to the use of and contribution to shared source code that can
then be freely redistributed and reused in components of code. The open source paradigm lends
itself to collaborative software development by a worldwide community of developers and users
to build software, identify and correct bugs, and offer enhancements (O’Reilly 1999, Grossman
2002). Enhancements submitted by individual users are added to the original source code for
public use and further modifications and improvements. The open source approach has resulted
in the development of prominent Internet infrastructure software, including the Linux operating
system, Apache web server, the Java and Perl programming languages, Sendmail electronic mail
transfer agent, and DNS BIND systems. Table 1 provides short descriptions of some commonly
used open-source software, adapted from Bhattacharjee et al. (2001).

Table 1. Open-source software examples


Software Description
Linux Built on top of a kernel designed by Linus Torvalds, today Linux distributions include
hundreds of other open source packages. With more than 7 million users, Linux is the
predominant enterprise server operating system in use today.
FreeBSD FreeBSD, OpenBSD, and other Berkeley UNIX derivatives boasts an estimated 1 million
users.
Perl Larry Wall’s Perl is the engine behind most “live content” on the Internet, and is used by over
1 million users.
Tcl John Ousterhout’s tcl language is used by over 300,000 users.
Python Guido van Rossum’s Python language is used by over 325,000 users.
GNU project The Free Software Foundation’s GNU project created a high-quality set of programming tools,
including the gcc C compiler, g++ C++ compiler, emacs editor, and gdb debugger.
Patch Larry Wall’s patch program allows users to exchange small fixes to programs in isolation
rather than exchanging the entire software.
CVS Concurrent Versioning System (CVS) allows users to maintain multiple versions of the same
software.
Apache The Apache Group was formed in 1995 by a group of web-site administrators to share
modifications to the original NCSA web server, which was abandoned by NCSA after the
departure of its creator Rob McCool. Managed centrally by 12 core developers, Apache is
currently deployed in over 53 percent (1 million) of today’s web servers, well ahead of second-
placed Microsoft’s IIS at 23 percent.
StarOffice Sun Microsystems’ version of a word processor, spreadsheet and other general-purpose office
application software.

The philosophy of open source is for software code to be made freely and publicly
available for use, development, and distribution. This stands in sharp contrast to the traditional
closed source software philosophy of protection for intellectual property rights. Closed source

3
software is sold for profit with licenses requiring restricted terms of use and prohibitions against
distribution and modification. This traditional paradigm is based on the assumption that software
development is a specialized process, managed best by a localized team of highly qualified
developers, careful project management, and detailed and prolonged debugging and
enhancements in between releases (Bhattacharjee et al. 2001). In contrast, open source software
is based on the principles of continuous improvement implemented via frequent releases,
collaboration among developers, continuous debugging, and adherence to open standards
implemented via open-source licenses (Raymond 2001). Given these markedly differing
philosophies, there is surprisingly little quantitative literature on examining the profitability
consequences for a firm to develop software under one regime versus the other.
The sentiment is commonly expressed that open source contributors are motivated by
non-pecuniary considerations, for example, altruism.

“Even though open source programmers are occasionally paid, altruism is one of the largest
motives for contribution… The ``utility function'' Linux hackers are maximizing is not classically
economic, but is the intangible of their own ego satisfaction and reputation among other
hackers.” (Raymond 2001)

The implications of non-pecuniary motivations on marketing open source have not been
examined in the literature. Commentary has focused on a secondary motivation for Open Source
developers, namely that their contributions are in expectation of future monetary rewards. For
example, some open source contributors capitalize on their contributions by serving as
consultants to the code to which they have contributed (Anez, 1999, Bhattacharjee et. al 2001).
Dwyer (1999) similarly suggests rewards in the form of the higher income that results from the
reputational effect. Lerner and Tirole (2001) slightly deviate by acknowledging that open-source
programmers are motivated by ego gratification in addition to career concerns.
In this paper we consider the managerial implications of non-pecuniary motives in open
source development and pricing, and pecuniary motives in closed source software development
and pricing. There is some stylization in ascribing undiluted motives to programmers in the two
contexts, but these appear to be the predominant motives in each case. We compare the open
source and closed source software development and pricing based on this distinction while
keeping other factors unchanged.

4
It is sometimes argued that open source software development is not a viable business
model because open source firms cannot sell the software for profit (Mundie 2001). This is,
however, not the case and, in fact, a growing concern among contributors to open source
software has been that commercial firms will seek to exploit their efforts. Open source software
is licensed to try to minimize this, for example, the GNU General Public License requires any
program with embedded open source code to also be open source (Perens 2001). Nevertheless,
firms can sell software that is a collection of open source software packaged together, or
enhanced with proprietary software, or provided with support and documentation, etc.. Thus, it is
quite possible to make profits with open source software.
Consider the example of Linux, a UNIX-like server operating system. The first release of
the Linux microkernel was in October 1991 with the source and executable code distributed
freely on a Usenet newsgroup. Since then, Linux has become a global collaborative project
involving thousands of freelance developers, contributing code to the core microkernel,
enhancing the system (e.g., ethernet card support, TCP/IP networking, native and extended file
systems, and Linux port for the GNU C compiler), and porting it to new hardware and software
platforms. Despite being free, merely having the source code for Linux is not enough for non-
expert Linux users to be able to implement Linux into their applications. Using the source code
requires expertise and documentation. This has led to commercial companies, for example, Red
Hat, stepping in to meet these needs. This has raised concerns among the Open Source
community, as the following excerpts indicates:

"This thing was created out of passion and commitment that was not motivated by monetary
gain," said Bill Cason, senior vice president of technology and the engineering director at
Deja.com Inc., a New York-based newsgroup and forum site, launched in 1995, that runs 215
Linux servers and 30 Apache Web servers and has another 100 Linux servers in testing. "We
worry that a good thing will change for the worse. But I hope the open-source community will
remain intolerant of that sort of material change." (Berinato, 1999)

This problem is common from local collections for public projects such as neighborhood
and school improvements to national political and environmental causes. Indeed, advocates of
open-source software argue that software innovations represent a public good since the marginal
cost of allowing another person to use the software is zero once the software is created
(Stallman, 1985). People are willing to put their time and money into public projects as long as

5
they perceive such activities to be charitable. As soon as they observe someone unfairly gaining
from such initiatives, willingness to contribute diminishes (Croson, 1996; Andreoni, 1987). Such
considerations are especially pivotal among public goods contributors (Cason, Saijo, and
Yamato, 1999). The following passage confirms the difficulty faced by a firm to continuously
profit from commercializing open source due to the annoyance it creates among contributors.

“Red Hat’s $84 million IPO shot skyward on August 20, 1999, rising from its offering price of
$14 to $52 – and that was a potentially huge problem. Simply put: Red Hat was selling for $50 a
pop a collection of lines of code that had been mainly written by programmers not on its payroll.
Linux, it seemed, the anti-Microsoft “freeware” operating system, was going to make some
people Microsoft-type money—but what about the hackers, scattered to the winds, whose code
sat in the $50 boxes? …A typical, and somewhat legitimate, complaint went like this: “They are
stealing the fire from Linux itself. Probably 95% of the good things that Red Hat offers are not
Red Hat. They are just Linux. It’s only natural that this bugs people. A lot of people spend a lot
of their personal time contributing freeware to Linux and associated software. It bugs them to
see all this sold as ‘Red Hat.’” (Frieberghouse 2001)

The quoted passages point to the instrumental role of distributive considerations in open
source development and to the enormous risks of abating altruism and triggering spite in the
course of profit extraction. In particular, emphasis is placed on the concern for equitable
distribution of profits derived from efforts by programmers. As such, if the firm is perceived to
“unfairly” extract too much profit from voluntary contributions of code, such contributions may
cease. The conflicting incentives of the firm and the contributors makes this a difficult problem
because of the dependence of the firm upon its contributors’ fairness perceptions should it
choose to develop the software by open source.
This is the first study to examine the implications of non-pecuniary motivations, such as
altruism and distributive concerns, under the open source paradigm on the development and
marketing of open source software. We analyze a monopoly provider of software that has to
decide between adopting an open source or closed source approach. As Bhattacharjee et al
(2001) note, studying a monopoly setting in software is justified when software are highly
differentiated so that the firm has less competition and more price setting power. Also, software
markets have a tendency to tip towards a monopoly due to standardization, compatibility and
network effects (Katz and Shapiro 1986).
The remainder of the paper proceeds as follows. In Section 2, we discuss the literature on
non-pecuniary motives as it relates to open source development. Section 3 presents an

6
encompassing model and derives the quality and pricing policies of open and closed source
firms. Section 4 concludes with discussion and directions for future research.

2. CONCEPTUALIZATION
In this section we examine the background literature to ascertain, first, the non-pecuniary
motivation for programmers to contribute improvements to open source software and, second,
why profit-making by the firm causes them to cease contribution. These relate to the ideas of
altruism and fairness, respectively.

2.1. Non-Pecuniary Motives for Contribution


The idea that selfish considerations may not offer the best description of human agents
has been extensively investigated in the economics literature. Models of altruism (e.g., Becker,
1974) and utilitarian ethics (Harsanyi, 1978) led this trend. But the principle that people take
pleasure in doing good is as old as economics itself: “How selfish so ever man may be supposed
to be, there are evidently some principles in his nature, which interest him in the fate of others,
and render their happiness necessary to him, though he derives nothing from it, except the
pleasure of seeing it.” (Adam Smith, 1759).
In the commonly investigated dictator game, one subject, the dictator, is allotted an
amount of money and is given the option to transfer some of that money to another subject.
Though findings vary, dictators often transfer significant portions of their “wealth” to the other
subject. The standard model to explain this pattern is the model of altruism. Attributed to Becker
(1974) and Harsanyi (1978), this model simply implies that the utility of the open source
programmer is increasing in both his own monetary payoff and the monetary payoffs of others.
Such behavior is also termed “pure altruism” (Andreoni, 1990; Dawes and Thaler, 1988).
In contrast, the notion of “impure altruism” (also investigated by Andreoni, 1990; Dawes
and Thaler, 1988) suggests a warm glow that comes with “doing the right thing”. Impure
altruism is generally described as satisfaction of conscience, or of noninstrumental ethical
mandates (Dawes and Thaler, 1988)
The appeal of the impure altruism model in the present setting is that a contributor would
not need exact information regarding the demand function, number of users, profits of the firm,
etc. It would be enough for the contributor to know he has bestowed a benefit on society to

7
receive the warm glow. The caveat of warm glow is in cases of variable contribution. In such
cases, warm glow, in and of itself, is insufficient to predict contribution levels, although
Anderoni (1990) modeled it as increasing in the level of contribution, without regard to final
outcomes. However, in settings of a single contribution level, as in the framework at hand, warm
glow models are ideal. It explains why programmers contribute to open source. We next turn our
attention to why programmers would cease to contribute to open source.

2.2. Reduced Contribution with Firm Profit


Models of fairness considerations have lately gained much prominence in the economics
literature (Bolton and Ockenfels, 2000; Fehr and Schmidt, 1999). Such models rely in part on
unequivocal evidence from the ultimatum game. In the ultimatum game, one person in a
mutually anonymous pair proposes a division of a sum of money to the other person, who
chooses to either accept the proposal or reject it. A rejection means both people receive no
money. As rejections are not uncommon (particularly with rather uneven proposals), it seems
that people are sometimes willing to deliberately sacrifice money in order to hurt another. In
other words, kindness towards others can quickly turn into bitter unkindness when one perceives
unfair enrichment on the part of another party.
In marketing, the prominent works of Corfman and Lehman (1993) and Lehman (2001)
argue that in competitive situations, firms place a weight on fairness. In Lehman (2001),
individuals placed in the role of a manager were asked to report satisfaction with various
combinations of sales figures for their own firm as well as a competing firm. Attention to
fairness was found significant. Implications derived included an outline of the strategic role of
cooperative behavior in competitive settings in the presence of altruism, reciprocity and spite.
In the present setting of open source contributions, preference for distributive justice tend
to revolve around the view of open source code as a “public good.” Marwell and Ames (1981),
Kim and Walker (1984), and Isaac, McCue and Plott (1985), all found that people paid close
attention to equity in public good contribution settings and that such behavior generated more
socially efficient outcomes. Cason, Saijo, and Yamato (1999) also found that subjects had little
tolerance for those who unfairly benefited from public contributions by others. This is not
surprising. As the ultimatum game demonstrates unequivocally, unfair behavior, inconsistent
with equitable standards, triggers severe punishment.

8
In accordance with the above studies, we conjecture that the programmer may tolerate
some level of profits on the part of the firm, but above the “fair” profit threshold the programmer
will not contribute, even if it costs him in a sacrifice of future rewards. Motivation is based on
the profit of the firm. In the analysis, we assume that open source contributors have a reference
point of profit that they deem fair on the part of the firm. That reference point is,
C1 = β W + γ R , (1)

where W is the warm glow from contribution, R is future expected rewards from reputation
built as a result of contributing code, and β and γ rescale the warm glow and expected
monetary rewards to the firm’s profit scale. That is, if expected monetary rewards per worker
valued at some number, the worker might nevertheless tolerate the firm reaping profits 1000
times as much, in which case γ would take on the value of 1000.
Volunteer programmers contribute but the number of contributors decreases as profit
increases due to discontent with unfair profit being made by the firm. Conversely, when the firm
sacrifices profits for the benefit of the public, the perception of fairness increases and the number
of contributors increases. The threshold is assumed to have a distribution over programmers
leading to a continuous decline in the number of programmers as profits increase.
The number of programmers can be modeled as follows: Let g ( x) be a decreasing
‘equity’ function. Let D( P, Q) be the demand curve, which is a decreasing function of the price
P but increasing in the software quality Q . Then the number of contributors at time t is
N (t ) = g ( P(t ) D( P(t ), Q(t ))) . (2)

This formulation is explained by programmers considering only the current profits of the firm in
having spite motivations. An alternative explanation can be given if we replace C1 by rC2 ,
where r is the discount rate of the firm. It is now easy to see that the programmers’ spite is
based on an expectation of future profits equal to the current profits of the firm projected into the
future when making their decision to contribute or not to contribute. In this case
P (t ) D( P (t ), Q(t )) / r represents the present value of the entire future stream of profits as seen at
time t and C2 represents the corresponding threshold.

9
We know that contributors’ thresholds are determined by their warm glow and fairness
considerations. From those programmers having high warm glow and low fairness
considerations, we would expect to see contributions even when the firms profits are high and
tending to infinity. The function g ( x) would thus go asymptotically to zero, implying that it is
convex for x sufficiently large. Given the lack of justification for a complex concavo-convex
form, we will assume that this function is convex throughout its range.
Also note that the breakdown of the threshold value into R and W allows nesting the
traditional reputational effect (Anez, 1999; Dwyer, 1999), impure altruism (Andreoni, 1990;
Dawes and Thaler, 1988), and fairness considerations (Bolton and Ockenfels, 2000; Fehr and
Schmidt, 1999).

3. MODEL
We consider two approaches to software development - open source and closed source. In
both cases there is a software firm that develops and sells software driven totally by a profit
motive. Profit is the discounted stream of future revenues less programming costs if any. The
marginal costs for software is typically very small since software can inexpensively and reliably
be copied and distributed, and will be assumed to be constant and set to zero without loss of
generality.
Software products tend to be made available to consumers at all quality levels and they
are continuously upgraded to newer and better quality versions. Thus, unlike products with an
extensive research and development period, we assume that the software is concurrently
available for sale as its quality develops. General demand functions that are increasing in quality
and decreasing in price are used.
We assume that the software quality is a function of the number of programmers, either
hired, as in closed source, or freely contributing, as in open source. Software quality is
conceptualized as improvements to the software package not only in terms of identifying and
correcting errors, but also enhancing the functionality, reliability, maintainability, portability,
and in general, enhancing the utility of the software. The quality of the software can be
operationalized based on consumer evaluations of the different features, or through measures
such as the number of lines of code and the number of features etc..

10
If programmers do not continuously develop the software, depreciation in software
quality occurs due to obsolescence. Obsolescence occurs because the software environment and
consumers’ needs are changing over time requiring continuous updating of the software. Gordon
Moore's law of the steadily shrinking solid-state device guarantees that the shelf life of anything
associated with computers is extremely limited (Lucky, 1995). First, computer technology
changes rapidly. Given Moore’s law that processor speed doubles every eighteen months,
planning for obsolescence is critical. Computer hardware, operating systems, and platforms also
evolve and software that is easily compatible with one technology may be less compatible with
another. For example, word processors and spreadsheets that were leading in the early 1990’s
have become extinct due to lesser compatibility with underlying Microsoft operating system
technology. Second, as technology evolves, consumers’ expectations and tastes evolve as well
and their valuations for products that do not meet these expectations drop. For example, we now
expect and demand instant product updates and patches downloadable from the Internet, as well
as personalized and customized products. We also expect better graphics than was possible ten
years ago. Also, computer memory shortage which was a constraint ten years ago is less so today
so programs whose advantage had been memory efficiency are no longer competitive.
For these reasons, software quality obsolescence is a reality that needs to be incorporated
into the model. Since obsolescence results in perceived quality depreciating over time, we use a
formulation for depreciation that is commonly used in the economics literature.
Whereas some notation has been introduced, in what follows we list the notation together
with some assumptions:

Q(t ) is the quality of the software at time t ; Q(0) ≥ 0 .


P (t ) is the price of the software at time t ; P (t ) ≥ 0
D( P, Q) is the demand. D( P, Q) ≥ 0 , DQ ≥ 0 , DP ≤ 0 .

N (t ) is the number of programmers at time t ; N (t ) ≥ 0 . The availability of programmers is


limited, N (t ) ≤ N C for closed source, and N (t ) ≤ N O for open source.

g ( x) is a decreasing function; g ( x) ≥ 0, g '( x) ≤ 0, g ''( x) ≥ 0 . Assume g ( x) → 0 as x → ∞ .


w(Q) is the wage rate per programmer; w(Q) > 0, w '(Q) ≥ 0, w ''(Q) ≥ 0 .
k is a proportionality constant representing productivity; k > 0

11
r is the discount rate; r > 0
δ is the obsolescence rate for software quality; δ > 0
η is the ratio of productivities of open and closed source programmers; η > 0

Given D( P, Q) , PD( P, Q) defines the revenue at price P and quality Q . It is reasonable


to assume that there is no revenue at P = 0 , so we assume lim PD ( P, Q) = 0 for each Q .
P →0

Furthermore, we assume that there is a price that maximizes the revenue (in the case when there
is more than one global maxima, we will choose the largest of these) and denote it as P m (Q ) .

We assume 0 < P m (Q) < ∞ and define

R(Q) = P m (Q) D( P m (Q), Q) . (3)

By the envelope theorem (see Derzko et. al 1984), we have RQ (Q) = P m (Q) DQ ( P m (Q), Q) ≥ 0 .

3.1. Closed Source


A software developed by a firm as closed source requires that the firm hire programmers
to continuously develop the software. The objective function is the discounted profit stream
calculated by subtracting the wages of programmers from the revenue stream generated by
software sales. The wage rate is allowed to change with the software quality. In particular, it may
be hypothesized that as quality increases, better skilled programmers are needed to make further
improvements and hence the wage rate increases with quality. The rate of quality improvement is
proportional to the number of programmers. Quality obsolescence is modeled as depreciation in
quality over time.
The following optimal control problem is obtained.

∫e
− rt
Max [ P(t ) D( P (t ), Q(t )) − w(Q) N (t )]dt (4)
P ( t ) ≥ 0, N ( t ) ≥ 0
0

s.t.
dQ(t )
= kN (t ) − δ Q, Q(0) = Q0 (5)
dt
N (t ) ∈ [0, N C ].

The objective function can be rewritten as

12
 ∞

Max
N ( t )≥0


J = ∫
0
e − rt [ R(Q(t )) − w(Q) N (t )]dt  .

(6)

With this the problem can be solved using a Green’s theorem argument, as discussed in
Sethi and Thompson (2000, Ch. 7). Using equation (5) in (6) changes equation (6) into a line
integral in the (Q, t ) space. Moreover, the integral along a closed curve Γ can be changed into a
double integral over a region R enclosed by Γ . That is,
 − rt δQ w(Q) 
J Γ = v∫ e [ R(Q(t )) − ]dt − e− rt dQ 
Γ
 k k 
∂ ∂ − rt 
= ∫∫  ( )
−e − rt w(Q) / k − ( )
e [ R (Q) − δ Q / k ]  dtdQ
R  ∂t ∂Q 
 rw(Q ) δQ 
= ∫∫ e − rt  − RQ (Q) +  dtdQ.
R  k k 
(7)
The Green’s theorem methodology requires us to analyze the sign of the integrand in equation
(7). One way to do this is to set the integrand to zero, i.e.,
rw(Q) δ Q
+ = RQ (Q) , (8)
k k
and solve this equation. Let us assume RQ (0) > rw(0) / k , i.e., wage costs or the discount rate is

not so high or productivity so low that closed source software development is not a viable option.
This condition guarantees that there exists a quality Q s > 0 which satisfies equation (8). We

shall further assume for convenience in exposition that Q s is unique. This would, for example,
be the case when R(Q) is concave, i.e., RQQ (Q) ≤ 0 . When R (Q) is convex, i.e., RQQ (Q) > 0 ,

Q s can be unique if RQQQ (Q) ≤ 0 as depicted in Figure 1. We should note that demand functions

such as D = e− P / Q or D = 1 − P / Q that we use for illustration purposes give rise to linear R (Q )


and, thus, belong to either of the two cases.
In Figure 1, the condition RQ (0) > rw(0) / k is shown as Case A. We have also shown two

other cases when RQ (0) ≤ rw(0) / k . In Case B, we have two solutions Q s1 and Q s 2 , and in Case

C, we have no solution for (8). Although these cases are not very likely to arise in practice, we

13
can characterize optimal solutions in these cases using the theory developed in Sethi (1977). This
we shall do after we complete our analysis of Case A.

Figure 1: Uniqueness of Maximum in Closed Source Case

RQ (Q) rw(Q)/k+ δQ/k

Case A

Case B
Minima

Case C
rw(0)/k

Q s1 Q s2 Qs

Returning to our analysis of Case A, observe that


> 0 for Q > Q s ,
rw(Q) δ Q 
− RQ (Q) + + = 0 for Q = Q s , (9)
k k 
< 0 for Q < Q s .

First, we take up the case when NC ≥ δ Q s / k . In this case, define the optimal long-run stationary

equilibrium quality, or simply the steady state quality, Q = Q s . Following Sethi and Thompson

(2000, Ch. 7), when Q0 ≤ Q , we have an optimal solution

N t ≤ T *,
N *(t ) =  C (10)
δ Q / k t > T *,
where,
1 kN C − δ Q0
T* = ln . (11)
δ kN C − δ Q
Furthermore, the optimal quality is

14
 kN C (1 − e −δ t )
 + Q0 e −δ t t < T *,
Q *(t ) =  δ (12)
Q t ≥ T *.

For Q0 > Q , which is unlikely to be the case in practice, N *(t ) = 0 until such time that

the quality has depreciated to Q , and N *(t ) = δ Q / k thereafter.


For a constant wage rate w(Q) = w , notice that the wage cost of action is

wδ Q
T*

∫e wN C dt + ∫ e − rt
− rt
dt
0 T*
k
(13)
wN C w(δ Q / k − N C )e − rT * wN C w(kN C − δ Q )( r +δ ) / δ
= + = − .
r r r rk (kN C − δ Q0 ) r / δ

Thus, the optimal total profit with Q0 < Q is

R(Q)e − rT * wN C w(δ Q / k − N C )e − rT *
T*
 kN C kN C −δ t 
∫0 e R  δ − ( δ − Q0 )e dt + 
− rt
− − . (14)
r
 r r


Steady State Profit Wage cost
Transient Profit

This profit increases monotonically as N C increases. If N C → ∞ , then (11) becomes an impulse


control. Using L’Hôpital’s rule for evaluating limits, the wage cost of the impulse control can be
w(Q − Q0 )
calculated to be . Thus, the maximum possible profit for the problem with Q0 < Q
k
and with unlimited programmers is
R (Q) w(Q − Q0 ) wδ Q
− − . (15)
N r 
k 
kr
Gross profit Impulse wage Maintenance wage

Since practical considerations limit the number of programmers to a finite value N C , the
firm should employ this maximum number of programmers till the long-run optimal quality has
been achieved and thereafter hire only the few programmers required to maintain the software
quality. If the initial quality is higher than the steady state quality, the firm should hire no
programmers for the duration till the software requires maintenance to overcome obsolescence.
Figure 2 depicts the solution in Case A.

15
Figure 2: Closed Source Results in Case A

Q0 < Q Q0 ≥ Q

Programmers (N)
Q0
Quality (Q)
Quality (Q)
Q Q
Price (P) Price (P)
Q0
Programmers (N)

Time (t) Time (t)

If, on the other hand, NC < δ Q s / k , we set Q = kN C / δ < Q s . In this case, if Q0 ≤ Q , the

optimal control is to set N *(t ) = N C for all t ≥ 0 . Note that if Q0 = Q , then the optimal quality

Q *(t ) = Q , t ≥ 0 . If Q0 < Q then Q *(t ) increases to Q asymptotically. Finally, if Q0 > Q , we


can use the method in Section 7.2.4 in Sethi and Thompson (2000) to show that there exists a
quality level Qˆ > Q s > Q such that

0 when Q *(t ) > Qˆ > Q,


N *(t ) =  (16)
 N C when Qˆ ≥ Q *(t ) > Q.

In this case, Q *(t ) decreases to Q asymptotically. It is also possible to get an expression for Q̂
(r + δ )
in terms of N C . This is Qˆ = 1 − .
r ( RQ − wQ N C )

This completes the statement of the optimal solution in Case A. At this point, it is
worthwhile to examine how Q changes with changes in problem parameters. Clearly, when

N C < δ Q s / k , Q = kN C / δ , and thus Q increases linearly with k , decreases with δ , and

increases linearly to Q s when N C increases to δ Q s / k . Note that when N C < δ Q s / k , the value

of Q is limited by the number of available programmers, and thus Q does not depend on r or

on w(Q) . However, when NC ≥ δ Q s / k , it is easy to see from Figure 1 that Q increases with k .

16
Furthermore, now Q decreases with r , and it no longer depends on N C . Finally, if the wage rate

w(Q) increases for each Q , then Q decreases.

Illustration 1: Let
D ( P, Q ) = e − P / Q . (17)
It is easy to verify that this demand function satisfies the assumptions specified earlier for
D( P, Q) and R (Q) . Also, let Q0 = 0 , and the wage rate be the constant w .

From the first order condition, D + PDP = 0 , the profit maximizing price is P m (Q) = Q
and R (Q) = Q / e ⇒ RQ (Q) = 1/ e . Also, the condition RQ (0) > rw(0) / k for Case A means that

k  1 rw 
1/ e > rw / k . Then by solving equation (8) we get Q = Q s = − > 0 . Then the time at
δ  e k 
1 NC
which the steady state quality Q is obtained is T * = ln , and the optimum
δ N C − (1/ e − rw / k )

profit is
T*
 kN (1 − e −δ t )  e − rT *k  1 rw   1 wδ 
Π = ∫ e − rt  C − wN C  dt +  −  − 
0  δe  rδ  e k   e k 
(18)
N C (k − wδ e)(1 − e − rT * ) kN C (1 − e − ( r +δ )T * ) e − rT *k  1 rw   1 wδ 
= − +  −  − 
δ er δ e( r + δ ) rδ  e k   e k 

when N C is given. When N C → ∞ , the optimal profit is

k  1 rw   1 w(δ + r ) 
Π=  −  − , (19)
rδ  e k  e k 
which we note to be the same as equation (15) in our special case.

We conclude this section with a characterization of the optimal solution in Cases B and
C. In Case C, the wage cost is high or the discount rate is high or productivity low in such a way
that rw(0) / k ≥ RQ (0) . It is easy to show that Q = 0 in this case. Consequently, if Q0 = 0 , the

business is not viable. If the company inherits Q0 > 0 , then the optimal policy is to not hire any
programmers, and thus milk the profit that can be made from the existing quality while the
quality declines exponentially to zero.

17
In Case B, according to Sethi (1977), it is possible to find Q , 0 < Q < Q s , such that

N *(t ) = 0 , t ≥ 0 , when Q0 < Q . On the other hand, for Q0 ≥ Q , we can set Q = Q s 2 and then
repeat the analysis of Case A following equation (10). Thus, in Case B, it is interesting to note
that the company is viable and acts as if it is in Case A when Q0 ≥ Q , and the company acts as if
it is in Case C, i.e., a profit skimmer but not a software developer.
We should also note that this analysis in Sethi (1977) could be applied to more general
problems when we do not make the assumption that we have made on the second or higher
derivatives of R(Q) .

3.2. Open Source


A firm may adopt an open source approach to software development. The improvement
in software quality is proportional to the number of volunteer programmers participating at any
point in time. The volunteer programmers’ willingness to contribute to software quality is driven
by fairness considerations as discussed earlier. The firm’s main concern is the impact of profit
making on the contributing programmers, and managing the number of programmers who
participate by pricing the software in an optimal manner.
To capture the loss of motivation that results from the profit making of the firm, we use
equation (2) discussed earlier to formulate the motivations of the programmers based on the
current or projected future profit of the firm. The optimal dynamic price and quality paths can be
obtained by solving the following problem.
 ∞

∫e (20)
− rt
Π = Max J = PDdt 
P ( t )≥0
 0 
dQ
s.t. = g ( PD) − δ Q, Q(0) = Q0 . (21)
dt

The notation and assumptions in this model are identical to those of the closed source
model. Recall that the maximum revenue is denoted R(Q) and the revenue maximizing price is

P m (Q) . In Figure 3, we have chosen, for simplicity, an example of a unimodal PD ( P, Q ) . The

function for prices to the right of P m is shown as a dashed line, since we shall presently see that
it can be ignored in the analysis.

18
Figure 3: Revenue versus Price at a given Quality level Q

PD
R(Q )

A P m (Q) B

The following theorem allows us to proceed with a process of simplification of the


original problem.

Theorem 1: In the open source maximization problem, at every quality level Q , price can be

constrained to lie in the domain [0, P m (Q )] without loss of optimality.

Proof: Under our assumptions in Section 3, for any price B > P m (Q ) , there exists a price

A < P m (Q) such that the revenue at the two price points is identical. Consequently, g ( PD) is
also identical at the two price points, since it is a function of revenue alone. Therefore, in the
maximization problem it is sufficient to constrain the price to lie in 0 ≤ P ≤ P m (Q) . QED

Note that the theorem also holds in the closed source case, where the optimal price has
been shown to lie in the interval [0, P m (Q )] .
Since for a given quality level, the revenue is between 0 and R(Q) , the equity function
g ( PD) for the number of programmers is relevant in this range only. In Figure 4 we again show
the relevant part of the function in bold and the remaining as a dashed line.

19
Figure 4: Equity function versus Revenue at a given Quality level Q

g(P D)

g(0)

g(P 1 D 1 )

g(R(Q ))
PD

0 P 1D 1 R(Q )

From Figure 4, it is also clear that, since the equity function is decreasing and convex, a
chord joining any two points on the function lies above the function. Of all chords, the one
connecting the extreme points in the relevant interval lies above all others and is pertinent to the
following theorem.

Theorem 2: For any revenue P1 D ( P1 , Q ) = P1 D1 between 0 and R(Q) , it is possible to get the
same revenue and a higher dQ / dt by chattering between the revenues 0 and R(Q) .
Proof: By a mixing of the revenues 0 and R (Q) , the expected revenue can be made to lie on the
chord connecting the points (0, g (0)) and ( R(Q), g ( R(Q))) on the graph. QED

Corollary to Theorem 2: For a given quality level, the optimal price must either be P = 0 or
P = P m or chatter between the two.

Chattering or generalized control is frequently seen in the literature when dealing with
convex functions. What it implies for open source programmers is that they observe from instant
to instant that the software firm provides the software for free or charges the monopoly price for

20
it. It is assumed that programmers respond to the current level of profit and do not retain a
memory of past profits. If the latter is assumed, chattering may not be optimal. This, however, is
an issue of changing the present equity specification to respond, say, to cumulative profits to
date, and we leave it to future research. Given that the software firm can adopt chattering, it
might still consider whether there is anything unethical about making the programmers behave as
though they had a linear equity function.
Use of chattering policies can also be found, for example, in the advertising scheduling
literature (e.g. Feinberg 1992, Mahajan and Muller 1986, Sasieni 1971). See Feichtinger et. al
(1994) for further discussion. Mahajan and Muller (1986) discuss the practical interpretation of
chattering and note that it may be considered as the limiting case of fast pulsing. Even slow
pulsing between 0 and R (Q) may do better than a constant revenue strategy and the faster the
firm can pulse, the better it performs (Mahajan and Muller 1986). Feinberg (1992) also notes that
when chattering is difficult to implement due to lags in the system, one may find that a pulsing
solution is optimal.
Given that chattering may be optimal, we must change the optimal control problem to
allow for it. This is done by assigning weights to revenue 0 and revenue R (Q) . Let us suppose a
weight u is placed on the revenue point R (Q) and 1 − u on 0 . The consequence of Theorem 1 is
that u will lie in [0,1] . The consequence of Theorem 2 is that the objective function and state
equation can now be rewritten as

 

∫e (22)
− rt
Π = Max J = uR(Q)dt 
1≥ u ≥ 0
 0 
dQ
s.t. = (1 − u ) g (0) + ug ( R(Q)) − δ Q, Q(0) = Q0 . (23)
dt

Observe that the objective function and the state equation are linear in the control variable u. We
can therefore, apply the Green’s Theorem approach also to solving this problem. Substituting the
control u from equation (23), i.e.,
g (0) − δ Q − dQ / dt , (24)
u=
g (0) − g ( R(Q))

21
into equation (22), changes equation (22) into a line integral in (Q, t ) space. Moreover, the
integral along any closed curve Γ can be changed into a double integral over a region R
enclosed by Γ . That is,
 e − rt [ g (0) − δ Q]R(Q) e − rt R(Q) 
J Γ = v∫  dt − dQ 
Γ
 g (0) − g ( R(Q)) g (0) − g ( R(Q)) 
 ∂  e − rt R(Q)  ∂  e − rt [ g (0) − δ Q]R(Q)  
= ∫∫  − −    dtdQ
R  ∂t  g (0) − g ( R(Q))  ∂Q  g (0) − g ( R(Q))  
 (r + δ ) R(Q) − [ g (0) − δ Q]RQ (Q) µ (Q)[ g (0) − δ Q]g '( R(Q)) RQ (Q) 
= ∫∫ e − rt  −  dtdQ
R  g (0) − g ( R(Q)) g (0) − g ( R(Q)) 
 (r + δ ) R(Q) − [1 + µ (Q) g '( R(Q ))][ g (0) − δ Q ]RQ (Q ) 
= ∫∫ e − rt   dtdQ,
R  g (0) − g ( R (Q )) 
(25)
where we have defined
R(Q)
µ (Q) ≡ . (26)
g (0) − g ( R(Q))
It is useful to note the following properties of µ (Q) .

−1 −1 −1
Theorem 3: (i) For Q > 0 , > µ (Q) > and µ (0) = .
g '( R(Q)) g '(0) g '(0)
(ii) µQ (Q ) = RQ (Q )[1 + g '( R(Q )) µ (Q )] > 0 and µQ (0) = g "(0) RQ 2(0) .
g (0) − g ( R (Q )) 2 g '(0)
RQQ (Q )[1 + g '( R (Q )) µ (Q )] + 2 RQ (Q ) g '( R (Q )) µ Q (Q ) + RQ (Q ) 2 g ''( R (Q )) µ (Q )
(iii) µ QQ (Q ) = .
g (0) − g ( R (Q ))
R (Q) 1
Proof: (i) From the mean value theorem observe that µ (Q) = = for some
−∫
R (Q )
g '( x)dx − g '(v)
0

v ∈ (0, R (Q)) . Since g '' > 0 , we have − g '( R(Q)) < − g '(v) < − g '(0) . The result follows in view
R(Q)
of g ' < 0 . To obtain µ (0) , we apply L’Hôpital’s rule: lim µ (Q) = lim
Q →0 Q →0 g (0) − g ( R(Q))
RQ (Q) −1
= lim = . Parts (ii) and (iii) follow from differentiation, where part (ii)
Q →0 − g '( R(Q)) RQ (Q) g '(0)

22
RQ (Q )[1 + g '( R (Q )) µ (Q )]
again requires the application of L’Hôpital’s rule: µ Q (0) = lim
Q →0 g (0) − g ( R (Q ))

g '(0) µQ (0) + RQ (0) g "(0) µ (0) RQ (0) g "(0)


= . This implies µ Q (0) = . QED
− g '(0) 2 g '(0) 2
To examine the sign of the integrand in equation (25), denoted I (Q ) , we set it first to
zero, i.e.,
(r + δ ) R(Q) − [1 + µ (Q) g '( R (Q))][ g (0) − δ Q]RQ (Q)
I (Q) ≡ =0
g (0) − g ( R(Q)) .
⇒ (r + δ ) µ (Q) − [ g (0) − δ Q]µQ (Q) = 0

(27)
We denote by Q s the quality that satisfies this equation. For convenience in exposition, we will
assume that this is the unique interior maximum. This will be the case, for example, if
−2(r + δ ) g '(0)
RQ (0) ≥ and µQQ < 0 . If there is more than one interior solution, the method of
g (0) g ''(0)
Sethi (1977) can be used, as discussed in the closed source case. Theorem 3(i) ensures that
1 + µ (Q) g '( R(Q)) lies between 0 and 1, and, thus, Q s is strictly smaller than g (0) / δ as the
following figure shows:
Figure 5: Uniqueness of Maximum in Open Source Case

( r + δ ) µ (Q )
g (0) − δ Q

g "(0)RQ (0) I (Q ) < 0 I (Q ) > 0


2
2g '(0)

−(r + δ ) µQ (Q)
g (0) g '(0)
Q

0 Qs g (0) / δ

23
−2(r + δ ) g '(0)
If the condition RQ (0) ≥ is not met, the result is similar to Case C of the
g (0) g ''(0)
closed form solution, where a profit-milking policy is optimal. Pursuing increased quality is not
viable due to the low number of programmers, g (0) , who volunteer even when the firm makes
no profits, or due to the high rate of decline − g ''(0) / g '(0) of programmers. The software cannot
be maintained at its current level of quality against the existing obsolescence rate, let alone be
further developed. If the initial quality is positive, the software should be milked for any profit
that can be extracted without increasing quality, and then abandoned.
In view of the above, we may assume that Q s > 0 in the remainder of the paper. The

integrand is negative for Q < Q s and positive for Q > Q s . From equations (24) and (27), we can
obtain the corresponding control
g (0) − δ Q s (r + δ ) µ (Q s ) 2 . (28)
u =
s
=
g (0) − g ( R(Q s )) µQ (Q s ) R (Q s )

Then, if u s lies in [0,1] , following Sethi and Thompson (2000, Ch. 7), we have the
optimal solution
1 Q > Qs ,

u *(t ) = u s Q = Qs , (29)

0 Q < Qs .

The optimal pricing strategy starting from Q0 < Q s is to price at P = 0 until Q s is reached.

Thereafter, the price chatters between P = 0 and P = P m with weights 1 − u s and u s ,


respectively. We can refer to this pricing policy as harvesting since the software firm builds up
the contributions of programmers initially by keeping prices at zero and then harvests the
benefits. In the unlikely case when Q0 > Q s , the optimal strategy is to price at P m and allow the

quality to depreciate to Q s . After this time, the price chatters between P = 0 and P = P m with

weights 1 − u s and u s , respectively. Finally, if Q0 = Q s , we remain at the chattering solution

throughout. Note that u s = 0 or u s = 1 does not require any chattering.

24
Illustration 2: We examine the special case of the demand function used earlier, D( P, Q) = e − P / Q ,

and an equity function g ( PD) = kη N 0 e − PD . Note that g(0) = kη N 0 in this case. The parameter η
captures the relative efficiency of an open source contributor over a closed source programmer.
While it can be argued that η < 1 from the fact that open source programmers are not full time
employees, there are several reasons why η > 1 is likely. First, open source programmers self-
select to contributing code, and are likely to be good programmers who are capable of working
in a fairly independent manner without extensive support and supervision. Secondly, if the code
is open for scrutiny by everyone, then the probability that the solution to a problem or an idea for
improvement will strike someone is much higher than if the code is accessible to just a few. This
is sometimes expressed as Linus’s Law - ‘Given enough eyeballs, all bugs are shallow’
(Raymonds 1999). This notion is well accepted in the idea generation and testing literature (e.g.
Dahan and Mendelson 2001).
For this demand function, P m (Q) = Q and R (Q) = Q / e ⇒ RQ (Q) = 1/ e . The condition

−2(r + δ ) g '(0)
for an interior solution RQ (0) ≥ is satisfied when kη N 0 ≥ 2e(r + δ ) . The first task
g (0) g ''(0)

is to find Q s by inserting these results into equation (27), and obtain


Q/e
(kη N 0 − δ Q)[1 − ]
(r + δ )Q / e (1 − e − Q / e )
− = 0. (30)
kη N 0 (1 − e −Q / e ) ekη N 0 (1 − e − Q / e )
This equation can be solved numerically. For example, a numerical search on parameter values
r = δ = 0.05 and kη N 0 = 1 gives Q s = 4.85 . The pricing policy is P = 0 till Q s is reached. The

time T * taken to reach Q s starting from Q0 = 0 is obtained from


Q dQ t 1 kη N 0
∫ 0
= ∫ dt ⇒ T * = ln
kη N 0 − δ Q 0 δ kη N 0 − δ Q s
. (31)

Since g (0) − δ Q s = kη N 0 − δ Q s > 0 always, T * < ∞ . The profit is


r /δ
∞ u s R (Q s )e − rT * 1  kη N 0 − δ Q s   Q s   kη N 0 − δ Q s 
u R (Q ) ∫
s s − rt
e dt = =     . (32)
r  kη N 0 − e − Q / e   e   kη N 0
s
T* r 

25
The profit increases with kη N 0 consistent with our observations in closed source. A graph of

profit against N 0 is shown in figure 8. For all values of Q s in Figure 8, u s lies between 0 and 1.

Returning to the expression for u s in equation (24), it appears that u s need not
necessarily lie in the interval [0,1] . In particular, δ > g (0) / Q s ⇒ u s < 0 and

δ < g ( R(Q s )) / Q s ⇒ u s > 1 . We now examine these cases.


We can rule out the first case because from Figure 5, Q s < g (0) / δ and, hence, the

condition g (0) − δ Q s < 0 will not arise.

In the case u s > 1 , there is no chattering in equilibrium. However, if there is no chattering


in equilibrium, the steady state quality Q is no longer equal to Q s . It is nevertheless

straightforward to find it from equation (21). It is the quality Q m that satisfies

g ( R(Q m )) . (33)
Qm =
δ
This is the quality that can be maintained when pricing at P m , which we refer to as the monopoly
price. The first thing to note is that Q m > Q s , since inserting any u > 1 in equation (23) and

equating it to zero to obtain Q s yields Q m > Q s . Second, we can use the Green’s theorem
approach to gain some insights into the solution.

Theorem 4: For the case u s > 1 , there exists a critical quality level QC ≤ Q s such that it is

optimal to price at P = 0 when Q(t ) < QC and at P = P m when Q(t ) ≥ QC .


Proof: To prove the theorem, Figure 6 is useful.

26
Figure 6: Determining the Price Trajectory in the No-Chattering Solution
Q0 ≥ Q s Q0 < Q s

Q
u=1
Q
G H’
Qm I
Q01
u =1 F
Qs
E H
m
Q
D
C
Q02
QC
Qs B F’ u=0

Q0 A
t

T t

We make use of the Comparison Lemma (Sethi and Thompson 2000, p. 198). For
Q > Q s , we know I (Q) > 0 , and the Comparison Lemma states that the lowest feasible arc is

best. Hence, for Q0 ≥ Q s , the policy P = P m is best.

For Q0 < Q s there is no unambiguous path that is “closest” to Q s . For example if we

compare arcs ADFGI and AHI we note that ADF is closer to Q s than AF’, whereas HI is closer

to Q s than H’I. But it is not clear which of GH’ and F’H is closer to Q s . Note, however, that
every feasible path lies between these paths. To show that there cannot be a switch from
monopoly price to zero price, consider any arc, e.g., ABCEI, that has this feature. However,
ABCEI cannot be optimal since arc ABDEI, obtained by switching only once from zero price to
monopoly price, is closer to Q s and is feasible. Moreover, it is obvious that the portion of an

optimal arc that is above Q s has to have P = P m .

Thus, there is a QC ≤ Q s where a switch from zero pricing to monopoly pricing occurs
for the first time. QED

27
By this theorem, for the no-chattering case, the optimal pricing policy is either monopoly
pricing throughout, or a price of zero for a finite period followed by monopoly pricing thereafter.
Starting at Q0 < QC , we can again refer to as harvesting, the optimal pricing policy to hold the
price at zero initially. Pricing at zero ensures that quality is built up at the fastest rate possible
until the critical quality QC has been achieved.

Although the Green’s theorem approach shows that QC exists, it does not reveal its exact
value. The next section looks at further analysis that is required to determine this value.

3.2.1. Open Source Pricing under the No-Chattering Condition


To obtain the solution when there is no chattering, i.e., u s > 1 in equation (28), we make
use of the maximum principle. The current-value Hamiltonian for equations (22-23) is
H = H (Q, λ , u ) = uR(Q) + λ[(1 − u ) g (0) + ug ( R(Q)) − δ Q] . (34)

Interpreting the Hamiltonian is easier if we write this as Hdt = uR (Q )dt + λ dQ . The first term
represents the direct contribution to profit in the time period t to t + dt . To provide a meaning to
the second term, we know from optimal control theory that λ0 represents the marginal value of

the quality at time 0, i.e., λ0 = ∂Π / ∂Q0 . Clearly, λ0 > 0 . Likewise, in our current-value

formulation, λ (t ) > 0 , and it represents the marginal value or shadow price of the quality at time
t . Then the second term represents the value in dollars of the incremental quality dQ , and hence
can be considered as the indirect contribution to profit. This means that the Hamiltonian is the
sum of the direct and indirect contribution in exactly such a manner that the problem becomes
one of static maximization of the Hamiltonian at each instant of time, as required by the
maximum principle.
The Hamiltonian is linear in the control hence we have the bang-bang solution
u = bang[ R(Q) − λ ( g (0) + g ( R(Q)))] . Recalling that µ (Q) ≡ R *(Q) /[ g (0) − g ( R *(Q))] , we have

1 λ (t ) < µ (Q(t )),



u *(t ) =  u s λ (t ) = µ (Q(t )), (35)
0 λ (t ) > µ (Q(t )).

28
The adjoint equation is

= r λ − H Q = (r + δ )λ − uRQ (Q)(1 + λ g '( R(Q))) . (36)
dt
A sufficient transversality condition in our infinite horizon problem is
lim e − rt λ (t ) = 0 . (37)
t →∞

A solution of the optimal control problem requires that for each Q0 , we find a λ0 such
that we solve equations (23) and (36) keeping in mind that the control satisfies equation (35) at
each t and that λ (t ) satisfies equation (36).
The economic interpretation of equation (36) becomes clear when it is rewritten as
ε r λ dt = ε H Q dt + ε d λ , where ε > 0 is an arbitrary small number. Since λ (t ) is the shadow price
of a unit of quality at time t when the quality is Q(t ) , the left hand side represents the interest
earned at rate r in the time interval [t , t + dt ] on the proceeds of a “sale” of the ε unit of quality.
In economic parlance, ε r λ dt represents the opportunity cost of owning the ε unit of quality
from t to t + dt . The first term on the right hand side represents the incremental total (direct and
indirect) profit from the ε unit and the second term represents the “capital gain” on the ε unit.
In other words, the right hand side represents the income from the ε quality unit if not “sold”,
i.e., when employed in business. That is, the adjoint equation states that at each t , the ε unit of
quality when employed in business should earn exactly what its opportunity cost is. Thus, the
adjoint equation (36) represents a dynamic equilibrium condition over time.
We will provide two methods for obtaining the critical value QC and show that these
methods are equivalent.
(1) The maximum current value profit in the interval [T , ∞) is

Π (QC ) = ∫ e − r ( t −T ) R(Q(t ))dt , (38)
T

where Q(t ) , t ≥ T is the quality given by the solution of Q = g ( R(Q)) − δ Q , Q(T ) = QC . Then

the value λ (T ) , the marginal profit associated with QC at time T is given as

d Π (QC ) ∞ ∂Q(t )
λ (T ) = = ∫ e − r ( t −T ) RQ (Q(t )) dt . (39)
dQC T ∂QC

But this must equal to µ (QC ) at the time of the switch, so that we have

29
∞ ∂Q(t ) R(QC )
∫T
e − r ( t −T ) RQ (Q(t ))
∂QC
dt =
g (0) − g ( R(QC ))
. (40)

(2) Next we begin with Q0 = 0 . Let us set P (t ) = 0 for t ≤ T and P (t ) = P m (Q(t )) for

t > T . The current value profit of this policy if given by (37). For t ≥ T , the quality Q(t ) is
given by
(1 − e −δ T ) g (0)
Q = g ( R(Q)) − δ Q , Q(T ) = . (41)
δ
Note that Q(T ) is the quality obtained at time T by solving Q = g (0) − δ Q, Q(0) = 0 .
Taking the derivative of equation (38) with respect to T , we get
∞ dR(Q(t ))
∫T
e − r ( t −T )
dT
dt − R (Q(T )) . (42)

If the derivative at T = 0 is negative then the optimal T = 0 . If not, let the solution of equation
(41) with Q(T ) = q be denoted as
Q(t ) = f (q, t − T ) . (43)
Then to find an optimal T , we set equation (42) to zero, i.e.,
∞  ∂f ∂f 
∫ e − r ( t −T ) RQ (Q(t ))  Q (T − ) −  dt = R(Q(T ))
T
 ∂q ∂ (t − T ) 
. (44)
∞  ∂f 
⇒∫ e − r ( t −T )
RQ (Q(t ))  Q (T − ) − Q (t )  dt = R(Q(T )).
T
 ∂q 
Next, we show the two methods are equivalent. From equation (41), we can derive
f ( q ,t −T ) dx
∫q g ( R( x)) − δ x
= t −T . (45)

By differentiating with respect to q , we obtain,


∂f 1 1
 −  + = 0,
∂q Q(t ) Q(T )
∂f Q (t ) g ( R(Q)) − δ Q
or, =  + = .
∂q Q(T ) g ( R(Q(T ))) − δ Q(T )
(46)
We can then rewrite equation (44) as

30
∞ ∂Q(t )  −
∫ e − r ( t −T ) RQ (Q(t )) (Q(T ) − Q (T + ))dt
T ∂Q(T )
(47)
∞ ∂Q(t )
=∫ e − r ( t −T ) RQ (Q(t )) ( g (0) − g ( R(Q(T ))))dt = R (Q (T )).
T ∂Q(T )
Comparing equations (47) to (40), we see that Q(T ) = QC . Hence, the two approaches for

determining QC are equivalent.

Illustration 3: We examine the demand specification used earlier, D( P, Q) = e − P / Q , for which

P m (Q) = Q and R (Q) = Q / e ⇒ RQ (Q) = 1/ e . We take the equity function g ( PD) = e − PD . For no

chattering we require Q m > Q s and by (26) this implies:

(r + δ ) µ (Q m ) − ( g (0) − δ Q) µQ (Q m ) > 0
m
1 1 1 − e−Q / e m
⇒ r + δ > RQ [ + g '( R (Q )] ⇒ r + δ > [ m m
− e−Q / e ] (48)
µ e Q /e
1
⇒ r +δ > m
Q
as a sufficient condition for the functions specified. We select a low value of the obsolescence
rate δ = .00001 so that Q m = 22.9 . Then, by equation (48), for r > 0.04 , we are assured of being
in the no-chattering region. We look at the non-chattering solution by comparing between the
profit of the optimal harvesting pricing policy and another pricing policy that maintains
monopoly pricing throughout.

31
Figure 7: Profit and Transition time versus Discount Rate

50

40
Harvesting Profit
Monopoly Profit
30
T

20

10

0
0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Discount rate, r

The graph shows profit decreasing with the discount rate as in the closed source case. The
transition time is also decreasing. This is because, due to high depreciation, quality builds up so
slowly in the initial zero pricing period that it is not justified by the gain from reaching the steady
state faster. As the value of r increases, the transition time decreases to zero (i.e, QC = 0 ), after
which point the harvesting policy collapses to the monopoly pricing policy.

4. COMPARISON OF APPROACHES
We modeled the pricing and development of software under open and closed source.
Three cases were analyzed for closed source and it was found that under certain conditions, for
example, high wage rates and low programmer productivity, software development was not
viable. Similarly we characterize situations under open source software development where, due
to high obsolescence rates and low programmer participation, software development may be
unviable. It is quite possible that even if the firm is not viable under one approach, it is viable in
the other. In these circumstances the decision of which approach to take is simple. However,
when the software firm can be viable under either approach, further comparative analysis was
necessary to make the right decision.

32
Consideration of the results from the open and closed source analysis shows similarities
and differences. With closed source, a monopoly pricing strategy should be followed. For open
source, there may be a chattering policy. For both open and closed source, the end quality and
the profit expressions are increasing in the productivity parameters and the potential number of
programmers, and decreasing in the obsolescence rate. Unlike the closed source case, open
source end-quality is not influenced by the discount rate of the firm.
There are parameters that are unique to each approach such as the wage rate for closed
source and the η parameter for open source and these clearly would have unilateral effects. In
comparing the two approaches we can fix these parameters such that they do not tilt the
assessment of which method is better. A comparison using only common parameters still does
not yield a dominance ordering. The following diagram compares the profit and end-quality on
the number of available programmers. For this figure, g = kη N 0 e − Q / e , D = e − Q / P , k = η = 1 ,
r = δ = 0.05 , and w = 0.5 . The last number assumes that programmers contribute through
productivity twice as much as they are paid. The figure shows that open source is the better
alternative as the number of contributing programmers increases.

Figure 8: OS and CS Profits and End-Quality versus the Number of Programmers


180
170
160 Profit_CS
150
Q_CS
140
130 Profit_OS
120 Q_OS
110
100
90
80
70
60
50
40
30
20
10
0
0 1 2 3 4 5 6 7 8 9 10 11 12

Number of programmers

33
Since Q increases almost linearly with the number of open source programmers, it can be seen
that the time to reach steady state for open source is constant, independent of the number of
programmers when the obsolescence rate is small. In this case we can approximate
e −δ T * ≈ 1 − δ T * and use (31) to obtain T * ≈ Q / kη N 0 .
A plot of the time to equilibrium versus the number of programmers shows that this is
indeed the case. For, the parameter values chosen, open source takes approximately 8 time
periods to reach steady state quality regardless of the number of programmers, while the time to
equilibrium quality for closed source decreases with the number of programmers.

Figure 9: OS and CS time of reaching steady state versus the Number of Programmers
10

8
Time of reaching steady state

T*_OS
5
T*_CS

0
0 1 2 3 4 5 6 7 8 9 10 11 12

Number of programmers

34
Finally, we examine the implications of changes in the obsolescence rate. Higher
obsolescence has a negative effect on profits, steady state qualities and time to steady state. In all
cases we see an exponential decay.

Figure 10: OS and CS Profit, Steady State Quality, and


Time to Steady State versus the rate of Obsolescence (for N=10)

450
400
350
Profit, Quality

300 Profit_OS
250 Q_OS
200 Profit_CS
150 Q_CS
100
50
0
0 0.1 0.2 0.3 0.4 0.5
Delta

18
16
Time to steady state

14
12
10 T*_OS
8 T*_CS
6
4
2
0
0 0.1 0.2 0.3 0.4 0.5
Delta

5. CONCLUSIONS
The value of the open source paradigm is apparent from the many examples of successful
open source software. To understand this paradigm, there is a temptation to find strong parallels
with the traditional closed source paradigm. However, a fundamental difference exists between
the motivation of programmers in these two cases. In closed source, programmers are motivated
by pecuniary considerations, but in open source, non-pecuniary considerations such as altruism

35
and fairness motivate voluntary contributions. In particular, the risk of programmers’
disenchantment and abatement of altruism with profit making by the software firm poses a
significant peril to adopting open source software development. The present essay is a first
attempt at recognizing these distinct motives and exploring their consequences to software
pricing and development.
The open source business model is evaluated by comparing its performance against
closed source on the profit and quality dimensions. We have attempted to derive conclusions in
as general a form as possible, under the least restrictive assumptions which would nevertheless
permit derivation.
Our first finding relates to the pricing strategy. We find that there are only two price
points in the optimal solution. One is a price of zero, and the other is the revenue-maximizing
price at the given quality level, which we term the monopoly price. The pricing policy under
closed source is to follow monopoly pricing always. For an open source firm, starting with low
initial quality and relevant parameter values, the pricing policy had two elements: The first is to
quickly build up quality, by which we mean that the price should be zero till a certain quality
level is reached, to maximize the voluntary contributions and quality increase. The second
element is harvesting, i.e., the price should be high and quality development is kept to a
minimum, just sufficient to counter obsolescence. A feature of the pricing policy is that
chattering can occur, i.e., the price rapidly fluctuates between the monopoly price and zero.
When chattering does not occur, then harvesting takes place at the monopoly price. The analysis
provides contingent recommendations under all parameter values. For example, the viability of a
harvesting strategy depends on the obsolescence rates. For high obsolescence, the firm should
charge the monopoly price from the start.
Second, we compared profit and quality development under the open and closed source
approaches. It was seen that quality increased with productivity and discount rate, and decreased
with the wage rate for closed source. In both cases quality increases to a steady state value.
Despite these similarities, the quality expressions are markedly different. These differences
justify our closer examination of the non-pecuniary motivations that drive open source
programmers. Industry commentators have frequently advocated the use of closed source over
open source and vice versa (Mundie 2001, Perens 2001). Based on our analysis, we find it highly
unlikely that there is a single dominant approach to software development. Comparing the profit

36
and end-quality expressions from open source and closed source, we do not find a preferred
ordering under all parameter values. Profits and quality improvement in either scenario depends
greatly on exogenous variables such as wage rates, software demand (number of users), demand
sensitivity to price, as well as endogenous variables such as number of programmers, and reward
systems. The preference for either approach must be based on the simultaneous consideration of
all of the above factors.
Third, there are differences in the duration required for software quality reaches its steady
state value. For the closed source case it is optimal to reduce this time as much as possible by
hiring as many programmers as are available. For the open source case this duration is longer
and may go to infinity if the obsolescence rate is zero. In the latter case there is continuous
quality improvement of the software. We find that the number of programmers required for open
source to provide better steady state quality than closed source can be surprisingly low for
reasonable parameter values.
Finally, regarding the measurement of parameter values for the purposes of implementing
normative guidelines, we note that the optimal strategies on price (and in the case of closed
source, the number of programmers to hire) require only a few parameter values to be known.
The pricing path depends only on the realized quality in each case. The number of programmers
for closed source should be to the maximum extent that can be hired to build the software to its
steady-state level. Although the practical implementation of this is complicated due to issues of
hiring and firing, compensation, training, customer service and other projects that the firm may
be undertaking, the idea that most of the programming effort should be upfront, even when the
firm can sell software at whatever quality level it produces, is unintuitive but appears to be
relatively robust.
Among other parameters, the wage rate, and the relative efficiency of open source versus
closed source programmers need to be known. For values that are difficult to measure
objectively, a decision calculus approach has been proposed by Little (1970) to elicit information
from managers and allow managers to interact with the model to see the impact of their decisions
and further refine them. A Delphi procedure to obtain a consensus judgmental value for these
parameters can appropriately be undertaken (Jolson and Rossow 1971).

37
REFERENCES
Añez, J. 1999. Programmers or Entrepreneurs? Developer News, November 1.
Andreoni, J. 1990. Impure Altruism and Donations to Public Goods: A theory of warm glow
giving. Economic Journal 100 464-477.
Andreoni, J. 1993. An Experimental test of the Public-Goods crowding-out Hypothesis.
American Economic Review 83 1317-1327.
Andreoni, J. 1995. Cooperation in Public Goods experiments: Kindness or confusion? American
Economic Review 85 891-904.
Berinato, S. 1999. Open source: Innocence lost? eWEEK, June 28.
Bhattacharjee, A., B. Mishra, A., Prasad, S. Raghunathan. 2001. Open source versus Closed
source: Software Quality in Monopoly and Competitive markets. Working paper, The
University of Texas at Dallas.
Bloor Research. 1999. Linux versus NT: The Verdict. Oct 22. Press Release at
http://www.itsecurity.com/news4/p222.htm
Bolton, G., A. Ockenfels. 2000. ERC: A theory of Equity, Reciprocity, and Competition.
American Economic Review 90 166-193.
Brooks, F. 1975. The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley,
Reading, MA.
Camerer, C. F., R. H. Thaler. 1995. Ultimatums, Dictators and Manners. Journal of Economic
Perspectives 9 209-19.
Cason, T. N., T. Saijo, T. Yamato. 1999. Voluntary Participation and Spite in Public Good
Provision Experiments: An International Comparison. Working paper, Tokyo
Metropolitan University.
Corfman, K.P., D.R. Lehman. 1993. The importance of others’ Welfare in Evaluating Bargaining
outcomes. Journal of Consumer Research 14 1-13.
Dahan, E., H. Mendelson. 2001. An Extreme Value model of Concept Testing, Management
Science 47 102-116.

Dawes, R. M., R. H. Thaler. 1988. Anomalies: Cooperation. The Journal of Economic


Perspectives 2 187-197.

38
Derzko, N. A., S. P. Sethi, G. L. Thompson. 1984. Necessary and Sufficient Conditions for
Optimal Control of Quasilinear Partial Differential Systems, Journal of Optimization
Theory and Applications 43 89-101.
Dwyer, G. P. Jr. 1999. The Economics of Open Source and Free Software. Working paper,
Federal Reserve Bank of Atlanta.
Fehr, E., G. Kirchsteiger, A. Riedl. 1993. Does fairness prevent market clearing? An
experimental investigation. Quarterly Journal of Economics 108 437-459.
Fehr, E., K. Schmidt. 1999. A Theory of Fairness, Competition, and Cooperation. Quarterly
Journal of Economics 114 817-868.
Feinberg, F. M. 1992. Pulsing Policies for Aggregate Advertising Models. Marketing Science 11
221-234.
Grossman, L. 2002. The Browser that Roared. Time (April 29) 78.
Güth, W., R. Tietz. 1990. Ultimatum Bargaining Behavior: A Survey and Comparison of
Experimental Results. Journal of Economic Psychology 11 417-19.
Harsanyi, J. C. 1978. Bayesian Decision Theory and Utilitarian Ethics (in Economics and Ethics:
Altruism, Justice and Power). The American Economic Review 68 223-228.
Jolson, M. A., G. L. Rossow. 1971. The Delphi process in marketing decision making. Journal of
Marketing Research 8 443-448.
Kahneman, D., J. Knetsch, R. Thaler. 1986. Fairness and the Assumptions of Economics.
Journal of Business 59 S285-300.
Katz, M. L., C. Shapiro. 1986. Technology Adoption in the Presence of Network Externalities.
Journal of Political Economy 94 822-841.
Laird, C. 1998. Linux versus NT: Are you getting the most from your OS? Sunworld, August,
http://www.sunworld.com/sunworldonline/swol-08-1998/swol-08-linuxvnt.html
Lehmann, D. 2001. The impact of Altruism and Envy on Competitive Behavior and Satisfaction,
International Journal of Research in Marketing 18 5-17.
Lerner, J., J. Tirole. 2001. The Simple Economics of Open Source. Working Paper, Harvard
Business School, Cambridge, MA.
Levine, D. K. 1998. Modeling Altruism and Spitefulness in Experiments. Review of Economic
Dynamics 1 593-622.

39
Little, J. D. C. 1970. Models and Managers: The Concept of a Decision Calculus. Management
Science 16 B466-B485.
Mahajan, V., E. Muller. 1986. Advertising Pulsing Policies for Generating Awareness for New
Products. Marketing Science 5 89-106.
Mundie, C. 2001. Why Open Source is still Questionable. ZDNet.com, May 17.
O’Reilly, T. 1998. The Open Source Revolution. Release 1.0, November 1998,
http://www.edventure.com/release1 /1198.html.
O’Reilly, T. 1999. Lessons from Open-Source Software Development. Communications of the
ACM 42 32-37.
Perens, B., R. Stallman, E. Raymonds, L. Torvals, M. de Icaza, L. Walls, G. Van Rossum, T.
O’Reilly, B. Young, L. Augustin. 2001. Free Software Leaders Stand Together.
http://perens.com/Articles/StandTogether.html.
Prahalad, C. K., M. S. Krishnan. 1999. The New Meaning of Quality in the Information Age.
Harvard Business Review 77 109-118.
Lucky, Robert. 1995. Moore's dreams. IEEE Spectrum 32 16.
Ravichandran, T., A. Rai. 2000. Total Quality Management in Information Systems
Development: Key Constructs and Relationships. Journal of Management Information
Systems 16 119-155.
Raymond, E. S. 2001. The Cathedral and the Bazaar: Musings on Linux and Open Source by an
Accidental Revolutionary. O’Reilly, Sebastopol, CA.
Roth, A. 1995. Bargaining Experiments. J. Kagel, A. Roth, eds. Handbook of Experimental
Economics. Princeton University Press, Princeton, New Jersey.
Sasieni, M. W. 1971. Optimal Advertising Expenditures. Management Science 18 64-72.
Sethi, S. P. 1977. Nearest Feasible Paths in Optimal Control Problems: Theory, Examples and
Counterexamples. Journal of Optimization Theory and Applications 23 563-579.
Sethi, S. P., G. L. Thompson. 2000. Optimal Control Theory: Applications to Management
Science and Economics. Kluwer, Norwell MA.
Shankland, S. 2001. Sparks fly at Open Source debate. ZDNet News, July 26.
Smith, A. 1759. The Theory of Moral Sentiments. Clarendon Press, Oxford.
Stallman, R. 1985. The GNU Manifesto, http://www.gnu.org/gnu/manifesto.html.

40

Potrebbero piacerti anche