资料来源

此书中的很多原始材料都是来自Subversion项目(http://subversion.tigris.org/)的五年工作。Subversion是一个从零开始的开源版本控制系统,目的在于替代CVS成为开源社区版本控制系统事实上的选择。这个项目由我的雇主CollabNet公司(http://www.collab.net/)在2000年初发起,感谢上帝CollaNet从一开始就正确理解如何将它作为一个分布广泛的合作性项目来运作。从一开始我们就吸收了很多的志愿者,现在这个项目有50多名开发者,其中只有少数是CollabNet的雇员。

在很多方面Subversion都是开源软件项目的一个典型例子,最终我在上面花费的精力远超出我最初的预想。另一方面也是出于便利:无论何时我需要一个现象的样本,我的脑海里便会立即浮现出Subversion中的一个实例。但这也事关验证。虽然我不同程度地参与了其他几个开源项目,并且会和很多的朋友和相关的人交谈,但我很快就发现,当写成文字时,所有的断言都需要经过事实的检验。我不想仅仅根据我读到的它们公开邮件列表上列出的文档而对事件发表意见。如果有人想用以上的方式尝试Subversion,我知道,她大约只有50%的正确率,而另外50%是错误的。因此,当需要从一个我没有直接参与的项目找寻灵感或者实例时,我会找一个我信任并且了解内情的人,让他来说明项目的真实情况。

虽然过去5年我一直在做Subversion,但我从事自由软件行业已有12个年头了。因而,其它一些项目也对本书有所影响:

当然,以上并不是一个完整的名单。正如多数的自由软件程序员一样,我不定期地追踪自由软件行业中许多不同的项目,以对行业的整体情况有全面的了解。在此,我不一一列举所有的项目,但在书中会适时提及。