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.
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.
CVSsuck is a mirroring tool for CVS repositories. Unlike other tools such as CVSup or rsync, it uses cvs command to access the repository. So, it works well with remote repositories without a special server or shell account. However, it is inefficient because the CVS client/server protocol is not designed for mirroring.
CVSup is a software package for transferring and updating collections of files across a network. It consists of a server called cvsupd and a client called cvsup. CVSup is faster (often by an order of magnitude) and more flexible than traditional network packages such as rdist and sup. In addition, CVSup has special knowledge of RCS files (as used by CVS). Software projects using CVSup to distribute their CVS repositories include FreeBSD, KDE, and (shortly) Postgres.
cvsweb is a visual (WWW) interface for exploring a CVS repository. Its enhancements include recognition and display of popular MIME-types, visual, color-coded, side-by-side diffs of changes, and the ability sort the file display and to hide old files from view. cvsweb requires the server to have CVS and a CVS repository worth exploring.