-
Notifications
You must be signed in to change notification settings - Fork 1
/
ch5.roff
2089 lines (2086 loc) · 104 KB
/
ch5.roff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.CH "The Magic Cauldron"
.AS
.PP
This essay analyzes the evolving economic substrate of the open-source
phenomenon. I first explode some prevalent myths about the funding of
program development and the price structure of software. I then
present a game-theory analysis of the stability of open-source
cooperation. I present nine models for sustainable funding of
open-source development; two non-profit, seven for-profit. I then
continue to develop a qualitative theory of when it is economically
rational for software to be closed. I then examine some novel
additional mechanisms the market is now inventing to fund for-profit
open-source development, including the reinvention of the patronage
system and task markets. I conclude with some tentative predictions
of the future.
.AE
.SH 1 "Indistinguishable From Magic"
.PP
In Welsh myth, the goddess Ceridwen owned a great cauldron that
would magically produce nourishing food—when commanded by a spell
known only to the goddess. In modern science, Buckminster Fuller gave
us the concept of ‘ephemeralization’, technology becoming both more
effective and less expensive as the physical resources invested in
early designs are replaced by more and more information content.
Arthur C. Clarke connected the two by observing that “Any
sufficiently advanced technology is indistinguishable from
magic”.
.PP
To many people, the successes of the open-source community seem
like an implausible form of magic. High-quality software materializes
“for free”, which is nice while it lasts but hardly seems
sustainable in the real world of competition and scarce resources.
What's the catch? Is Ceridwen's cauldron just a conjuring trick? And
if not, how does ephemeralization work in this context—what spell
is the goddess speaking?
.SH 1 "Beyond Geeks Bearing Gifts"
.PP
The experience of the open-source culture has certainly
confounded many of the assumptions of people who learned about
software development outside it. «\fIThe Cathedral and the
Bazaar\fP» described the
ways in which decentralized cooperative software development
effectively overturns Brooks's Law, leading to unprecedented levels of
reliability and quality on individual projects.
«\fIHomesteading the Noosphere\fP» examined the social dynamics within which
this ‘bazaar’ style of development is situated, arguing that it is
most effectively understood not in conventional exchange-economy terms
but as what anthropologists call a ‘gift culture’ in which members
compete for status by giving things away. In this essay I begin by
exploding some common myths about software production economics; then
continue the line of analysis of these essays into the realm of
economics, game theory and business models, developing new conceptual
tools needed to understand the way that the gift culture of
open-source developers can sustain itself in an exchange
economy.
.PP
In order to pursue this line of analysis without distraction,
we'll need to abandon (or at least agree to temporarily ignore) the
‘gift culture’ level of explanation. «\fIHomesteading the
Noosphere\fP» posited that
gift culture behavior arises in situations where survival goods are
abundant enough to make the exchange game no longer very interesting;
but while this appears sufficiently powerful as a
.I "psychological"
explanation of behavior, it lacks
suffiency as an explanation of the mixed
.I "economic"
context in which most open-source developers actually operate. For
most, the exchange game has lost its appeal but not its power to
constrain. Their behavior has to make sufficient
material-scarcity-economics sense to keep them in a
gift-culture-supporting zone of surplus.
.PP
Therefore, this essay will consider (from entirely
.I "within"
the realm of scarcity economics) the modes
of cooperation and exchange that sustain open-source development.
While doing so it will answer the pragmatic question “How do I make
money at this?”, in detail and with examples. First, though, I will
show that much of the tension behind that question derives from
prevailing folk models of software-production economics that are false
to fact.
.PP
(A final note before the exposition: the discussion and advocacy
of open-source development in this essay should not be construed as a
case that closed-source development is intrinsically wrong, nor as a
brief against intellectual-property rights in software, nor as an
altruistic appeal to ‘share’. While these arguments are still beloved
of a vocal minority in the open-source development community,
experience since «\fIThe Cathedral and the Bazaar\fP»
was published has made it clear that they are unnecessary. An
entirely sufficient case for open-source development rests on its
engineering and economic outcomes—better quality, higher
reliability, lower costs, and increased choice.)
.SH 1 "The Manufacturing Delusion"
.PP
We need to begin by noticing that computer programs like all
other kinds of tools or capital goods, have two distinct kinds of
economic value. They have ‘use value’ and ‘sale value’.
.PP
The use value of a program is its economic value as a tool, a
productivity multiplier. The sale value of a program is its value as
a salable commodity. (In professional economist-speak, sale value is
value as a final good, and use value is value as an intermediate
good.)
.PP
When most people try to reason about software-production
economics, they tend to assume a ‘factory model’ which is founded on
the following fundamental premises:
.PP
1. Most developer time is paid for by sale value.
.PP
2. The sale value of software is proportional to its development cost
(ie', the cost of the resources required to functionally replicate it)
and to its use value.
.PP
In other words, people have a strong tendency to assume that software
has the value characteristics of a typical manufactured good. But
both of these assumptions are demonstrably false.
.PP
First, code written for sale is only the tip of the programming
iceberg. In the pre-microcomputer era it used to be a commonplace
that 90% of all the code in the world was written in-house at banks
and insurance companies. This is probably no longer the
case—other industries are much more software-intensive now, and
the finance industry's share of the total must have accordingly
dropped—but we'll see shortly that there is empirical evidence
that approximately 95% of code is still written in-house.
.PP
This code includes most of the stuff of MIS, the financial- and
database-software customizations every medium and large company needs.
It includes technical-specialist code like device drivers. Almost
nobody makes money selling device drivers, a point we'll return to
later. It includes all kinds of embedded code for our increasingly
microchip-driven machines - from machine tools and jet airliners to
cars to microwave ovens and toasters.
.PP
Most such in-house code is integrated with its environment in
ways that make reusing or copying it very difficult. (This is true
whether the environment is a business office's set of procedures or
the fuel-injection system of a combine harvester.) Thus, as the
environment changes, work is continually needed to keep the software
in step.
.PP
This is called ‘maintenance’, and any software engineer or
systems analyst will tell you that it makes up the vast majority (more
than 75%) of what programmers get paid to do. Accordingly, most
programmer-hours are spent (and most programmer salaries are paid for)
writing or maintaining in-house code that has no sale value at
all—a fact the reader may readily check by examining the
listings of programming jobs in any newspaper with a ‘Help Wanted’
section.
.PP
Scanning the employment section of your local newspaper is an
enlightening experiment that I urge the reader to perform for him- or
herself. Examine the jobs listings under programming, data
processing, and software engineering for positions that involve the
development of software. Categorize each such job according to whether
the software is being developed for use or for sale.
.PP
It will quickly become clear that, even given the most inclusive
definition of ‘for sale’, at least 19 in 20 of the salaries offered
are being funded strictly by use value (that is, value as an
intermediate good). This is our reason for believing that only 5% of
the industry is sale-value-driven. Note, however, that the rest of
the analysis in this essay is relatively insensitive to this number;
if it were 15% or even 20%, the economic consequences would remain
essentially the same.
.PP
When I speak at technical conferences, I usually begin my talk
by asking two questions: how many in the audience are paid to write
software, and for how many do their salaries depend on the sale value
of software. I generally get a forest of hands for the first
question, few or none for the second, and considerable audience
surprise at the proportion.
.PP
Second, the theory that the sale value of software is coupled to
its development or replacement costs is even more easily demolished by
examining the actual behavior of consumers. There are many goods for
which a proportion of this kind actually holds (before
depreciation)—food, cars, machine tools. There are even many
intangible goods for which sale value couples strongly to development
and replacement cost—rights to reproduce music or maps or
databases, for example. Such goods may retain or even increase their
sale value after their original vendor is gone.
.PP
By contrast, when a software product's vendor goes out of business (or
if the product is merely discontinued), the maximum price consumers
will pay for it rapidly falls to near zero regardless of its
theoretical use value or the development cost of a functional
equivalent. (To check this assertion, examine the remainder bins at
any software store near you.)
.PP
The behavior of retailers when a vendor folds is very revealing.
It tells us that they know something the vendors don't. What they
know is this: the price a consumer will pay is effectively capped by
the
.I "expected future value of vendor service"
(where ‘service’ is here construed broadly to include enhancements,
upgrades, and follow-on projects).
.PP
In other words, software is largely a service industry operating
under the persistent but unfounded delusion that it is a manufacturing
industry.
.PP
It is worth examining why we normally tend to believe otherwise.
It may simply be because the small portion of the software industry
that manufactures for sale is also the only part that advertises its
product. The common mental bias that regards manufacturing as more
‘real’ than services, because it produces things you can heft, may be
at work\c
.NS .
Wayne Gramlich
.CW "<Wayne@Gramlich.Net>"
has proposed that the
persistance of the factory model is partly due to antiquated
accounting rules, formulated when machines and buildings were more
important and people less so. Software company books show the
computers, office furniture, and buildings as assets and the
programmers as expenses. Or course, in reality, the programmers are
the true assets and the computers, office equipment, and buildings
hardly matter at all. This perverse valuation is sustained by IRS and
stockmarket pressure for stable and uniform accounting rules that
reduce the complexity of assigning a dollar figure to the company's
value. The resulting drag has prevented the rules from keeping up
with reality.
.PP
On this view, pinning a high price to the bits in the product
(independent of future service value) is partly a sort of defense
mechanism, a way of agreeing for all parties involved to pretend that
the ontological ground hasn't fallen out from under the standard
accounting rules.
.PP
(Gramlich also points out that these rules underpin the bizarre and
often self-destructive acquisition sprees that many software companies
tear off on after IPO. “Usually the software company issues some
additional stock to build up a war chest. But they can't spend any of
this money to beef up their programming staff, because the accounting
rules would show that as increased expenses. Instead, the newly
public software company has to grow by acquiring other software
companies, because the accounting rules let you treat the acquisition
as an investment.”)
.NE
Also, some of the most
visible and heavily advertised products are ephemera like games that
have little in the way of continuing service requirements (the
exception, rather than the rule)\c
.NS
Shawn Hargreaves has written a good analysis of the applicability of
open-source methods to games;
Playing the Open Source Game (http://www.talula.demon.co.uk/games.html).
.NE
.PP
It is also worth noting that the manufacturing delusion encourages
price structures that are pathologically out of line with the actual
breakdown of development costs. If (as is generally accepted) over
75% of a typical software project's life-cycle costs will be in
maintenance and debugging and extensions, then the common price policy
of charging a high fixed purchase price and relatively low or zero
support fees is bound to lead to results that serve all parties
poorly.
.PP
Consumers lose because, even though software is a service
industry, the incentives in the factory model all work against a
vendor's offering
.I "competent"
service. If the
vendor's money comes from selling bits, most effort will go into
making bits and shoving them out the door; the help desk, not a profit
center, will become a dumping ground for the least effective employees
and get only enough resources to avoid actively alienating a critical
number of customers.
.PP
It gets worse. Actual use means service calls, which cut into the
profit margin unless you're charging for service. In the open-source
world, you seek the largest possible user base, so as to get maximum
feedback and the most vigorous possible secondary markets; in the
closed-source you seek as many buyers but as few actual users as
possible. Therefore the logic of the factory model most strongly
rewards vendors who produce shelfware—software that is sufficiently
well marketed to make sales but actually useless in practice.
.PP
The other side of this coin is that most vendors buying this
factory model will also fail in the longer run. Funding
indefinitely-continuing support expenses from a fixed price is only
viable in a market that is expanding quickly enough to cover the
support and life-cycle costs entailed in yesterday's sales with
tomorrow's revenues. Once a market matures and sales slow down, most
vendors will have no choice but to cut expenses by orphaning the
product\c
.NS .
Note for accountants: the argument that service costs will eventually
swamp a fixed up-front price still works if we move from constant
dollars to discounted present value, because future sale revenue
discounts in parallel with future service costs.
.PP
A similar but more sophisticated counter to the argument is to
observe that, per-copy, service cost will go to zero when the buyer
stops using the software; therefore you can still win, if the user
stops before he/she has generated too much service cost. This is
basically just another form of the argument that factory pricing
rewards the production of shelfware. Perhaps a more instructive way
to put it would be that the risk that your service costs will swamp
the purchase revenue rises with the expected period of usefulness of
the software. Thus, the factory model penalizes quality.
.NE
.PP
Whether this is done explicitly (by discontinuing the product) or
implicitly (by making support hard to get), it has the effect of
driving customers to competitors%mdash;because it destroys the product's
expected future value, which is contingent on that service. In the
short run, one can escape this trap by making bug-fix releases pose as
new products with a new price attached, but consumers quickly tire of
this. In the long run, therefore, the only way to escape is to have
no competitors—that is, to have an effective monopoly on one's
market. In the end, there can be only one.
.PP
And, indeed, we have repeatedly seen this support-starvation failure
mode kill off even strong second-place competitors in a market niche.
(The pattern should be particularly clear to anyone who has ever
surveyed the history of proprietary PC operating systems, word
processors, accounting programs, or business software in general.)
The perverse incentives set up by the factory model lead to a
winner-take-all market dynamic in which even the winner's customers
end up losing.
.PP
If not the factory model, then what? To handle the real cost
structure of the software life cycle efficiently (in both the informal
and economics-jargon senses of ‘efficiency’), we require a price
structure founded on service contracts, subscriptions, and a
.I "continuing"
exchange of value between vendor and
customer. This is already the price structure of the largest merchant
software products such as ERP (Enterprise Resource Planning) systems,
for which the development costs are so large that no fixed purchase
price could possibly cover them; firms like Baan and Peoplesoft
actually make their money from after-sale consulting fees. Under
the efficiency-seeking conditions of the free market we can predict
that this is the sort of price structure most of a mature software
industry will ultimately follow.
.PP
The foregoing begins to give us some insight into why
open-source software increasingly poses not merely a technological but
an economic challenge to the prevailing order. The effect of making
software ‘free’, it seems, is to force us into that
service-fee-dominated world—and to expose what a relatively weak
prop the sale value of the secret bits in closed-source software was
all along.
.PP
This transition will not be quite the wrench it may at first
appear. Many consumers find that pirate copies of packaged software
(especially games, operating systems, and popular productivity tools)
are readily available to them. Thus, many proprietary software sale
prices are, from the point of view of the consumer, only worth paying
as claims on other goods: vendor support, or the paper manuals, or a
feeling of virtuousness. Commercial distributions of so-called ‘free’
software often justify their price to the customer in exactly the same
way—the only difference is that their vendors do not fool
themselves into thinking that the bits alone necessarily have value to
the customer.
.PP
The term ‘free’ is misleading in another way as well. Lowering
the cost of a good tends to increase, rather than decrease, total
investment in the people and infrastructure that sustains it. When
the price of cars goes down, the demand for auto mechanics goes
up—which is why even those 5% of programmers now compensated by
sale-value would be very unlikely to suffer in an open-source world.
The people who lose in the transition won't be programmers, they will
be investors who have bet on closed-source strategies where they're
not economically viable.
.SH 1 "The “Information Wants to be Free” Myth"
.PP
There is another myth, equal and opposite to the factory-model
delusion, which often confuses peoples' thinking about the economics of
open-source software. It is that “information wants to be free”.
This usually unpacks to a claim that the zero marginal cost of
reproducing digital information implies that its clearing price ought
to be zero (or that a market full of duplicators will force it to
zero).
.PP
Some kinds of information really do want to be free, in the weak
sense that their value goes up as more people have access to them—a
technical standards document is a good example. But the myth that
.I "all"
information wants to be free is readily
exploded by considering the value of information that constitutes a
privileged pointer to a rivalrous good—a treasure map, say, or a
Swiss bank account number, or a claim on services such as a computer
account password. Even though the claiming information can be
duplicated at zero cost, the item being claimed cannot be. Hence, the
non-zero marginal cost for the item can be inherited by the claiming
information.
.PP
We mention this myth mainly to assert that it is almost
unrelated to the economic-utility arguments for open source; as we'll
see later, those would generally hold up well even under the
assumption that software actually
.I "does"
have the
(nonzero) value structure of a manufactured good. We therefore have
no need to tackle the question of whether software ‘should’ be free or
not.
.SH 1 "The Inverse Commons"
.PP
Having cast a skeptical eye on one prevailing model, let's see if we
can build another—a hard-nosed economic explanation of what makes
open-source cooperation sustainable.
.PP
This is a question that bears examination on a couple of different
levels. On one level, we need to explain the behavior of individuals who
contribute to open-source projects; on another, we need to understand
the economic forces that sustain cooperation on open-source projects like
Linux or Apache.
.PP
Again, we must first demolish a widespread folk model that interferes
with understanding. Over every attempt to explain cooperative
behavior there looms the shadow of Garret Hardin's “Tragedy of the
Commons”.
.PP
Hardin famously asks us to imagine a green held in common by a village
of peasants, who graze their cattle there. But grazing degrades the
commons, tearing up grass and leaving muddy patches, which re-grow
their cover only slowly. If there is no agreed-upon (and enforced!)
policy to allocate grazing rights that prevents overgrazing, all
parties' incentives push them to run as many cattle as quickly as
possible, trying to extract maximum value before the commons degrades
into a sea of mud.
.PP
Most people have an intuitive model of cooperative behavior that
goes much like this. The tragedy of the commons actually stems from
two linked problems, one of overuse and another of underprovision. On
the demand side, the commons situation encourages a race to the bottom
by overuse—what economists call a congested-public-good
problem. On the supply side, the commons rewards free-rider
behavior—removing or diminishing incentives for individual
actors to invest in developing more pasturage.
.PP
The tragedy of the commons predicts only three possible outcomes. One
is the sea of mud. Another is for some actor with coercive power to
enforce an allocation policy on behalf of the village (the communist
solution). The third is for the commons to break up as village
members fence off bits they can defend and manage sustainably (the
property-rights solution).
.PP
When people reflexively apply this model to open-source cooperation,
they expect it to be unstable with a short half-life. Since there's
no obvious way to enforce an allocation policy for programmer time
over the Internet, this model leads straight to a prediction that the
commons will break up, with various bits of software being taken
closed-source and a rapidly decreasing amount of work being fed back
into the communal pool.
.PP
In fact, it is empirically clear that the trend is opposite to
this. The trend in breadth and volume of open-source development can
be measured by submissions per day at Metalab and SourceForge (the
leading Linux source sites) or announcements per day at freshmeat.net
(a site dedicated to advertising new software releases). Volume on
both is steadily and rapidly increasing. Clearly there is some
critical way in which the “Tragedy of the Commons” model fails to
capture what is actually going on.
.PP
Part of the answer certainly lies in the fact that using
software does not decrease its value. Indeed, widespread use of
open-source software tends to
.I "increase"
its value,
as users fold in their own fixes and features (code patches). In this
inverse commons, the grass grows taller when it's grazed upon.
.PP
That this public good cannot be degraded by overuse takes care
of half of Hardin's tragedy, the congested-public-goods problem.
It doesn't explain why open source doesn't suffer from underprovision.
Why don't people who know the open-source community exists universally
exhibit free-rider behavior behavior, waiting for others to do the
work they need, or (if they do the work themselves) not bothering to
contribute the work back into the commons?
.PP
Part of the answer lies in the fact that people don't merely
need solutions, they need solutions
.I "on time" "."
It's
seldom possible to predict when someone else will finish a given piece
of needed work. If the payoff from fixing a bug or adding a feature
is sufficient to any potential contributor, that person will dive in
and do it (at which point the fact that everyone else is a free rider
becomes irrelevant).
.PP
Another part of the answer lies in the fact that the putative market
value of small patches to a common source base is hard to capture.
Supposing I write a fix for an irritating bug, and suppose many people
realize the fix has money value; how do I collect from all those
people? Conventional payment systems have high enough overheads to
make this a real problem for the sorts of micropayments that would
usually be appropriate.
.PP
It may be more to the point that this value is not merely hard to
capture, in the general case it's hard to even
.I "assign" "."
As a thought experiment, let us suppose that the Internet came
equipped with the theoretically ideal micropayment system—secure,
universally accessible, zero-overhead. Now let's say you have written a
patch labeled “Miscellaneous Fixes to the Linux Kernel”. How do you
know what price to ask? How would a potential buyer, not having seen
the patch yet, know what is reasonable to pay for it?
.PP
What we have here is almost like a funhouse-mirror image of
F. A. Hayek's ‘calculation problem’—it would take a superbeing,
both able to evaluate the functional worth of patches and trusted to
set prices accordingly, to lubricate trade.
.PP
Unfortunately, there's a serious superbeing shortage, so patch author
J. Random Hacker is left with two choices: sit on the patch, or throw
it into the pool for free.
.PP
Sitting on the patch gains nothing. Indeed, it incurs a future
cost—the effort involved in re-merging the patch into the source
base in each new release. So the payoff from this choice is actually
negative (and multiplied by the rapid release tempo characteristic of
open-source projects).
.PP
To put it more positively, the contributor gains by passing
maintainance overhead of the patch to the source-code owners and the
rest of the project group. He also gains because others will improve
on his work in the future. Finally, because he won't have to maintain
the patch himself, he will be able to afford more time on other and
larger customizations to suit his needs. The same arguments that
favor opening source for entire packages apply to patches as well.
.PP
Throwing the patch in the pool may gain nothing, or it may encourage
reciprocal effort from others that will address some of J. Random's
problems in the future. This choice, apparently altruistic, is
actually optimally selfish in a game-theoretic sense.
.PP
In analyzing this kind of cooperation, it is important to note that
while there is a free-rider problem (work may be underprovided in the
absence of money or money-equivalent compensation) it is not one that
scales with the number of end users (see the note\c
.NS
The underprovision problem would in fact scale linearly with number of
users if we assumed programming talent to be uniformly distributed in
the project user population as it expands over time. This is not,
however, the case.
.PP
The incentives discussed in «\fIHomesteading the Noosphere\fP»
(and some more conventionally economic ones as well) imply that
qualified people tend to seek projects that match their interests, as
well as the projects seeking them. Accordingly, theory suggests (and
experience tends to confirm) that the most valuable (most qualified
and motivated) people tend to discover the projects for which they fit
well relatively early in the projects' life cycles, with a
corresponding fall-off later on.
.PP
Hard data are lacking, but on the basis of experience I strongly
suspect the assimilation of talent over a growing project's lifetime
tends to follow a classical logistic curve.
.NE
for discussion). The complexity and
communications overhead of an open-source project is almost entirely a
function of the number of developers involved; having more end users
who never look at source costs effectively nothing. It may increase
the rate of silly questions appearing on the project mailing lists,
but this is relatively easily forestalled by maintaining a Frequently
Asked Questions list and blithely ignoring questioners who have
obviously not read it (and in fact both these practices are typical).
.PP
The real free-rider problems in open-source software are more a
function of friction costs in submitting patches than anything else.
A potential contributor with little stake in the cultural reputation
game (see «\fIHomesteading the Noosphere\fP») may, in the absence of money compensation,
think “It's not worth submitting this fix because I'll have to clean
up the patch, write a ChangeLog entry, and sign the FSF assignment
papers…”. It's for this reason that the number of contributors
(and, at second order, the success of projects) is strongly and
inversely correlated with the number of hoops each project makes a
contributing user go through. Such friction costs may be political as
well as mechanical. Together I think they explain why the loose,
amorphous Linux culture has attracted orders of magnitude more
cooperative energy than the more tightly organized and centralized BSD
efforts—and why the Free Software Foundation has receded in
relative importance as Linux has risen.
.PP
This is all good as far as it goes. But it is an after-the-fact
explanation of what J. Random Hacker does with his patch after he has
created it. The other half we need is an economic explanation of how
JRH was able to write that patch in the first place, rather than
having to work on a closed-source program that might have returned him
sale value. What business models create niches in which open-source
development can flourish?
.SH 1 "Reasons for Closing Source"
.PP
Before taxonomizing open-source business models, we should deal with
exclusion payoffs in general. What exactly are we protecting when
we close source?
.PP
Let's say you hire someone to write to order (say) a specialized
accounting package for your business. That problem won't be solved
any better if the sources are closed rather than open; the only
rational reasons you might want them to be closed is if you want to
sell the package to other people, or deny its use to competitors.
.PP
The obvious answer is that you're protecting sale value, but for the
95% of software written for internal use this doesn't apply. So
what other gains are there in being closed?
.PP
That second case (protecting competitive advantage) bears a bit of
examination. Suppose you open-source that accounting package. It
becomes popular and benefits from improvements made by the community.
Now, your competitor also starts to use it. The competitor gets the
benefit without paying the development cost and cuts into your
business. Is this an argument against open-sourcing?
.PP
Maybe—and maybe not. The real question is whether your gain from
spreading the development load exceeds your loss due to increased
competition from the free rider. Many people tend to reason poorly
about this tradeoff through (a) ignoring the functional advantage of
recruiting more development help, and (b) not treating the development
costs as sunk. By hypothesis, you had to pay the development costs
anyway, so counting them as a cost of open-sourcing (if you choose to
do that) is mistaken.
.PP
Another reason often cited is the fear that disclosing source of a
particular special accounting function might be tantamount to
revealing confidential aspects of your business plan. This is really
an argument not for closed source but against bad design; in a
properly-written accounting package, business knowledge should not be
expressed in code at all but rather in a schema or specification
language implemented by the accounting engine (for a closely parallel
case, consider the way that database schemas separate business
knowledge from the mechanics of the database engine). The separation
of function would enable you to guard the crown jewels (the schema)
while getting maximum benefit from open-sourcing the engine.
.PP
There are other reasons for closing source that are outright
irrational. You might, for example, be laboring under the delusion
that closing the sources will make your business systems more secure
against crackers and intruders. If so, I recommend therapeutic
conversation with a cryptographer immediately. The really
professional paranoids know better than to trust the security of
closed-source programs, because they've learned through hard
experience not to. Security is an aspect of reliability; only
algorithms and implementations that have been thoroughly peer-reviewed
can possibly be trusted as secure.
.SH 1 "Use-Value Funding Models"
.PP
A key fact that the distinction between use and sale value
allows us to notice is that only
.I "sale value"
is
threatened by the shift from closed to open source; use value is
not.
.PP
If use value rather than sale value is really the major driver
of software development, and (as was argued in «\fIThe
Cathedral and the Bazaar\fP») open-source development is really more
effective and efficient than closed, then we should expect to find
circumstances in which expected use value alone sustainably funds
open-source development.
.PP
And in fact it is not difficult to identify at least two important
models in which full-time developer salaries for open-source projects
are funded strictly out of use value.
.SH 2 "The Apache Case: Cost-Sharing"
.PP
Let's say you work for a firm that has a business-critical requirement
for a high-volume, high-reliability web server. Maybe it's for
electronic commerce, maybe you're a high-visibility media outlet
selling advertising, maybe you're a portal site. You need 24/7
uptime, you need speed, and you need customizability.
.PP
How are you going to get these things? There are three basic
strategies you can pursue:
.PP
.I "Buy a proprietary web server."
In this case,
you are betting that the vendor's agenda matches yours and that the
vendor has the technical competence to implement properly. Even
assuming both these things to be true, the product is likely to come
up short in customizability; you will be able to modify it only
through the hooks the vendor has chosen to provide. We can see from
the monthly Netcraft surveys that this proprietary path is not a
popular one, and is getting less popular all the time.
.PP
.I "Roll your own."
Building your own web server
is not an option to dismiss instantly; web servers are not very
complex, certainly less so than browsers, and a specialized one can be
very lean and mean. Going this path, you can get the exact features
and customizability you want, though you'll pay for it in development
time. Your firm may also find it has a problem when you retire or
leave.
.PP
.I "Join the Apache group."
The Apache server
was built by an Internet-connected group of webmasters who realized
that it was smarter to pool their efforts into improving one code base
than to run a large number of parallel development efforts. By doing
this they were able to capture both most of the advantages of
roll-your-own and the powerful debugging effect of massively-parallel
peer review.
.PP
The advantage of the Apache choice is very strong. Just how
strong, we may judge from the monthly Netcraft survey, which has shown
Apache steadily gaining market share against all proprietary web
servers since its inception. As of November 2000, Apache and its
derivatives have
60% market share\c
.NS
http://www.netcraft.com/survey/
.NE
— with no legal owner, no promotion, and no
contracted service organization behind it at all.
.PP
The Apache story generalizes to a model in which competing
software users find it to their advantage to cooperatively fund
open-source development because doing so gets them a better product,
at lower cost, than they could otherwise have.
.SH 2 "The Cisco Case: Risk-Spreading"
.PP
Some years ago, two programmers at Cisco (the networking-equipment
manufacturer) got assigned the job of writing a distributed
print-spooling system for use on Cisco's corporate network. This
was quite a challenge. Besides supporting the ability for arbitrary
user A to print at arbitrary printer B (which might be in the next
room or a thousand miles away), the system had to make sure that in
the event of a paper-out or toner-low condition the job would get
rerouted to an alternate printer near the target. The system also needed
to be able to report such problems to a printer administrator.
.PP
The duo came up with a
clever set of modifications\c
.NS
http://www.tpp.org/CiscoPrint/
.NE
to the standard Unix print-spooler software,
plus some wrapper scripts, that did the job. Then they realized that
they, and Cisco, had a problem.
.PP
The problem was that neither of them was likely to be at Cisco
forever. Eventually, both programmers would be gone, and the software
would be unmaintained and begin to rot (that is, to gradually fall out
of sync with real-world conditions). No developer likes to see this
happen to his or her work, and the intrepid duo felt Cisco had paid
for a solution under the not unreasonable expectation that it would
outlast their own employment there.
.PP
Accordingly, they went to their manager and urged him to authorize the
release of the print-spooler software as open source. Their argument
was that Cisco would have no sale value to lose, and much else to
gain. By encouraging the growth of a community of users and
co-developers spread across many corporations, Cisco could effectively
hedge against the loss of the software's original developers.
.PP
The Cisco story shows open source can function not only to lower
costs but to to spread and mitigate risk. All parties find that the
openness of the source, and the presence of a collaborative community
funded by multiple independent revenue streams, provides a fail-safe
that is itself economically valuable—sufficiently valuable to
attract funding for it.
.SH 1 "Why Sale Value is Problematic"
.PP
Open source makes it rather difficult to capture direct sale
value from software. The difficulty is not technical; source code is
no more nor less easily copied than binaries, and the enforcement of
copyright and license laws permitting capture of sale value would not
by necessity be any more difficult for open-source products than it is
for closed.
.PP
The difficulty lies rather with the nature of the social
contract that supports open-source development. For three mutually
reinforcing reasons, the major open-source licenses prohibit most of
the sort of restrictions on use, redistribution and modification that
would facilitate direct-sale revenue capture. To understand these
reasons, we must examine the social context within which the licenses
evolved; the Internet
hacker\c
.NS
http://www.tuxedo.org/~esr/faqs/hacker-howto.html
.NE
culture.
.PP
Despite myths about the hacker culture still too widely believed
outside it, none of these reasons has to do with hostility to the
market. While a minority of hackers does indeed remain hostile to the
profit motive, the general willingness of the community to cooperate
with for-profit Linux packagers like Red Hat, SuSE, and Caldera
demonstrates that most hackers will happily work with the corporate
world when it serves their ends. The real reasons hackers frown on
direct-revenue-capture licenses are more subtle and interesting.
.PP
One reason has to do with symmetry. While most open-source
developers do not intrinsically object to others profiting from their
gifts, most also demand that no party (with the possible exception of
the originator of a piece of code) be in a
.I "privileged"
position to extract profits.
J. Random Hacker is willing for Fubarco to profit by selling his
software or patches, but only so long as JRH himself could also
potentially do so.
.PP
Another has to do with unintended consequences. Hackers have observed
that licenses that include restrictions on and fees for commercial
use or sale (the most common form of attempt to recapture direct sale
value, and not at first blush an unreasonable one) have serious
chilling effects. A specific one is to cast a legal shadow on
activities like redistribution in inexpensive CD-ROM anthologies,
which we would ideally like to encourage. More generally,
restrictions on use/sale/modification/distribution (and other
complications in licensing) exact an overhead for conformance tracking
and (as the number of packages people deal with rises) a combinatorial
explosion of perceived uncertainty and potential legal risk. This outcome
is considered harmful, and there is therefore strong social pressure
to keep licenses simple and free of restrictions.
.PP
The final and most critical reason has to do with preserving the
peer-review, gift-culture dynamic described in «\fIHomesteading
the Noosphere\fP». License
restrictions designed to protect intellectual property or capture
direct sale value often have the effect of making it legally
impossible to fork the project. This is the case, for example, with
Sun's so-called "Community Source" licenses for Jini and Java. While
forking is frowned upon and considered a last resort (for reasons
discussed at length in «\fIHomesteading the
Noosphere\fP»), it's considered critically important that that
last resort be present in case of maintainer incompetence or defection
(eg', to a more closed license)\c
.NS .
For a paradigmatic example of forking following
defection, consult the history of OpenSSH. This project was belatedly
forked from the an early version of SSH (Secure Shell) after the
latter went to a closed license.
.NE
.PP
The hacker community has some give on the symmetry reason; thus,
it tolerates licenses like the Netscape Public License (NPL) that give
some profit privileges to the originators of the code (specifically in
the NPL case, the exclusive right to use the open-source Mozilla code
in derivative products including closed source). It has less give on
the unintended-consequences reason, and none at all on preserving the
option to fork (which is why Sun's Java and Jini Sun Community Source
License schemes have been largely rejected by the community).
.PP
(It bears repeating here that nobody in the hacker community
.I "wants"
projects to split into competing
development lines; indeed (as I observed in «\fIHomesteading
the Noosphere\fP») there is very strong social pressure
against forking, for good reasons. Nobody wants to be on a picket
line, in court, or in a firefight either. But the right to fork is
like the right to strike, the right to sue, or the right to bear
arms—you don't want to have to exercise any of these rights, but
it's a signal of serious danger when anyone tries to take them
away.)
.PP
These reasons explain the clauses of the Open Source Definition,
which was written to express the consensus of the hacker community
regarding the critical features of the standard licenses (the GPL, the
BSD license, the MIT License, and the Artistic License). These
clauses have the effect (though not the intention) of making direct
sale value very hard to capture.
.SH 1 "Indirect Sale-Value Models"
.PP
Nevertheless, there are ways to make markets in software-related
services that capture something like indirect sale value. There
are five known and two speculative models of this kind (more may
be developed in the future).
.SH 2 "Loss-Leader/Market Positioner"
.PP
In this model, you use open-source software to create or maintain a
market position for proprietary software that generates a direct
revenue stream. In the most common variant, open-source client
software enables sales of server software, or subscription/advertising
revenue associated with a portal site.
.PP
Netscape Communications, Inc. was pursuing this strategy when it
open-sourced the Mozilla browser in early 1998. The browser side of
their business was at 13% of revenues and dropping when Microsoft
first shipped Internet Explorer (IE). Intensive marketing of IE (and
shady bundling practices that would later become the central issue of
an antitrust lawsuit) quickly ate into Netscape's browser market
share, creating concern that Microsoft intended to monopolize the
browser market and then use de-facto control of HTML and HTTP to drive
Netscape out of the server market.
.PP
By open-sourcing the still widely popular Netscape browser,
Netscape effectively denied Microsoft the possibility of a browser
monopoly. They expected that open-source collaboration would
accelerate the development and debugging of the browser, and hoped
that Microsoft's IE would be reduced to playing catch-up and prevented
from exclusively defining HTML.
.PP
This strategy worked. In November 1998 Netscape actually began to
regain business-market share from IE. By the time Netscape was
acquired by AOL in early 1999, the competitive advantage of
keeping Mozilla in play was sufficiently clear that one of AOL's first
public commitments was to continue supporting the Mozilla project,
even though it was still in alpha stage.
.SH 2 "Widget Frosting"
.PP
This model is for hardware manufacturers (hardware, in this context,
includes anything from Ethernet or other peripheral boards all the way
up to entire computer systems). Market pressures have forced hardware
companies to write and maintain software (from device drivers through
configuration tools all the way up to the level of entire operating
systems), but the software itself is not a profit center. It's an
overhead—often a substantial one.
.PP
In this situation, opening source is a no-brainer. There's no
revenue stream to lose, so there's no downside. What the vendor gains
is a dramatically larger developer pool, more rapid and flexible
response to customer needs, and better reliability through peer
review. It gets ports to other environments for free. It probably
also gains increased customer loyalty as its customers' technical
staffs put increasing amounts of time into the code to improve the
source as they require.
.PP
There are a couple of vendor objections commonly raised
specifically to open-sourcing hardware drivers. Rather than mix these
objections with discussion of more general issues here, I have written
an afterword specifically on this topic.
.PP
The ‘future-proofing’ effect of open source is particularly
strong with respect to widget frosting. Hardware products have a
finite production and support lifetime; after that, the customers are
on their own. But if they have access to driver source and can patch
those drivers as needed, they're more likely to be happier repeat
customers.
.PP
A very dramatic example of adopting the widget frosting model was
Apple Computer's decision in mid-March 1999 to open-source "Darwin",
the core of their Mac OS X operating system.
.SH 2 "Give Away the Recipe, Open a Restaurant"
.PP
In this model, one open-sources software to create a market position
not for closed software (as in the loss-leader/market-positioner case)
but for services.
.PP
(I used to call this ‘Give Away the Razor, Sell Razor Blades’, but the
coupling is not really as close as the razor/razor-blade analogy
implies.)
.PP
This model was first used by Cygnus Solutions, arguably the first open
source business (1989). At the time, the GNU tools provided a common
development environment across several machines, but each tool used a
different configuration process and required a different set of patches
to run on each platform. Cygnus domesticated the GNU tools and created
the "configure" script to unify the build process (the recipe), and then
sold support services and binaries bundled with their version of the GNU
tools (the restaurant). In accordance with the GPL, they permitted
customers to freely use, distribute, and modify the software that they
distributed, but the service contract could be terminated (or a higher
fee had to be paid) if there were more users at the site using the
support services than were accounted for in the contract (no sharing at
the salad bar).
.PP
This also is what Red Hat and other Linux distributors do. What they
are actually selling is not the software, the bits itself, but the
value added by assembling and testing a running operating system that
is warranted (if only implicitly) to be merchantable and to be
plug-compatible with other operating systems carrying the same brand.
Other elements of their value proposition include free installation
support and the provision of options for continuing support contracts.
.PP
The market-building effect of open source can be extremely powerful,
especially for companies that are inevitably in a service position
to begin with. One very instructive recent case is Digital
Creations, a website-design house started up in 1998 that specializes
in complex database and transaction sites. Their major tool, the
intellectual-property crown jewels of the company, is an object
publisher that has been through several names and incarnations but
is now called Zope.
.PP
When the Digital Creations people went looking for venture
capital, the venture capitalist they brought in carefully evaluated
their prospective market niche, their people, and their tools. The VC
then recommended that Digital Creations take Zope open-source.
.PP
By traditional software industry standards, this looks like an
absolutely crazy move. Conventional business school wisdom has it
that core intellectual property like Zope is a company's crown jewels,
never under any circumstances to be given away. But the VC had two
related insights. One is that Zope's true core asset is actually the
brains and skills of its people. The second is that Zope is likely
to generate more value as a market-builder than as a secret tool.
.PP
To see this, compare two scenarios. In the conventional one,
Zope remains Digital Creations's secret weapon. Let's stipulate that
it's a very effective one. As a result, the firm will able to deliver
superior quality on short schedules—\fIbut nobody knows
that\fP. It will be easy to satisfy customers, but harder to
build a customer base to begin with.
.PP
The VC, instead, saw that open-sourcing Zope could be critical
advertising for Digital Creations's
.I "real"
asset— its people. He expected that customers evaluating Zope
would consider it more efficient to hire the experts than to develop
in-house Zope expertise.
.PP
One of the Zope principals has since confirmed very publicly
that their open-source strategy has "opened many doors we wouldn't