CVS
acronimo di Concurrent Versioning System (o sistema di versioni concorrenti). Sistema per la gestione di configurazioni software che permette di lavorare in modo cooperativo e concorrente allo sviluppo di un sistema software. Ogni elemento di una configurazione software viene sottoposto a un processo di revisione e validazione prima di essere memorizzato nel data base, che mantiene i file di configurazione del progetto (repository). Diversi sviluppatori possono estrarre i file su cui intendono lavorare e crearne copie in cartelle private. Le modifiche sono riportate nel repository e, se ne esistono di “concorrenti”, si possono effettuare fusioni (merge) e individuare i punti di differenza per risolvere gli eventuali conflitti. Inoltre si utilizzano comandi di alto livello che obbligano una sola modifica alla volta. Un elemento software può esistere in numerose varianti mentre è in costruzione una nuova versione del programma, in modo da potere selezionare la variante migliore. La gestione delle diverse versioni avviene utilizzando l'RCS (Revision Control System), che mantiene la traccia delle variazioni fra una versione e un'altra, riducendo lo spazio di memoria necessaria, e gestisce il processo di estrazione dal data base e dell'immissione di una variante, eventualmente bloccando la possibilità di modifiche concorrenti. In realtà il CVS funziona come interfaccia di alto livello per l'accesso all'RCS. Sistemi di questo genere, integrati in Linux, sono largamente usati nello sviluppo di applicazioni attraverso la pratica dell'open source, permettendo a diversi sviluppatori di cooperare alla realizzazione di programmi complessi pur in assenza di una gerarchia centralizzata.