Calendar Versioning (CalVer)
Dirk Jan Laros · 5 minuten leestijd · Gepubliceerd op 19-2-2024

Calendar Versioning (CalVer)

Software versiebeheer. Hoe pak je dat het beste aan? Eerder schreven we over Semantic Versioning (SemVer), een leidende manier van versienummering in software ontwikkeling. SemVer is voornamelijk voor techneuten een handig hulpmiddel, omdat het ‘vertelt’ welke versies met elkaar samen kunnen gaan. De alternatieve manier van versienummering waar het in deze blog over gaat heet Calendar Versioning (CalVer). In tegenstelling tot SemVer is deze manier gericht op mensen en sluit beter aan bij de leefwereld van alle dag.

Calendar Versioning opbouw

CalVer gebruikt getallen die gebaseerd zijn op datums (zoals de naam al suggereert). Het ontwikkelteam kan zelf kiezen welke opbouw ze gebruiken. Er zijn verschillende opties, zoals 2024-02, 2024.02, 24-02, enzovoort. Deze getallen geven aan dat de versie uit 2024 komt, en meer specifiek uit de maand februari. 02 staat hier voor februari. Dit is handig als je software of data aanbiedt die slechts één keer per maand verandert.

Een ander voorbeeld is hoe we de versie van q2-software.nl opbouwen: 24.50, waarbij het laatste getal 50 de 50e dag van 2024 aangeeft. We doen namelijk meerdere updates per maand, soms zelfs per week, maar nooit meer dan één per dag. Een dagelijkse teller was voor ons dus noodzakelijk.

Toepassingen van Calendar Versioning

Waar kan je CalVer toepassen? Je kunt CalVer toepassen op plaatsen waar technische afhankelijkheden niet aanwezig zijn. Eigenlijk alle plaatsen waar je een softwareversie met een eindgebruiker wilt communiceren. Bijvoorbeeld op een blogpagina, op een privacy-policy of algemene voorwaarden, bij een dataset wat aangeboden in vaste termijnen wordt bijgewerkt of op houdbare producten.

Calendar Versioning vs. Semantic Versioning

CalVerSemVer
Gebaseerd op datumsGebaseerd op technische nummers
Geschikt voor communicatie met eindgebruikersGeschikt voor communicatie met ontwikkelaars
Kan bestaan uit segmenten en modificatorenKan bestaan uit segmenten en modificatoren
Gaat van groot naar klein: jaar, maand, week, dag, (uur, minuut, pre-release)Gaat van groot naar klein: major, minor, patch, (pre-release, build)

Verschillen

Zoals je kunt zien, hangt CalVer sterk af van de datum van de versie. SemVer is daarentegen een technisch oplopend nummer. Omdat CalVer een herkenbaar punt heeft voor niet-techneuten, is deze methode meer geschikt voor situaties waarin je met hen moet communiceren. Techneuten onder elkaar geven echter de voorkeur aan SemVer.

Overeenkomsten

Net als in SemVer kan een CalVer bestaan uit een paar segmenten van getallen en modificatoren. CalVer gaat net als Semver van groot naar klein: jaar, maand, week, dag, (uur, minuut). Bijvoorbeeld 24.1-beta.25 verwijst naar de 25e bèta-versie van de eerste versie in 2024.

Snel aan de slag?
Of gewoon een vraag?

stuur een e-mail naar
info@q2-software.nl