软件版本号

一个数字或字母序列表示一个增量发布版本中

软件版本编号订定是指为软件设置版本号码的方式。通常,版本号码会以数字订定,但亦有不同的方式。

小数

 
以小数去订定版本号码的例子

这是最常用的一种订定方式。大部分软件的版号都是用此方法去计算。一个以此方式来订定编号的例子如:2.4。通常订定规则为:

 
major是最大的版本编号,minor为其次,某些软件可能再细分作build,为更小的版本编号。

通常,正式版的版本编号为“1.0”。1.0以下的版本(0.x)为测试版,代表仍有一些重大错误(bugs),未正式推出[1]

在新版本推出时,应更新majorminor或是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”正式版。

实例

只有majorminor的软件有如MediaWiki。当MediaWiki发布1.9版本后,下一个版本是1.10。

Mozilla Firefox的3.x版本有majorminorbuild。例如其中两个版本为3.0和3.0.1。而Firefox的2.x版本更有四个数字,此时版本结构改为 。例如Firefox 2.x的其中一个版本为2.0.0.14。(更多资料:Mozilla Firefox历史

日期

除了依照版本发布次序逐个数以外,软件版本编号亦有可能使用日期。例如版本“20080101”代表该版本于2008年1月1日发布。通常日期的排列方法会是“YYYY-MM-DD”,因为这样做的好处是,当电脑排序时,可以自动分辨哪个是较旧或较新的版本。[2]

有时候,版本编号更会由小数和日期结合,即是类以1.5.20080101等方式[3]

实例

使用小数和日期结合的版本编号软件,例如Firefox的其中一个扩展IE Tab”的其中一个版本编号为1.5.20080823。

Ubuntu亦是采用日期的订定版本编号方式,但却看起来像以普通小号订定。例如Ubuntu 8.04版本代表该版本于2008年4月发布。事际上,由于Ubuntu并非每个月发布,而是每半年发布一个版本,因此版本编号会跳序。而一年只有12个月,所以亦没有像6.13这样的版本。

年份

有些软件,尤其不会在一年中出版两次的软件会使用年份作版本编号。例如2003版代表该软件于2003年发布。有时软件亦采用两字的年份缩写,例如以04代表2004年。

实例

微软的很多产品都以此方式订定版本编号。例如Windows 95Windows 2000Microsoft 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 MXAdobe收购Macromedia后,为其推出之后续版本为Flash CS2,当中“CS”代表Creative Suite。

Windows有两个版本采用英文缩写作版本编号,分别是Windows MeWindows 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.0Windows 3.11),年份Windows 95Windows 98Windows 2000),缩写Windows MeWindows XP)和英文字(Windows Vista)。

同时拥有两个版本编号

有些软件会同时拥用两个版本编号,即是以两种不同的订定方式,赋予同一个版本两个编号。

例如WindowsWindows 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。[4]

小数版本序号可能会跳序

有些软件的小数版本序号可能会出现跳序。此处“跳序”是指同一个软件,两个相邻的使用小数版本序号的版本,并不是majorminorbuild其中一个值相差1。

例如Simutrans自2005年的major版本序号为86.x、88.x、89.x、99.x、100.x。当中86至88和89至99出现了跳序。[5]

除此以外,还有软件会因为“不幸运数字”(例如413)的原因而跳序。

在软件以外的领域

除了软件以外,还有其他东西也采用类似的版本编号订定。

  • 电影的续集通常为“XXX 2”,当中XXX是电影名称。如果再有续集,则会是“XXX 3”。
  • Web 2.0并不是指软件“Web”的第二个版本,而是指互联网的一个新定义,新转变。

参见

参考资料及注释

  1. ^ Advogato: Version numbering madness. [2008-10-07]. (原始内容存档于2008-10-07). 
  2. ^ International standard date and time notation. [2008-10-07]. (原始内容存档于2021-05-04). 
  3. ^ Coding Horror: What's In a Version Number, Anyway?. [2008-10-07]. (原始内容存档于2010-01-20). 
  4. ^ 各版本的两个版本编号可于该系统的“执行”视窗中输入winver获取。
  5. ^ The International Simutrans Forum Archive (Simutrans官方论坛存档) 互联网档案馆存档,存档日期2008-09-21.

外部链接