Sistem sočasnih različic (CVS) uporabljajo razvijalci programske opreme za spremljanje razvojnega procesa. Številni projekti programske opreme, zlasti na področju odprtokodnega razvoja, zahtevajo, da razvijalci v različnih delih sveta sodelujejo pri ustvarjanju in vzdrževanju programske opreme. CVS, znan tudi kot sistem za sočasne različice, je metoda, ki se uporablja za zagotovitev, da lahko vsak razvijalec spremlja spremembe, ki so narejene v programski opremi.
Razvoj programske opreme je strog proces. Delo v zakulisju, ki se nanaša na ustvarjanje programskih aplikacij, pogosto vključuje ure dela pri odpravljanju “programskih napak” ali napak v programu, ki povzročajo nenamerne rezultate. Z uporabo sistema sočasnih različic razvijalci ne morejo le slediti vsem spremembam, ki so bile narejene v aplikaciji, lahko tudi te spremembe “vrnejo nazaj”, če se pojavijo težave. To pomaga zmanjšati čas, potreben za razvoj programske aplikacije.
Večina vrst sistemov sočasnih različic deluje tako, da ima osrednji strežnik, ki shranjuje programsko kodo in dokumentacijo. Stranke se lahko povežejo s tem strežnikom, da zahtevajo kopijo kode ali dokumentacije, izvedejo revizije na njej in jo nato naložijo nazaj na strežnik. Strežnik bo nato shranil nove spremembe, ne da bi izbrisal predhodno kopijo. Tako lahko CVS zagotovi, da lahko razvijalci programske opreme razveljavijo vse spremembe, ki so narejene v programiranju ali dokumentaciji.
Ta sistem omogoča tudi, da CVS pomaga razvijalcem programske opreme pri ustvarjanju in vzdrževanju programske dokumentacije za njihove aplikacije. S sistemom sočasnih različic lahko razvijalci spremljajo vse spremembe in dopolnitve programa od zadnje izdaje. To piscem dokumentacije omogoča, da obstoječi dokumentaciji dodajo opise novih funkcij, namesto da zahtevajo, da novo dokumentacijo napišejo iz nič. To lahko močno zmanjša čas izdelave in stroške programske dokumentacije.
S povečanjem odprtokodnega razvoja se je povečal tudi pomen CVS v svetu programiranja. Tradicionalne ekipe za razvoj programske opreme so se na splošno nahajale na majhnem geografskem območju v zaprtem sistemu. Po drugi strani pa odprtokodni razvoj pogosto vključuje programerje programske opreme z vsega sveta, ki sodelujejo pri enem samem projektu. Brez sistema, kot je CVS, bi bil odprtokodni razvoj nepraktičen.
Čeprav se je sistem sočasnih različic povečal z odprtokodnim razvojem, so njegove aplikacije na drugih področjih poslovanja neizmerne. Področje prava pogosto spremlja spremembe, zaradi česar je CVS uporaben za pravne aplikacije. Ne glede na njegovo uporabo so prednosti sistema sočasnih različic postale precej očitne od njegovega razvoja.