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



小數

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

 $major.minor(.build)$ 
_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」正式版。

實例

只有 _major_ 和 _minor_ 的軟體有如 MediaWiki。當 MediaWiki 發佈 1.9 版本後，下一個版本是 1.10。

Mozilla Firefox 的 3.x 版本有 _major_、_minor_ 和 _build_。例如其中兩個版本為 3.0 和 3.0.1。而 Firefox 的 2.x 版本更有四個數字，此時版本結構改為 $major.minor.maintenance.build$ 。例如 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」代表「Millennium」（千禧年）或「me」（自己）；「XP」代表「experience」（體驗），當讀出 experience 時，讀音像讀出 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。

小數版本序號可能會跳序

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

例如 Simutrans 自 2005 年的 _major_ 版本序號為 86.x、88.x、89.x、99.x、100.x。當中 86 至 88 和 89 至 99 出現了跳序。

除此以外，還有軟體會因為「不幸運數字」（例如 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