<!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>