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:
[email protected]. The authors thank seminar participants at Columbia University and the University of Texas at Dallas. *
1 Electronic copy available at: http://ssrn.com/abstract=312279
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 Electronic copy available at: http://ssrn.com/abstract=312279
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 Linux FreeBSD Perl Tcl Python GNU project Patch CVS Apache
StarOffice
Description 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, OpenBSD, and other Berkeley UNIX derivatives boasts an estimated 1 million users. Larry Wall’s Perl is the engine behind most “live content” on the Internet, and is used by over 1 million users. John Ousterhout’s tcl language is used by over 300,000 users. Guido van Rossum’s Python language is used by over 325,000 users. 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. Larry Wall’s patch program allows users to exchange small fixes to programs in isolation rather than exchanging the entire software. Concurrent Versioning System (CVS) allows users to maintain multiple versions of the same software. 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 secondplaced Microsoft’s IIS at 23 percent. 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 nonexpert Linux users to be able to implement Linux into their applications. Using the source code requires expertise and documentation. This has led to several commercial companies stepping in to meet these needs, for example, Red Hat, and Caldera. These commercial enterprises naturally charge a price from buyers. 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 5
(Stallman, 1985). People are willing to put their time and money into public projects as long as 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).
6
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 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)
7
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 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
8
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. 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
9
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. 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
10
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.. 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 → ∞ .
11
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
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. ∞
Max
P ( t ) ≥ 0, N ( t ) ≥ 0
∫e
− rt
[ P(t ) D( P (t ), Q(t )) − w(Q) N (t )]dt
(4)
0
s.t. dQ(t ) = kN (t ) − δ Q, dt N (t ) ∈ [0, N C ].
12
Q(0) = Q0
(5)
The objective function can be rewritten as Max
N ( t )≥0
∞ − rt J = ∫ e [ R(Q(t )) − w(Q) N (t )]dt . 0
(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,
J Γ = v∫
Γ
= ∫∫ R
w(Q)δ Q w(Q) − rt ]dt − e− rt dQ e [ R(Q(t )) − k k ∂ ∂ − rt e [ R(Q ) − w(Q)δ Q / k ] −e − rt w(Q) / k − ∂Q ∂t
(
)
(
) dtdQ
δ Qw '(Q) δ w(Q) rw(Q) = ∫∫ e − rt − RQ (Q) + + dtdQ. k k k R (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.,
(r + δ ) w(Q) δ Qw '(Q) + = RQ (Q) , k k
(8)
and solve this equation. Let us assume RQ (0) > (r + δ ) w(0) / k , i.e., wage costs or the discount rate or the obsolescence 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) > (r + δ ) w(0) / k is shown as Case A. We have also shown two other cases when RQ (0) ≤ (r + δ ) w(0) / k . In Case B, we have two solutions Q s1 and
13
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 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 (r+ δ)w (Q)/k+ δQw’(Q)/k
RQ (Q)
Case A
Case B Minima
Case C
(r+ δ)w (0)/k
Q Q s1
Q s2
Qs
Returning to our analysis of Case A, observe that > 0 (r + δ ) w(Q) δ Qw '(Q ) − RQ (Q) + + = 0 k k < 0
for Q > Q s , for Q = Q s ,
(9)
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
t ≤ T *, t > T *,
N N *(t ) = C δ Q / k
(10)
where, T* =
1
δ
ln
kN C − δ Q0 . kN C − δ Q
Furthermore, the optimal quality is
14
(11)
kN C (1 − e −δ t ) + Q0 e −δ t Q *(t ) = δ Q
t < T *,
(12)
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 T*
∫e 0
− rt
∞
wN C dt + ∫ e − rt T*
wδ Q dt k
wN C w(δ Q / k − N C )e − rT * wN C w(kN C − δ Q )( r +δ ) / δ = + = − . r r r rk (kN C − δ Q0 ) r / δ
(13)
Thus, the optimal total profit with Q0 < Q is kN C R(Q)e − rT * wN C w(δ Q / k − N C )e − rT * kN C −δ t − − . ∫0 e R δ − ( δ − Q0 )e dt + r r r
T*
− rt
Steady State Profit
Transient Profit
(14)
Wage cost
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 calculated to be
w(Q − Q0 ) . Thus, the maximum possible profit for the problem with Q0 < Q k
and with unlimited programmers is R (Q) w(Q − Q0 ) wδ Q . − − r
k kr N
Gross profit
Impulse wage
(15)
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)
Q
Quality (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 N *(t ) = N C
when Q *(t ) > Qˆ > Q, when Qˆ ≥ Q *(t ) > Q.
(16)
In this case, Q *(t ) decreases to Q asymptotically. It is also possible to get an expression for Qˆ in terms of N C . This is w(Qˆ ) =
(r + δ ) RQ (Qˆ ) r + δ + kN 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 w(Q) = wQ and Q0 = 0 . 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) > (r + δ ) w(0) / k for Case A is always met since w(0) = 0 . By solving equation (8) we get Q = Qs =
k k = , we(r + 2δ ) M
(18)
where M ≡ we(r + 2δ ) . Then the time at which the steady state quality Q is obtained is T* =
1
δ
ln
NC M , and the optimum profit is NC M − δ e − rT * Q wδ Q Q(t ) Π = ∫ e − rt − wQ(t ) N C dt + − r e k e 0 T*
kN (1 − e −δ t ) e − rT * (k − ewδ ) 1 dt + = ( − wN C ) ∫ e − rt C e rMe δ 0 T*
= =
(1 − ewN C )kN C (δ + re − ( r +δ )T * − (r + δ )e − rT * ) rδ e(r + δ )
e − rT * (k − ewδ ) + reM
(1 − ewN C )k ( N C M (1 − e − rT * ) − re − rT * ) + e− rT * (k − ewδ )(r + δ ) re(r + δ ) M
. (19)
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 or obsolescence rate is high, or productivity low, in such a way that (r + δ ) w(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
17
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. 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. Π = Max P ( t )≥0
s.t.
J =
dQ = g ( PD) − δ Q, dt
− rt e PDdt ∫0
∞
Q(0) = Q0 .
(20) (21)
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
18
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. Figure 3: Revenue versus Price at a given Quality level Q PD R(Q )
P 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 )] .
19
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. 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.
20
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 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 Π = Max 1≥ u ≥ 0
s.t.
J =
− rt e uR ( Q ) dt ∫0
∞
dQ = (1 − u ) g (0) + ug ( R(Q)) − δ Q, dt
(22) Q(0) = Q0 .
(23)
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.,
21
u=
g (0) − δ Q − dQ / dt , g (0) − g ( R(Q))
(24)
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, J Γ = v∫
Γ
= ∫∫ R
e − rt [ g (0) − δ Q]R(Q) e − rt R(Q) dt − dQ g (0) − g ( R(Q)) g (0) − g ( R(Q)) ∂ ∂ e − rt [ g (0) − δ Q]R(Q) e − rt R(Q) − − dtdQ ∂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 g (0) − g ( R(Q)) g (0) − g ( R(Q)) R (r + δ ) R(Q) − [1 + µ (Q) g '( R(Q ))][ g (0) − δ Q ]RQ (Q ) = ∫∫ e − rt dtdQ, g (0) − g ( R ( Q )) R (25) where we have defined
µ (Q) ≡
R(Q) . g (0) − g ( R(Q))
(26)
It is useful to note the following properties of µ (Q) .
Theorem 3:
(i) For Q > 0 ,
−1 −1 −1 > µ (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) . (iii) µ QQ (Q ) =
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 ) g (0) − g ( R (Q ))
Proof: (i) From the mean value theorem observe that µ (Q) =
R (Q) −∫
R (Q )
0
g '( x)dx
=
.
1 for some − g '(v)
v ∈ (0, R (Q)) . Since g '' > 0 , we have − g '( R(Q)) < − g '(v) < − g '(0) . The result follows in view of g ' < 0 . To obtain µ (0) , we apply L’Hôpital’s rule: lim µ (Q) = lim Q →0
= lim
Q →0
RQ (Q) − g '( R(Q)) RQ (Q)
=
Q →0
R(Q) g (0) − g ( R(Q))
−1 . Parts (ii) and (iii) follow from differentiation, where part (ii) g '(0)
22
again =
requires
the
application
g '(0) µQ (0) + RQ (0) g "(0) µ (0) − g '(0)
of
L’Hôpital’s
. This implies µ Q (0) =
rule:
µ Q (0) = lim
RQ (0) g "(0) 2 g '(0) 2
RQ (Q )[1 + g '( R (Q )) µ (Q )]
Q →0
g (0) − g ( R (Q ))
. QED
To examine the sign of the integrand in equation (25), denoted I (Q ) , we set it first to zero, i.e., I (Q) ≡
(r + δ ) R(Q) − [1 + µ (Q) g '( R (Q))][ g (0) − δ Q]RQ (Q)
g (0) − g ( R(Q)) ⇒ (r + δ ) µ (Q) − [ g (0) − δ Q]µQ (Q) = 0
=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 RQ (0) ≥
−2(r + δ ) g '(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
I (Q ) < 0
g "(0)RQ (0) 2g '(0)
I (Q ) > 0
2
µQ (Q)
−(r + δ ) g (0) g '(0)
Q 0
Qs
23
g (0) / δ
If the condition RQ (0) ≥
−2(r + δ ) g '(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 . u = = g (0) − g ( R(Q s )) µQ (Q s ) R (Q s ) s
(28)
Then, if u s lies in [0,1] , following Sethi and Thompson (2000, Ch. 7), we have the optimal solution 1 u *(t ) = u s 0
Q > Qs , Q = Qs ,
(29)
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 selfselect 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 for an interior solution RQ (0) ≥
−2(r + δ ) g '(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 (r + δ )Q / e − kη N 0 (1 − e −Q / e )
Q/e ] (1 − e − Q / e ) = 0. ekη N 0 (1 − e − Q / e )
(kη N 0 − δ Q)[1 −
(30)
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
0
t kη N 0 1 dQ = ∫ dt ⇒ T * = ln . δ kη N 0 − δ Q s kη N 0 − δ Q 0
(31)
Since g (0) − δ Q s = kη N 0 − δ Q s > 0 always, T * < ∞ . The profit is u R (Q ) ∫ s
s
∞
T*
u s R (Q s )e − rT * 1 kη N 0 − δ Q s Q s kη N 0 − δ Q s = e dt = s r r kη N 0 − e − Q / e e kη N 0 − rt
25
r /δ
.
(32)
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 Qm =
g ( R(Q m )) .
(33)
δ
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. 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.
26
Figure 6: Determining the Price Trajectory in the No-Chattering Solution Q0 ≥ Q s
Q0 < Q s
Q Q Q01
G
Qm u =1
u=1 H’ I
F
Qs
E
H
m
Q
D
C
Q02
QC
Qs
t
B
F’
u=0
Q0 A T
t
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 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.
27
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 u *(t ) = u s 0
λ (t ) < µ (Q(t )), λ (t ) = µ (Q(t )), λ (t ) > µ (Q(t )).
(35)
The adjoint equation is dλ = r λ − H Q = (r + δ )λ − uRQ (Q)(1 + λ g '( R(Q))) . dt
28
(36)
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 ) = ∫
∞
T
e − r ( t −T ) R (Q(t ))dt ,
(38)
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
λ (T ) =
∞ d Π (QC ) ∂Q(t ) dt . = ∫ e − r ( t −T ) RQ (Q(t )) T dQC ∂QC
(39)
But this must equal to µ (QC ) at the time of the switch, so that we have
∫
∞
T
e − r ( t −T ) RQ (Q(t ))
R(QC ) ∂Q(t ) dt = . g (0) − g ( R(QC )) ∂QC
29
(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
∫
∞
e − r ( t −T )
T
dR(Q(t )) dt − R (Q(T )) . dT
(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 − T ) ∂q
∞
T
⇒∫
∞
T
e
− r ( t −T )
∂f RQ (Q(t )) Q (T − ) − Q (t ) dt = R(Q(T )). ∂q
.
(44)
Next, we show the two methods are equivalent. From equation (41), we can derive
∫
f ( q ,t −T )
q
dx = t −T . g ( R( x)) − δ x
(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
∫
∞
∂Q(t ) − (Q(T ) − Q (T + ))dt ∂Q(T ) ∂Q(t ) e − r ( t −T ) RQ (Q(t )) ( g (0) − g ( R(Q(T ))))dt = R (Q (T )). ∂Q(T )
e − r ( t −T ) RQ (Q(t ))
T
=∫
∞
T
30
(47)
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
m 1 1 − e−Q / e ⇒ r + δ > RQ [ + g '( R (Q )] ⇒ r + δ > [ m − e−Q / e ] µ e Q /e 1 ⇒ r +δ > m Q
1
m
(48)
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. 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
Discount rate, r
31
0.16
0.18
0.2
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. 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
32
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
Q_CS
160
Profit_OS
150
Q_OS
140 130
Profit_CS
120 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
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.
33
Figure 9: OS and CS time of reaching steady state versus the Number of Programmers 10
9
Time of reaching steady state
8
7
6
T*_OS T_CS*
5 4
3
2 1
0 0
1
2
3
4
5
6
7
8
9
10
11
12
Number of programmers
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.
34
Figure 10: OS and CS Profit, Steady State Quality, and
Profit, Quality
Time to Steady State versus the rate of Obsolescence (for N=10)
450 400 350 300 250 200 150 100 50 0
Profit_OS Q_OS Profit_CS Q_CS
0
0.1
0.2
0.3
0.4
0.5
Time to steady state
Delta
18 16 14 12 10 8 6 4 2 0
T*_OS T*_CS
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 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
35
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 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
36
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