TOC

关于软件版本

版本号

基于时间的版本号

比如,Ubuntu 14.04.1 LTS

语义化版本

参考:语义化版本 2.0.0

主版本号.次版本号.修订号
PS: 其实,这是一种通用的版本命名方式,只是被标准化成 SemVer,做了更多细节的约定。

主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。

比如: Linux Kernel 3.14.0 (但是 Linux 升级到 5.0 的时候,似乎说是没有啥修改,主要是大佬个人意愿)

有些时候可能跟版本管理工具(SVN / GIT)做连接,或者跟缺陷跟踪系统连接,在后面加上类似 .build1234 的号码。
有些时候也可能和时间做连接,比如 CentOS 7.0.1406 最后面的 1406 表示 2014 年 6 月(虽然是 2014 年 7 月正式发布的)。

版本名称

  • Developer Edition 开发者版
  • Daily Build 每日构建版本,有时可能叫做 Nightly Build
  • Chrome 浏览器的每日构建版本有一个专门的名字: Canary
  • 火狐的每日构建版本叫做 Firefox Nightly
  • Pre-Alpha 有时可以看到一些软件有这个版本号,我不太清楚这个意义是什么
  • Alpha 内测,供内部开发者或者合作伙伴测试使用,也叫作封测, Closed Beta, CB
  • 功能还没有固定,根据反馈,可能还会有大调整
  • Beta 公测,提供给用户试用,也叫作 Open Bate, OB
  • 功能基本固定,技术方案一般不会发生大调整
  • RC Release Candidate 即将释放的版本,如果没有问题,会直接转正
  • GA General Availability 最终发行版,有些软件称之为:Final / Release/ Stable

PS: 有时候可能会有好几个 Alpha / Beta / RC 版本。

例如,Django 1.7 路线图:

Time Release
January 20, 2014 Django 1.7 alpha; major feature freeze. (released Jan. 22)
March 6, 2014 Django 1.7 beta; complete feature freeze. (released March 20)
late June/July Django 1.7 RC 1; translation string freeze. (released June 26)
2+ weeks after RC1 Django 1.7 final (or RC 2, if needed).

又比如,Python 2.7.0 路线图:

  • 2.7 alpha 1 2009-12-05
  • 2.7 alpha 2 2010-01-09
  • 2.7 alpha 3 2010-02-06
  • 2.7 alpha 4 2010-03-06
  • 2.7 beta 1 2010-04-03
  • 2.7 beta 2 2010-05-08
  • 2.7 rc1 2010-06-05
  • 2.7 rc2 2010-06-19
  • 2.7 final 2010-07-03

其他常见版本名称

  • latest version 最新版本(一般是指稳定)
  • stable version 稳定版本
  • testing version 测试版本
  • pre-release version 发行前版本,就是 Alpha / Beta / RC 的统称
  • preview version 预览版本

不同类型的版本

一般是针对客户群的差异退出功能不同的版本,当然也对应不同的价格,最常见的可能是 Trial (试用版), Lite, Pro, Plus, Enterprise 等。

PS: 还有 Full, Enhance (增强版), Upgrade, Unrestricted, Unlimited, Standard, Mini, Micro, Nano, Retail (零售版), Community (社区版), Edu 等好多名字。

比如 Windows 7 就为不同客户提供了多个版本:

  • Starter
  • Home Basic
  • Home Premium
  • Professional
  • Enterprise
  • Ultimate

又比如小米手机: Mi2,Mi2S,Mi2A (又叫青春版) 等。