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
|
<!doctype HTML public "-//W3O//DTD W3 HTML 3.2//EN">
<HTML>
<HEAD>
<link rev=made href=mailto:esr@snark.thyrsus.com>
<meta name="description" content="Fetchmail participation statistics">
<meta name="keywords" content="fetchmail, growth, analysis">
<TITLE>Trends in the fetchmail project's growth</TITLE>
</HEAD>
<BODY>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="/~esr">Eric's Home Page</a>
<td width="30%" align=center>Up to <a href="/~esr/sitemap.html">Site Map</a>
<td width="30%" align=right>$Date: 2001/03/01 04:15:03 $
</table>
<HR>
<H1 ALIGN=CENTER>Trends in the fetchmail project's growth</H1>
The scattergram below was made with Gnuplot 3.7 from data pulled
directly out of the project NEWS file using two custom shellscripts,
<a href="timeseries">timeseries</a> and <a
href="growthplot">growthplot</a>. If you see a broken-image icon, upgrade
to a <a href="http://www.libpng.org/pub/png/pngapbr.html">browser that
can view PNGs</a>.<p>
<center><img src="growth.png"></center><p>
The graph shows the population growth of the fetchmail project. The
horizontal scale is days since baseline, which is when I started
collecting statistics in October 1996 at version 1.9.0. Left vertical
scale is number of participants. There is one data point for each
release; therefore, the changes in density of marks indicate release
frequency.<p>
The peak in the earliest part of the graph (before the note "Bad
addresses dropped") seems to be an artifact; I was not regularly
dropping addresses that became invalid at the time. Turnover on the
list seems to be about 5% per month (but that's just my estimate, I
don't have numbers on this).<p>
The <font color="blue">blue scatter of squares</font> is total
participants. The <font color="lime">green scatter of crosses</font> is
the count of people on fetchmail-friends after I split the list. The
<font color="purple">violet scatter of triangles</font> is the population
of fetchmail-announce after the split.<P>
The <font color="brown">brown scatter of diamonds</font> tracks project
size in lines of code (right vertical axis). The scale relationship
between this scatter and the other three is arbitrary.<p>
This graph is quite revealing. Several trends stand out: <p>
<ul>
<li>
Over time, the project population displays rather consistent linear growth.<p>
<li>
The key event in the project's lifetime was release 4.3.0 in October
1997, when I declared the code to be out of development and in
maintainance mode, and split the fetchmail list.<p>
<li>
The run-up to 4.3.0 saw the most intensive spate of releases in the
project's history (the gap in that run happened when I took a two-week
vacation). It was followed by a significant slowdown.<p>
<li>
After 4.3.0, the developer population remained fairly stable around
an average of about 250 participants.<p>
<li>
Essentially all population growth after 4.3.0 happened on the announce list,
among people using fetchmail but not active co-developers.<p>
<li>
The growth trend in code size looks sublinear, perhaps logarithmic.
</ul>
The linear growth trend in population is particularly interesting; a
priori we might expect geometric or logistic growth, given that the
project spreads by word of mouth.<P>
It has been suggested that the linear growth rate is the result of a
situation in which both number of projects and the population of
eligible programmers are rising on trend curves of the same (probably
exponential) rate.<p>
There are some other pages doing similar things:<p>
<ul>
<li>
<a href="http://kitenet.net/programs/debhelper/stats/">Here</a>
are growth statistics on the debhelper packaging utility.<p>
<li>
<a href="http://durak.org:81/sean/pubs/kfc/">Here</a> is a page on the
vocabulary of the Linux kernel.<p>
</ul>
<HR>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="/~esr">Eric's Home Page</a>
<td width="30%" align=center>Up to <a href="/~esr/sitemap.html">Site Map</a>
<td width="30%" align=right>$Date: 2001/03/01 04:15:03 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@thyrsus.com></A></ADDRESS>
</BODY>
</HTML>
|