Version labeling is out of control
Submitted by editor on Thu, 07/03/2008 - 13:13.
in
Version labeling is out of control
版本号失控
由Bruce Byfield 供稿
翻译者:17LAMP。NET Bob
所有花时间尝试自由软件新的应用程序和发行版的人,可能会注意到版本的标记和号码已经近乎失去意义。这些时间以来,版本很少对其开发的情形标示出准确的意义,除了同一项目的其它内部版本。以标记来区分不同的版本太简单了。这是非常糟糕的,因为一个适当的发行版本标号可以帮助用户建立一个意识:新版本实际上有多大的改进。
问题并不是因为存在多个不同版本的系统。一旦你认识到这些差异,你将不难理解到奇数的GNOME发行版是内部版本,而偶数的是正式的发布。你是否会把KOffice 1.9.95-4误认为是KOffice 1.0的后期版本,而不是2.0的先期版本呢?所有对自由软件足够熟悉和希望尝试最新版本的人都知道,使一个大项目开发团队中所有的人,除了不信任微软之外都能认同所有的细节,这是不可能的。我们必须学会允许不同的风格存在。
相反,问题是无论什么系统,版本号经常不能反映出软件在开发过程中进行到了什么程度。一些项目比如OpenOffice.org在最终发布前不对版本进行标号,只是简单的标注每个版本为内部版本。但是,并非每个项目如Firefox 那样直观的使用像“firefox 3.0-rc
方法应该是——而不是
当然版本号只是判断因素的一个部分——事实是Linus Torvalds在发布新内核时不断强调这一点。举例来说,五年前他发布了期待已久的
多年以来,期待在一个开发周期中做什么,已经产生了广泛的认同。首先是开发版本或者内部版本,然后是版本0.2或者0.3周围的几个点,然后一个发行版公布了,再是有点草率的alpha版发布,在自由软件中这个发行版中主要的功能或多或少已经可用了。某些在0.6至0.8之间的宣布测试的版本,意味着是所有主要的功能都已经具备了,同时其界面已经确定下来,但还有一些错误仍然存在。当所有的细节确定后,一个或多个候选版本发布,在最后一些细小的修补后,是重大的1.0发布。这个主要的版本并不是没有任何错误的,很大程度上是因为在不同硬件组合环境中没有足够的测试,但是它应该可以为大多数用户提供稳定的功能了。
这是用户所期待的,但现在的现实是有所不同的。更多时候我看到一些仍然在开发的版本用一个表示完成版本的数字来标示版本号。我曾经看过一个名为Bash Style-NG用于定制命令行的桌面程序,甚至我在使用它的第三个发行版本时,它的大部分接口还在实现中。一个更极端的例子是公布的KDE 4.0,当用户试图把它用在日常工作中的时候,它的开发组显得非常吃惊。当抱怨声滚滚而来的时候,他们忙着解释说4.1版才是用户所需要的。
类似的,当一个预览版有一个alpha 4发布出来的时候,很明显这个预期的“alpha”不再具有什么意义,即使为了那些问题你宣称一个大项目是由大量不同的模块组成的。如果存在第四个alpha版本,那么显然第一个是叫了名字。
在一个相似的情况中,KOffice的开发者Cyrille Berger 解释说,2.0版本因为它项目的规模和复杂程度,现在还处在它的第8个alpha中。称呼这么多版本为“alpha”,Berger承认“在2.0版本之后,我们将压缩发布周期使用更少的alpha”。但同时其代价是让用户感到混乱。
后果和解决方案
这些失控的版本号错误出现在相反的情况下,它也出现了几个问题。当FontMatrix's 0.1 版本提供了一个全功能的字体管理器时,我意外的觉得惊喜。不仅是因为它还处在开发中我就已经可以使用,并且不必忍受崩溃和可行性怀疑,使我忍不住想到,如果它的早期版本就已经这么优秀,它的正式版本将会达到什么样的高度呢?
但是那些下载和编译了一个标号状态夸张版本的用户,不仅仅只是使他们的希望落空。这会使他们不是参与到项目中和向开发者提交错误,而是会更倾向于厌恶的走开,并且可能要数年的时间才返回来。每次发生这种事情的时候,夸张其版本的项目就失去了一次建立其用户群的机会。
准确的标记版本可能是一个管理和市场营销的策略,但是在自由软件项目的情况中,参与者们在推销他们自己,这应该会使他们更加愿意在这项任务上花费一些时间。毕竟如果一个项目歪曲了自己,它又如何能期望别人准确的认识自己?对于公众消费,开发组很难被约束在为软件制作修订版本。
也许部分原因在于,版本号的问题是商业发展所遗留和强加上去的。有些人也许说他们没有意识到这是自由软件,因为他们的观念是早早的发布、经常的发布。然而自由软件近来不断商业化。如果项目在准确的发布计划列表上和商业之间有足够的妥协,那么准确的版本标记似乎是要求得太多了。
或者如果准确的版本不切实际,那么答案也许是Debian的级联存放所建议的那样,采取宽松的分类:不稳定、测试和稳定。这将足以告诉用户什么是值得期望。然后正式发布可以或多或少的许可命名,这是Debian长久以来所采用的办法。
无论他们选择什么解决方案,免费软件项目需要更小心的命名版本号。这样做无疑对每个人都是有好处的。
- editor's blog
- Login or register to post comments

