CVS steht für Concurrent Version System und ist nicht nur das dominante Versionskontrollsystem in Open-Source-Projekten. Es hat sich im Lauf der Jahre geradezu zu einem Quasistandard unter den Versionsverwaltungen entwickelt. Seine herausragende Stellung verdankt es seiner kostenlosen Verfügbarkeit, seiner Portabilität und nicht zuletzt seiner langen Geschichte. Der Vorläufer, der auf Unix-Shellskripten basierte, geht bis ins Jahr 1986 zurück.
1989 hat Brian Berliner das Versionskontrollsystem neu entworfen, einige der bestehenden Algorithmen übernommen und CVS in der Programmiersprache C neu implementiert. Derzeit ist Version 1.12.11 aktuell, die kostenfrei über die CVS-Homepage heruntergeladen werden kann. Aber das ist oftmals gar nicht notwendig, denn viele Entwicklungswerkzeuge und Linux-Distributionen enthalten CVS ohnehin schon im Lieferumfang.
CVS besitzt wie die meisten derartigen Werkzeuge eine Client-Server-Architektur. Der Server speichert alle zu einem Projekt gehörenden Dateien in einem proprietären Repository, das man sich als Datenbank vorstellen kann. Als Standard-Client wird ein Kommandozeilenwerkzeug mitgeliefert. Wer mit dieser spartanischen Oberfläche nicht arbeiten will, kann auf verschiedene Alternativen zurückgreifen.
Die Clients für CVS
Von diversen anderen Anbietern gibt es Clients mit grafischer Oberfläche. Für Windows sind dies das bekannte "WinCvs" und die Explorer-Erweiterung "TortoiseCVS". Für Linux und andere Unix-Systeme ist "gCvs" verfügbar, und sogar für Mac OS X existiert ein Client, das "MacCvsX". Auch diverse Entwicklungsumgebungen wie Eclipse, Jbuilder und Netbeans haben einen derartigen Client integriert, so dass der Entwickler für Standardaufgaben nicht noch ein weiteres Programm neben seiner Entwicklungsumgebung benötigt.