事实上,大多数(如果不是所有)开源应用程序通常都是在诸如emacs(受人尊敬的用户环境和程序编辑器)、gcc(官方GNU C编译器)和gdb (GNU调试器)等开源工具的帮助下编写的。
最重要的是,这些应用程序和许多其他应用程序的源代码由一个实用程序维护,该实用程序尽职地存储所有这些应用程序,并负责管理不断变化的版本:CVS。
换句话说,开源软件已经成为市场上的一个强大玩家,甚至在某些领域(如上面提到的)占据主导地位。
CVS是开源运动的基础,是开发人员和最终用户的存储库。
通常,这些最终用户与开发人员没有任何不同,因为在开源世界中,质量保证是由他们完成的,然后他们将bug修复贡献给社区。
因此,像CVS这样的源代码存储库和版本控制系统必须是一个非常灵活的工具,为整个开源社区提供一个稳定可靠的前端。
这本书有两个目标,一个是文化目标,另一个是技术目标。
文化目标是在一定程度上记录这种开源文化,并为管理或参与开源项目的人员提供实用的建议。
技术目标是告诉您如何有效地使用CVS,并着眼于在开源项目中使用它。
关于第一个目标,我们想强调“建议”这个词。
事实上,没有人,甚至理查德·斯托尔曼(Richard Stallman),能够权威地谈论或记录这种开源现象。
这个领域实在是太广阔了,它影响了经济、文化、社会和政治科学的许多方面,一个人无法完全掌握,当然本书的作者也无法完全掌握。
至于CVS,请注意,尽管它将在开放源码项目的上下文中教授,但是您将很好地学习CVS,以便在任何地方使用它。
它不仅用于管理程序源代码;
人们还用它来表示版本——是的,这是一个动词——web站点、文本文档、配置文件等等。
我们假设您对编程或处理在线文档有一定的了解,但不需要预先熟悉CVS。
至少要对Unix和sh或bash shell有一定的了解,因为CVS示例是在Unix环境中给出的。