昨天晚上 Linus Torvalds 先生在一封發(fā)給 LKML 的關(guān)于縮短 2.6.40 merge window 的信中,捎帶提到了 Linux Kernel 接下來的版本號問題,這封原本是提醒 Kernel 開發(fā)人員不要在最后一刻才提交 pull 請求的郵件,因為 Linus 在信后附上的幾句話(如下),很快成了大家討論 Kernel 版本號的歡樂場所。
PS. The voices in my head also tell me that the numbers are getting too big. I may just call the thing 2.8.0. And I almost guarantee that this PS is going to result in more discussion than the rest, but when the voices tell me to do things, I listen.
目前負責(zé)著好幾個 2.6 longterm 版本維護的 Greg K.H 首先對此表示了歡迎,顯然,每天在幾個冗長的版本號(4 個數(shù)字)之間來回搗騰肯定令人厭煩。Greg K.H 曾經(jīng)在 08 年的 LKML 上提出過修改 Kernel 版本號的建議,當(dāng)時他希望 Kernel 能夠采用以”年.月”的格式作為版本號,不過該建議并沒有被采納。
更多的聲音表示希望 Linus 能夠讓 2.6 走到 2.6.42 再考慮更換版本號,以此來表達對《銀河系漫游指南》作者 Douglas Adams 的致敬,同時隱喻 Linux 將是解答人生,宇宙以及所有一切問題的終極答案(在該小說里,超級電腦 Deep Thought 經(jīng)過 7½ 百萬年的計算后,得出關(guān)于人生,宇宙以及所有一切這一終極問題的終極答案是 42)。
Linus 隨后拒絕了該建議,他并沒有給出拒絕的理由。Linus 只是表示 40 是一個不錯的巡回數(shù)字(round number)。有人開玩笑說 Linus 這么做不是為了避免該終極答案,而是避免終極問題(超級電腦 Deep Thought 雖然算出了終極答案,但是并不知道該終極問題)。
當(dāng)然,Linus 并不完全是在開玩笑,Linus 在隨后的兩封回復(fù)(1,2) 中詳細談到了他對切換版本號的思考。Linus 的建議是將版本號跳到 3.0,而不是 2.8.x 或其它,并且主版本號(mainline)將只包含 major 與 minor 號,也就是說下一個 Kernel 版本將有可能是 3.0,而不是 3.0.0。Linus 表示這樣做有兩個優(yōu)點,一是去掉一個版本級數(shù)可以使得 stable 版本的維護人員直接使用第三個數(shù)字來標(biāo)識相應(yīng)的發(fā)布;其次由于傳統(tǒng)上 Kernel 使用偶數(shù)版本號表示發(fā)布的版本,切換到 3.x 的版本號后,使用奇數(shù)(比如 3.0 之后是 3.1)作為發(fā)布的版本號也不會顯得太讓人難以接受。
大部分人對 Linus 的版本號建議表示同意,有人希望最好能在 ARM 相關(guān)的代碼整理完畢之后再跳到 3.0,畢竟 3.0 總是讓人感覺這是一個飛躍。此外也有人表示在 BKL 完全去除之后(剛剛發(fā)布的 2.6.39 徹底完成了這一目標(biāo)),Linux Kernel 就可以稱得上 3.0 了。Linus 表示當(dāng)前的 Kernel 版本號基于的已不再是功能,而是時間,在 Linux 慶賀 20 周年,并即將走入第 3 個 10 年之際,改成 3.0 也是一個不錯的借口。
目前雖然還沒有更廣泛的討論,但已經(jīng)有人在提交 pull 請求時使用 3.0,以希望該版本號的變更能夠在下一個發(fā)布版本中完成,似乎 Linus 所說的很有可能成為現(xiàn)實。
在此之前,2.4 發(fā)布了 24 個版本后,跳到了 2.6。
作者/油螞蚱
歡迎轉(zhuǎn)載,但請保留此信息