Tutti noi abbiamo avuto a che fare con software e avremo sicuramente notato dei numeretti vicino al nome di un programma.
Essi indicano la versione del programma, ovvero il numero indica lo stato di "avanzamento" del programma. È logico suppore che Programma 1.0 sarà meno avanzato e con qualche bug in più di un ipotetico Programma 2.36.
Iniziamo col dire che non c'è nessuno standard per questo. L'utilizzo del numero di versione è lasciato al buon senso del programmatore. Tranne queste particolarità è consuetudine, da parte di molti programmatori, applicare ai propri software una gestione dei numeri di versione del seguente tipo o almeno con molte similitudini (fermo restando che ognuno è libero di utilizzare il metodo che più gli aggrada).

Numero di versione a 3 cifre X.Y.Z

X=Major release

Y=Minor release

Z=Patch release

Si inizia dalla release 1.0.0 (alcuni software che hanno numero 0.2.3, ad esempio, potrebbero essere ancora in fase beta), e ad ogni update si aumentano le cifre di 1 con questo criterio:

Partendo dal basso: 

  • Patch: Indica un Update che corregge solo qualche piccolo bug (ad esempio di traduzione). Il programma RESTA retro compatibile e NON aggiunge nuove funzionalità.

  • Minor: Indica un Update che aggiunge qualche nuova funzionalità o ne depreca alcune vecchie, può corregge anche qualche bug. Il programma RESTA retro compatibile.

  • Major: Indica un Update che cambia notevolmente il programma, può aggiungere nuove funzionalità o deprecarne alcune vecchie, può corregge anche bug maggiori. Il programma NON RESTA retro compatibile, o meglio spesso accade che non resti la retro compatibilità. Spesso assieme a questo update c'è pure un restyling della veste grafica, proprio per dare anche l'idea che la nuova versione non sia più compatibile con la vecchia.

Sempre per consuetudine, ogni Update che incrementa una cifra di Maggior peso, AZZERA le cifre minori, da 1.56.25 si passerà a 2.0.0)

Alcuni aggiungono dopo le 3 cifre pure un'indicazione dello stato del programma:

  • Alpha: programma con molti bug e quasi sicuramente NON stabile.

  • Beta: programma con bug, non si assicura la sua stabilità

  • RC (Release Candidate): versione candidata ad essere la release stabile. In genere con questa versione ci si ferma con le modifiche al programma e ci si adopera solo alla correzione dei bug)

  • Build: in genere usata per indicare data ed ora di compilazione (non sempre specificate nel formato normale, ma, ad esempio, DATA = numero di giorni dal 01/01/2001, ORA = numero minuti dalla mezzanotte 00.00)

Ex Programma 0.40.23 - RC 1 – Build 366.801

Potrebbe indicare Versione 0 (non è uscita ancora una release stabile) 40.23 vari update che hanno portato alla Release Candidate per la versione 1. compilata il 02/01/2002 alle 13.21.

Ripeto, questo e' tutto indicativo, e' uno degli approcci più usati. Potete usarlo o modificarlo per le vostre necessità (potete usare 4 cifre o solamente 1, facendo attenzione a non arrivare alla versione 1356 troppo velocemente XD). Basta che scegliate il vostro metodo e che sia semplice.
Ad esempio, Ubuntu inserisce anno e mese (Ubuntu 17.10 l'ultima versione, 17.04 quella precedente, conseguenza del fatto che propone le versioni ogni aprile e ottobre, in maniera fissa), in più e' possibile trovare una sigla LTS
(Long Term Support) che indica che quella versione di ubuntu gode di un supporto di 5 anni rispetto alle altre che hanno un supporto di 9 mesi. Office inserisce l'anno (Office 2010, Office 2013, Office 2016) ma ha anche altre versioni difformi da questo standard (Office 365). Fino a poco fa, Visual Studio era alla versione 2017 RC, ora è versione definitiva. Tutto sta a voi, ed a cosa decidere essere la scelta a voi più congeniale. Quello riportato è un approccio largamente utilizzato e molto semplice da capire per chi utilizza i vostri software e vuole sempre la versione più aggiornata.