资料来源
最后更新于:2022-04-01 15:43:51
# 资料来源
此书中的很多原始材料都是来自Subversion项目([http://subversion.tigris.org/](http://subversion.tigris.org/))的五年工作。Subversion是一个从零开始的开源版本控制系统,目的在于替代CVS成为开源社区版本控制系统*事实上*的选择。这个项目由我的雇主CollabNet公司([http://www.collab.net/](http://www.collab.net/))在2000年初发起,感谢上帝CollaNet从一开始就正确理解如何将它作为一个分布广泛的合作性项目来运作。从一开始我们就吸收了很多的志愿者,现在这个项目有50多名开发者,其中只有少数是CollabNet的雇员。
在很多方面Subversion都是开源软件项目的一个典型例子,最终我在上面花费的精力远超出我最初的预想。另一方面也是出于便利:无论何时我需要一个现象的样本,我的脑海里便会立即浮现出Subversion中的一个实例。但这也事关验证。虽然我不同程度地参与了其他几个开源项目,并且会和很多的朋友和相关的人交谈,但我很快就发现,当写成文字时,所有的断言都需要经过事实的检验。我不想仅仅根据我读到的它们公开邮件列表上列出的文档而对事件发表意见。如果有人想用以上的方式尝试Subversion,我知道,她大约只有50%的正确率,而另外50%是错误的。因此,当需要从一个我没有直接参与的项目找寻灵感或者实例时,我会找一个我信任并且了解内情的人,让他来说明项目的真实情况。
虽然过去5年我一直在做Subversion,但我从事自由软件行业已有12个年头了。因而,其它一些项目也对本书有所影响:
-
自由软件基金会(Free Software Foundation)的GNU Emacs文本编辑器项目,我在其中维护了几个小的软件包。
-
Concurrent Versions System (CVS)版本控制系统是我在1994–1995期间与Jim Blandy全力投入的一个项目,此后,我只是断断续续地参与这个项目的工作。
-
Apache软件基金会(Apache Software Foundation)的开源软件项目集,尤其是Apache可移植运行库(Apache Portable Runtime (APR)和Apache HTTP服务器。
-
OpenOffice.org 办公软件项目,Sleepycat软件公司的Berkeley Database项目,以及MySQL数据库项目;我个人并未参与这些项目的开发,但曾经对其进行关注,并在一些案例中与其开发人员进行过交谈。
-
GNU Debugger(GDB)项目(同上)。
-
Debian项目(同上)。
当然,以上并不是一个完整的名单。正如多数的自由软件程序员一样,我不定期地追踪自由软件行业中许多不同的项目,以对行业的整体情况有全面的了解。在此,我不一一列举所有的项目,但在书中会适时提及。