這是一個很有趣的問題,這里有兩個很好的答案:
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(木衛二)。