附录B

    fetchmail成长的统计趋势

    下面这张散点图使用Gnuplot 3.7制作,数据是用两个shell脚本从fetchmail项目的NEWS文件中抓取的,这两个脚本可以在项目网站上找到。

    附录B fetchmail成长的统计趋势 - 图1

    该图展示了fetchmail项目参与人数的增长。横轴表示的是天数,起始时间是1996年10月,即我开始收集数据的时间,当时的版本号是1.9.0。左纵轴表示参与人数,每次新版本发布都会有一个数据点,因此,图中数据点的密集程度表明了版本发布的频率。

    图中一开始出现的峰值(在“Bad addresses dropped(无效地址删除)”注释之前)似乎是个假象,当时我并没有定期清理变得无效的地址。列表上每个月的流动率约为5%(只是我自己的估计,并没有具体的数据)。

    正方形散点表示参与者总人数。十字散点表示的是我把列表分开后在fetchmail-friends里的人数。三角形散点则表示了列表分开后在fetchmail-announce中的人数。

    菱形散点代表代码行数(右纵轴),它跟踪了项目的大小。这个散点同其他三个是没有比例关系的。

    从图中可以看出,有些趋势是很明显的:

    ·项目参与人数随时间呈现出持续的线性增长。

    ·项目生命周期中的关键事件是1997年10月4.3.0版本的发布,那时我宣布代码停止开发并进入维护模式,然后我将fetchmail列表分开。

    ·项目历史上发布最密集的阶段在4.3.0发布前那段时间(中间的缺口是因为我休了两周的假期),然后出现了一个明显的减速。

    ·开发者人数在4.3.0版本以后保持相对稳定,平均大约在250人左右。

    ·4.3.0以后的人数增长实质上都发生在announce列表上,也就是那些只使用fetchmail而不参与开发的人。

    ·代码规模似乎呈亚线性(sublinear)增长,也可能是对数增长。

    人数呈线性增长是非常有意思的。我们之前推测它的增长模型可能是几何级数增长或是逻辑斯谛(logistic)增长,因为这个项目是以口口相传的。

    有人指出,人数之所以呈线性增长,很可能是因为项目数量以及合格程序员人数都以相同的趋势增长(大约是指数增长)。(这样分到每个项目的人数只能呈线性增长。——译者注)

    还有一些网页也在做类似的事情:

    ·http://kitenet.net/programs/debhelper/stats/提供了debhelper工具包的增长统计数据。

    ·http://durak.org:81/sean/pubs/kfc/提供了Linux内核中某些词汇的统计。