软件版本编号订定是指为软件设置版本号码的方式。通常,版本号码会以数字订定,但亦有不同的方式。
命名风格
GNU版
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
管理策略:
Windows版
主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0
管理策略:
Net.Framework版
主版本号.子版本号[.编译版本号[.修正版本号]]
Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]
版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的部分都必须是大于或等于 0 的整数。 应根据下面的约定使用这些部分:
Major :具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性。
Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。 Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。
版本区别
测试版
α版
此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。
β(beta)版
该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。
γ版
该版本已经相当成熟了,与即将发行的正式版相差无几,如果用户实在等不及了,尽可以装上一试。
RC版(发布候选版)
用户体验测试版本。beta 是指公测,即针对所有用户公开的测试版本。然后做过一些修改,成为正式发布的候选版本时叫做gamma,叫做RC(Release Candidate)。
trial(试用版)
试用版软件在最近的几年里颇为流行,主要是得益于互联网的迅速发展。该版本软件通常都有时间限制,过期之后用户如果希望继续使用,一般得缴纳一定的费用进行注册或购买。有些试用版软件还在功能上做了一定的限制。
unregistered
未注册版与试用版极其类似,只是未注册版通常没有时间限制,在功能上相对于正式版做了一定的限制,例如绝大多数
网络电话软件的注册版和未注册版,两者之间在通话质量上有很大差距。还有些虽然在使用上与正式版毫无二致,但是动不动就会弹出一个恼人的消息框来提醒你注册,如看图软件acdsee、智能陈桥
汉字输入软件等。
demo版
也称为演示版,在非正式版软件中,该版本的知名度最大。demo版仅仅集成了正式版中的几个功能,颇有点像unregistered。不同的是,demo版一般不能通过升级或注册的方法变为
正式版。
以上是软件正式版本推出之前的几个版本,α、β、γ可以称为
测试版,大凡成熟软件总会有多个测试版,如windows 98的β版,前前后后将近有10个。这么多的测试版一方面为了最终产品尽可能地满足用户的需要,另一方面也尽量减少了软件中的bug。而trial、unregistered、demo有时统称为演示版,这一类版本的广告色彩较浓,颇有点先尝后买的味道,对于普通用户而言自然是可以免费尝鲜了。
正式版
不同类型的软件的正式版本通常也有区别。
release
该版本意味“最终释放版”,在出了一系列的测试版之后,终归会有一个正式版本,对于用户而言,安装该版本的软件绝对不会错。该版本有时也称为标准版。一般情况下,release不会以单词形式出现软件封面上,取而代之的是符号?,如windows nt? 4.0、ms-dos? 6.22等。
registered
很显然,该版本是与unregistered相对的
注册版。注册版、release和下面所讲的standard版一样,都是软件的正式版本,只是
注册版软件的前身有很大一部分是从网上下载的。
standard
这是最常见的标准版,不论是什么软件,标准版一定存在。标准版中包含了该软件的基本组件及一些常用功能,占用资源较高级版低,可以满足一般用户的需求。对于收费软件来说,其价格相对高一级版本而言还是“平易近人”的。
deluxe
顾名思义即为“豪华版”。豪华版通常是相对于标准版而言的,主要区别是多了几项功能,价格当然会高出一大块,不推荐一般用户购买。此版本通常是为那些追求“完美”的专业用户所准备的。
reference
该版本型号常见于百科全书中,比较有名的是
微软的encarta系列。reference是最高级别,其包含的主题、图像、影片剪辑等相对于standard和deluxe版均有大幅增加,容量由一张光盘猛增至三张光盘,并且加入了很强的交互功能,当然价格也不菲。可以这么说,这一版本的百科全书才能算是真正的百科全书,也是发烧友们收藏的首选。
professional
专业版是针对某些特定的开发工具软件而言的。专业版中有许多内容是标准版中所没有的,这些内容对于一个专业的软件开发人员来说是极为重要的。如微软的
visual foxpro标准版并不具备编译成
可执行文件的功能,这对于一个完整的开发项目而言显然是无法忍受的,若客户机上没有foxpro将不能使用。如果用专业版就没有这个问题了。
enterprise(企业版)
企业版是开发类软件中的极品(相当于百科全书中的reference版)。拥有一套这种版本的软件可以毫无障碍地开发任何级别的应用软件。如著名的visual c++的企业版相对于专业版来说增加了几个附加的特性,如sql调试、扩展的存储过程向导、支持as/400对ole db的访问等。而这一版本的价格也是普通用户无法接受的。如微软的visual studios 6.0 enterprise中文版的价格为23000元。
其他版本
除了以上介绍的一些版本外,还有一些专有版本名称。
升级版的软件是不能独立使用的,该版本的软件在安装过程中会搜索原有的正式版,如果不存在,则拒绝执行下一步。如microsoft office 2000升级版、windows 9x升级版等等。
oem版
oem版通常是指捆绑在硬件中而不单独销售的版本,将自己的产品交给别的公司去卖,保留自己的著作权,双方互惠互利,一举两得。
单机(网络)版
网络版在功能、结构上远比单机版复杂,如果留心一下软件的报价,你就会发现某些软件单机版和网络版的价格相差非常大,有些网络版甚至多一个客户端口就要加不少钱。
普及版
该版本有时也会被称为共享版,其特点是价格便宜(有些甚至完全免费)、功能单一、针对性强(当然也有占领市场、打击盗版等因素)。与试用版不同的是,该版本的软件一般不会有时间上的限制。当然,如果用户想升级,最好还是去购买正式版。
订定规则
软件版本编号订定是指为软件设定版本号码的方式。通常,版本号码会以数字订定,但亦有不同的方式。
小数
这是最常用的一种订定方式。大部份软件的版号都是用此方法去计算。一个以此方式来订定编号的例子如:2.4。通常订定规则为:major.minor(.build)
major是最大的版本编号,minor为其次,某些软件可能再细分作build,为更小的版本编号。
通常,正式版的版本编号为“1.0”。1.0以下的版本(0.x)为测试版,代表仍有一些重大错误(bugs),未正式推出。
在新版本推出时,应更新major、minor或是build(如有)的版号,决定于变更的大小。当有极大的更新时,会增加major的版号。而当有大更新,但不至于更新major时,会更新minor的版号。若更新比较小,例如只是除虫(bug fixing),则会更新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”和“releasecandidate”。例如“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”正式版。
有的软件版本不是以1.0开始,而是以0.01开始,如Linux操作系统内核的版本。
实例:
只有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。
日期
除了依照版本发布次序逐个数以外,软件版本编号亦有可能使用日期。例如版本“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等。
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的英文缩写,意为长期支持。
注意事项
1.混合使用各种定制方式
有些软件会混合使用各种版本编号订定方式,即不同的版本分别采用不同的订定方式。
例如:
Windows,曾采用普通小数方式(Windows 1.0至Windows 3.11),年份(Windows 95、Windows 98、Windows 2000),缩写(Windows Me、Windows XP)和英文字(Windows Vista)。
2.同时拥有两个版本编号
有些软件会同时拥用两个版本编号,即是以两种不同的订定方式,赋予同一个版本两个编号。
例如:
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。
3.小数版本序号可能会跳序
有些软件的小数版本序号可能会出现跳序。此处“跳序”是指同一个软件,两个相邻的使用小数版本序号的版本,并不是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”的第二个版本,而是指互联网的一个新定义,新转变。