这是一个很有趣的问题,这里有两个很好的答案:
1. Eclipse的版本号(X.Y.Z)是有含义的。X表示其API有破坏性的更新;Y表示其API没有破坏性的更新;Z表示Bug的修正。这里的项目现在都有各自不同的版本号,例如Platform 3.2, TPTP 4.2, BIRT 2.1, CDT 3.1, EMF 2.2等。如果我们强迫每个项目使用一个通用的版本号 (3.2),那么一些项目就要返回以前的版本(TPTP),而另一些项目在API没有更新的情况下就要跳过该版本(BIRT、EMF)等等。我们不想强迫项目在破坏版本含义的情况下转换名称,因此我们不想使用通用的版本号。
2. 不同Eclipse项目拥有不同的发布周期。一些项目一年发布一次(例如Platform),一些项目一年发布两次(例如TPTP、BIRT等),而另一些项目每年发布多次。如果强迫项目使用统一的版本号,那我们必须限制发布比较快的项目的速度与比较慢的项目的进度同步。这看起来是不正确的。
因此,我们保持了每个项目的版本号的独立,并使用了一个基于单词的方案(木星的卫星)来产生共同发布版本。今年是Callisto,明年将会是Europa(木卫二)。