軟件版本編號

軟件版本編號訂定是指為軟件設定版本號碼的方式。通常，版本號碼會以數字訂定，但亦有不同的方式。

小數

這是最常用的一種訂定方式。大部份軟件的版號都是用此方法去計算。一個以此方式來訂定編號的例子如：2.4。通常訂定規則為：

major是最大的版本編號，minor為其次，某些軟件可能再細分作build，為更小的版本編號。

通常，正式版的版本編號為「1.0」。1.0以下的版本（0.x）為測試版，代表仍有一些重大錯誤（bugs），未正式推出。

在新版本推出時，應更新major、minor或是build（如有）的版號，決定於變更的大小。當有極大的更新時，會增加major的版號。而當有大更新，但不至於更新major時，會更新minor的版號。若更新比較小，例如只是修正錯誤，則會更新build的版號。以下是一個例子：
1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1→3.0→…
以上例子中，1.0至1.0.1至1.0.2、1.1至1.1.1、2.1至2.1.1都是小更新；1.0.2至1.1、2.0至2.1都是較大的更新；而1.1.1至2.0和2.1.1至3.0則是重大更新。

有時，小數版本號碼後面會有「a」、「b」、「rc」等字樣，代表某版本的測試版。「a」、「b」、「rc」分別代表「alpha」、「beta」和「release candidate」。（詳見軟件版本週期）例如「2.0a」是2.0的alpha測試版，接着可能發佈「2.0b」，是2.0的beta測試版。跟着，又可能出現「2.0b2」，代表2.0的第2個beta測試版。當beta測試完結後，又可能推出「2.0rc1」、「2.0rc2」兩個版本，分別代表2.0的第一和第二個release candidate測試版。當一切測試結束後，就會有「2.0」正式版。

實例
Mozilla Firefox的3.x版本有major、minor和build。例如其中兩個版本為3.0和3.0.1。而Firefox的2.x版本更有四個數字，此時版本結構改為。例如Firefox 2.x的其中一個版本為2.0.0.14。（更多資料：Mozilla Firefox歷史）

日期
除了依照版本發佈次序逐個數以外，軟件版本編號亦有可能使用日期。例如版本「20080101」代表該版本於2008年1月1日發佈。通常日期的排列方法會是「YYYY-MM-DD」，因為這樣做的好處是，當電腦排序時，可以自動分辨哪個是較舊或較新的版本。

有時候，版本編號更會由小數和日期結合，即是類以1.5.20080101等方式。

實例
使用小數和日期結合的版本編號軟件，例如Firefox的其中一個擴充套件「IE Tab」的其中一個版本編號為1.5.20080823。

而Ubuntu亦是採用日期的訂定版本編號方式，但卻看起來像以普通小號訂定。例如Ubuntu 8.04版本代表該版本於2008年4月發佈。事際上，由於Ubuntu並非每個月發佈，而是每半年发布一个版本，因此版本編號會跳序。而一年只有12個月，所以亦沒有像6.13這樣的版本。

年份
有些軟件，尤其不會在一年中出版兩次的軟件會使用年份作版本編號。例如2003版代表該軟件於2003年發佈。有時軟件亦採用兩字的年份縮寫，例如以04代表2004年。

實例
微軟的很多產品都以此方式訂定版本編號。例如Windows 95、Windows 2000、Microsoft Office 2007等。但是，微软这些产品一般还具有小数版本号。例如：Microsoft Visual Studio 2010的版本号是10.0；Windows 2000的版本号是5.0，Windows XP的版本号是5.1，Windows Vista的版本号是6.0，Windows 7的版本号是6.1等等。

MATLAB通常一年中释出两个版本，自2006年后以“R”+四位年份+“a”或“b”的方式区分。例如MATLAB R2011a、MATLAB R2011b等。

數學常數
有些軟件採用數學常數來進行訂定版本編號。具體方法為先選定一個數學常數，每個新版本都距離該數學常數更近。其含义是该软件有一个确定的功能目标，而不是在未来无限扩展其功能范围，所以采用数学常数作为版本号表示距离软件的目标越来越逼近。例如選用圓周率的軟件，其版本應為3、3.1、3.14、3.141、……

實例
TeX選定的數學常數為π。而METAFONT選定的數學常數則為e。

英文縮寫
有些軟件採用英文縮寫來為版本制定編號。

實例
Macromedia於2004年推出Flash MX。Adobe收購Macromedia後，為其推出之後續版本為Flash CS2，當中「CS」代表Creative Suite。

Windows有兩個版本採用英文縮寫作版本編號，分別是Windows Me和Windows XP。「Me」代表「」（千禧年）或「」（自己）；「XP」代表「」（體驗），當讀出時，讀音像讀出x和p。

Ubuntu于2008年4月推出8.04 LTS版本。Ubuntu将长期为8.04版本提供技术支持。支持时间最少为三年。LTS是Long Term Support的英文缩写，意为长期支持。

特別注意事項
混合使用各種訂定方式
有些軟件會混合使用各種版本編號訂定方式，即不同的版本分別採用不同的訂定方式。

例如Windows，曾採用普通小數方式（Windows 1.0至Windows 3.11），年份（Windows 95、Windows 98、Windows 2000），縮寫（Windows Me、Windows XP）和英文字（Windows Vista）。

同時擁有兩個版本編號
有些軟件會同時擁用兩個版本編號，即是以兩種不同的訂定方式，賦予同一個版本兩個編號。

例如Windows：Windows 95亦即Windows 4.0，Windows 98亦即Windows 4.10，Windows Me亦即Windows 4.90，Windows 2000亦即NT 5.0，Windows XP亦即NT 5.1，Windows Vista亦即NT 6.0，Windows 7亦即NT 6.1。各版本的兩個版本編號可於該系統的「執行」視窗中輸入winver取得。

小數版本序號可能會跳序
有些軟件的小數版本序號可能會出現跳序。此處「跳序」是指同一個軟件，兩個相鄰的使用小數版本序號的版本，並不是major、minor或build其中一個值相差1。

例如Simutrans自2005年的major版本序號為86.x、88.x、89.x、99.x、100.x。當中86至88和89至99出現了跳序。The International Simutrans Forum Archive (Simutrans官方論壇存檔) 

除此以外，還有軟件會因為「不幸運數字」（例如4、13）的原因而跳序。

在軟件以外的領域
除了軟件以外，還有其他東西也採用類似的版本編號訂定。
電影的續集通常為「XXX 2」，當中XXX是電影名稱。如果再有續集，則會是「XXX 3」。
例如魔鬼終結者、未來戰士2和未來戰士3
Web 2.0並不是指軟件「Web」的第二個版本，而是指互聯網的一個新定義，新轉變。

參見
軟件
版本
軟件出版周期

參考資料及注釋

外部連結
Windows Version Numbers
TN 1132 - Version Territory , the Apple technical note specifying the use of the NumVersion scheme
Software Release Practice Howto 
 http://netrik.sourceforge.net/?versions.html 
 http://www.everything2.com/index.pl?node_id=1128644 
 http://pear.php.net/group/docs/20040226-vn.php 
 http://openacs.org/doc/openacs-5-0-0/eng-standards-versioning.html 
 http://wiki.eclipse.org/index.php/Version_Numbering 
 https://web.archive.org/web/20080919105207/http://www.linux.com/articles/45507
 http://blogs.ittoolbox.com/database/soup/archives/guide-to-postgresql-version-numbers-19177 
 http://www.xfree86.org/4.1.0/Versions2.html 
 https://web.archive.org/web/20080503101533/http://www.phpbb.com/mods/documentation/appendix/versioning/index.php
 https://web.archive.org/web/20061110185820/https://help.ubuntu.com/6.10/ubuntu/about-ubuntu/C/version-numbers.html

Category:版本控制
Category:软件工程