Hva er systemet for samtidige versjoner?
Concurrent Versions System (CVS) brukes av programvareutviklere for å holde oversikt over utviklingsprosessen. Mange programvareprosjekter, spesielt innen åpen kildekodeutvikling, krever at utviklere i forskjellige deler av verden samarbeider for å lage og vedlikeholde programvare. Også kjent som Concurrent Versioning System, er CVS en metode som brukes for å sikre at hver utvikler kan følge med på endringer som er gjort i programvaren.
Programvareutvikling er en streng prosess. Arbeidet bak kulissene som går ut på å lage programvare innebærer ofte timevis med å løse "programvarebugs" eller feil i programmet som forårsaker utilsiktede resultater. Ved å bruke et Concurrent Versions System er ikke bare utviklere i stand til å holde rede på alle endringer som gjøres i applikasjonen, de kan også "rulle tilbake" disse endringene hvis problemer oppstår. Dette bidrar til å minimere tiden det tar å utvikle programvaren.
De fleste typer systemer for samtidige versjoner fungerer ved å ha en sentral server som lagrer programmeringskoden og dokumentasjonen. Klienter kan koble seg til denne serveren for å be om en kopi av koden eller dokumentasjonen, utføre revisjoner på den og deretter laste den tilbake til serveren. Serveren vil deretter lagre de nye endringene uten å slette den forrige kopien. Slik kan en CVS sikre at programvareutviklere kan angre endringer som gjøres i programmeringen eller dokumentasjonen.
Dette systemet lar også CVS hjelpe programvareutviklere med å lage og vedlikeholde programvaredokumentasjon for applikasjonene sine. Ved å ha et system med samtidig versjon kan utviklere følge med på alle endringer og tillegg som er gjort i et program siden forrige utgivelse. Dette gjør det mulig for dokumentasjonsforfattere å legge til beskrivelser av de nye funksjonene i eksisterende dokumentasjon i stedet for å kreve at de skriver ny dokumentasjon fra bunnen av. Dette kan redusere produksjonstiden og kostnadene for programvaredokumentasjon.
Etter hvert som åpen kildekodeutvikling har økt, har også CVS 'betydning i programmeringsverdenen økt. Tradisjonelle programvareutviklingsteam har generelt vært lokalisert i et lite geografisk område på et lukket system. Åpen kildekode, derimot, inneholder ofte programvareprogrammerere fra hele verden som samarbeider om et enkelt prosjekt. Uten et system som CVS ville åpen kildekodeutvikling være upraktisk.
Selv om Concurrent Versions System økte gjennom åpen kildekodeutvikling, er applikasjonene innen andre forretningsområder umulige. Rettsfeltet har ofte holdt oversikt over endringer, noe som gjør CVS nyttig for juridiske applikasjoner. Uansett hvilken bruk det er, har fordelene med Concurrent Versions System blitt ganske åpenbare siden utviklingen.