1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml">
5
<head>
6
<link rev="made" href="mailto:esr@snark.thyrsus.com" />
7
<meta name="description"
8
content="Fetchmail participation statistics" />
9
<meta name="keywords" content="fetchmail, growth, analysis" />
10
<title>Trends in the fetchmail project's growth</title>
11
<style type="text/css">
12
/*<![CDATA[*/
13
 span.c6 {color: brown}
14
 span.c5 {color: red}
15
 span.c4 {color: lime}
16
 span.c3 {color: blue}
17
 div.c2 {text-align: center}
18
 h1.c1 {text-align: center}
19
/*]]>*/
20
</style>
21
</head>
22
<body>
23
<table width="100%" cellpadding="0" summary="Canned page header">
24
<tr>
25
<td width="30%" align="right">$Date$</td>
26
</tr>
27
</table>
28
29
<hr />
30
<h1 class="c1">Trends in the fetchmail project's growth</h1>
31
32
<p>The scattergram below was made with Gnuplot 3.7 from data pulled
33
directly out of the project NEWS file using two custom
34
shellscripts, <a href="timeseries">timeseries</a> and <a
35
href="growthplot">growthplot</a>. If you see a broken-image icon,
36
upgrade to a <a
37
href="http://www.libpng.org/pub/png/pngapbr.html">browser that can
38
view PNGs</a>.</p>
39
40
<div class="c2"><img src="growth.png"
41
alt="Fetchmail trends graph" /></div>
42
43
<p>The graph shows the population growth of the fetchmail project.
44
The horizontal scale is days since baseline, which is when I
45
started collecting statistics in October 1996 at version 1.9.0.
46
Left vertical scale is number of participants. There is one data
47
point for each release; therefore, the changes in density of marks
48
indicate release frequency.</p>
49
50
<p>The peak in the earliest part of the graph (before the note "Bad
51
addresses dropped") seems to be an artifact; I was not regularly
52
dropping addresses that became invalid at the time. Turnover on the
53
list seems to be about 5% per month (but that's just my estimate, I
54
don't have numbers on this).</p>
55
56
<p>The <span class="c3">blue scatter of squares</span> is total
57
participants. The <span class="c4">green scatter of crosses</span>
58
is the count of people on fetchmail-friends after I split the list.
59
The <span class="c5">cyan scatter of diamonds</span> is the
60
population of fetchmail-announce after the split.</p>
61
62
<p>The <span class="c6">brown scatter of diamonds</span> tracks
63
project size in lines of code (right vertical axis). The scale
64
relationship between this scatter and the other three is
65
arbitrary.</p>
66
67
<p>This graph is quite revealing. Several trends stand out:</p>
68
69
<ul>
70
<li>
71
<p>Over time, the project population displays rather consistent
72
linear growth.</p>
73
</li>
74
75
<li>
76
<p>The key event in the project's lifetime was release 4.3.0 in
77
October 1997, when I declared the code to be out of development and
78
in maintainance mode, and split the fetchmail list.</p>
79
</li>
80
81
<li>
82
<p>The run-up to 4.3.0 saw the most intensive spate of releases in
83
the project's history (the gap in that run happened when I took a
84
two-week vacation). It was followed by a significant slowdown.</p>
85
</li>
86
87
<li>
88
<p>After 4.3.0, the developer population remained fairly stable
89
around an average of about 250 participants.</p>
90
</li>
91
92
<li>
93
<p>Essentially all population growth after 4.3.0 happened on the
94
announce list, among people using fetchmail but not active
95
co-developers.</p>
96
</li>
97
98
<li>
99
<p>The growth trend in code size looks sublinear, perhaps
100
logarithmic.</p>
101
</li>
102
</ul>
103
104
<p>The linear growth trend in population is particularly
105
interesting; a priori we might expect geometric or logistic growth,
106
given that the project spreads by word of mouth.</p>
107
108
<p>It has been suggested that the linear growth rate is the result
109
of a situation in which both number of projects and the population
110
of eligible programmers are rising on trend curves of the same
111
(probably exponential) rate.</p>
112
113
<hr />
114
<table width="100%" cellpadding="0" summary="Canned page header">
115
<tr>
116
<td width="30%" align="right">$Date$</td>
117
</tr>
118
</table>
119
120
<br clear="left" />
121
<address>Eric S. Raymond <a
122
href="mailto:esr@thyrsus.com">&lt;esr@thyrsus.com&gt;</a></address>
123
</body>
124
</html>