CVS is a version control system, which allows you to keep old versions of files (usually source code), keep a log of who, when, and why changes occurred, etc., like RCS or SCCS. Unlike the simpler systems, CVS does not just operate on one file at a time or one directory at a time, but operates on hierarchical collections of directories consisting of version controlled files. CVS helps to manage releases and to control the concurrent editing of source files among multiple authors. CVS allows triggers to enable/log/control various operations and works well over a wide area network.
cvs-nserver is the almost complete rewrite of network-related CVS code featuring security-critical code in separate executables, a clean authentication layer allowing virtual repositories running under a single system account with an unlimited number of virtual users, simple authentication modules which can authenticate against /etc/passwd, /etc/shadow, and PAM, and complete compatibility with existing clients.
cvs2html is a Perl program to transform the output of 'cvs log' to HTML. The HTML output will show the revision log history, differences between versions and enable a flexible configuration of the amount of information the user likes to see from the CVS repository. cvs2html can be used for any type of cvs archive.
cvsd is a wrapper program for CVS in pserver mode. It will run 'cvs pserver' under a special uid/gid in a chroot jail. cvsd is run as a daemon and is controlled through a configuration file. It is easy to configure and provides tools for setting up a rootjail and managing repositories.
cvsq (CVS queued) is a tool that enables developers with a dial-up connection to work comfortably with CVS. It accepts same arguments as CVS but instead of directly processing them, cvsq stores all requests in a queue and handles them later. This way, you can mark several files for commit and upload them when you're connected to the Net.