我想这更像是一个普遍的问题,我无法在任何地方找到答案。开源开发人员管理软件版本的版本编号逻辑是什么,是否有任何我可以阅读的治理或指导。这个问题的起源来自我在无数网站上查看和研究我想在我的 Ubuntu 操作系统上使用的软件。
通过经验,我了解到一些网站比其他网站更好地解释了某个版本是稳定版本、实验版本还是维护版本,但这些解释与我熟悉的任何版本编号逻辑都不一致。
答案1
我认为可能值得讨论这个问题中具体的版本编号部分。当然,开源项目使用了许多不同的开发模型和版本控制方案。因此没有真正的明确答案,但有两个对 Ubuntu 非常重要的项目有特定的版本编号方式。
GNOME 使用 XYZ 中的版本控制方案
“X” 是主要版本号。只有当项目出现重大中断时,该版本号才会更改。
“Y” 是稳定版本为偶数,并且对于不稳定版本来说是一个*奇数*。例如,3.4.1 版本是稳定的,但 3.5.1 是不稳定的。
“Z” 用于“奇数”版本,作为“偶数”版本的增量。稳定版本发布后,它用于修复小错误“点版本”。
Linux 内核使用类似的版本控制方案。这似乎最适合基于时间发布的项目。
答案2
您可能知道,“软件开发方法论”不止一种。
当然,不止一个“生命周期”。
其中一些是“安全驱动”,一些是“发布驱动”,一些是“截止日期驱动”,“文档驱动”等等......
无论软件是否开源,都可以根据项目目标采用任何方法来管理软件。
我认为;最好搜索项目的方法论(如果有的话,具体一点),然后搜索它的发布版本控制。
示例:项目采用瀑布生命周期模型进行管理。这意味着,每一步都经过检查,工作量很大,团队被分成几个子团队。(这对于开源来说并不好,因为瀑布模型不适合开放思想)
示例 2:项目采用 XP、Agile 进行管理:这意味着,项目由故事(功能)驱动。每个子版本都会为最新程序带来全新且功能齐全的功能。每个版本都会带来更大的变化(或可能将与目标相关的功能收集在一起)。