Linux內(nèi)核開發(fā)者講述Linux開發(fā)模式的困擾
每一個釋放出的Linux內(nèi)核,都有超過一千名開發(fā)者貢獻(xiàn)的代碼。這一過程,從技術(shù)角度上講行之有效; 但同時,它又有著同樣大的弊病。 本周Linux基金會合作峰會中的一個座談會中,數(shù)名頂級Linux內(nèi)核開發(fā)者詳細(xì)描述了他們關(guān)于Linux開發(fā)模式的共同困擾。這不是一個適合(the feint of heart)的模式。
Linux創(chuàng)始人Linus Torvalds 本周在博客中寫道,“公然取笑別人是開源編程快樂的一半。”他還說,“擺脫封閉編程的真正原因是,(那樣的環(huán)境中)你無法公然難為別人。”(有點不解——譯者注)
Linux內(nèi)核開發(fā)者Greg Kroah-Hartman 向Linux基金會合作聽眾表示,他同意Torvalds的看法。
“確實我們偶爾取笑別人;但真正使我惱火的是,看到同樣的問題一而再再而三地出現(xiàn),”Kroah-Hartman 說。
Linux內(nèi)核開發(fā)者Keith Packard 表示,他最大的困擾是看到補(bǔ)丁破壞現(xiàn)有的Linux功能。Packard 解釋說,他最近發(fā)現(xiàn)Linux藍(lán)牙功能有問題,發(fā)現(xiàn)是近期補(bǔ)丁中的一個退化破壞了現(xiàn)有的功能。于是他向藍(lán)牙維護(hù)者發(fā)送了修復(fù)該問題的請求。他收復(fù)了回復(fù), 對方告訴他,需要他更新自己的用戶空間(userspace)!
“我最根本的困擾是,總有人不想想怎樣能保留現(xiàn)有用戶空間API,就隨便發(fā)布補(bǔ)丁,”Packard 說,“我從來不喜歡那樣的補(bǔ)丁,因此千萬別提交改變用戶空間API的補(bǔ)丁。”
變更記錄是另一個為Linux內(nèi)核開發(fā)者所頭疼的問題。變更記錄的目的是標(biāo)定指定代碼段中的發(fā)生的變更。Linux內(nèi)核開發(fā)者James Bottomley 表示,他最不滿意的是沒有真正表述什么被改變了的變更記錄。
“我收到了許多用做這做那來描述變更,但卻未表明為什么這么做的變更記錄,”Bottomley 說,“我想知道該變更所帶來的對用戶可見的效果是什么。”
按Bottomley 的觀點,一個好的變更記錄不應(yīng)該描述變更本身,這是C代碼做的事;它應(yīng)該從用戶可見的角度描述該變化,以及為什么應(yīng)該有這一變化。
Red Hat Linux內(nèi)核維護(hù)者John Linville 表示,他所面臨的一個挑戰(zhàn)是,提交的補(bǔ)丁是作為漏洞修復(fù)還是新特性,越來越缺乏明晰的界線。
“維護(hù)者也和大家每個人一樣,沒有那么的天才。因此,你需要告訴我們你真正指的是什么,”Linville 說。
Mel Gorman,一個SUSE Linux內(nèi)核開發(fā)者,評論道他最大的困擾是,開發(fā)者不止一次地犯同類的錯誤。Gorman 補(bǔ)充道,他正在構(gòu)建工具和一些數(shù)據(jù),以幫助更加簡單地定義一些常見易犯的問題。
“我想我們真的有必要,經(jīng)得信時間的考驗,竭力跟上這些細(xì)節(jié),并保證我們正確地理解了它們。”Gorman說。
【編輯推薦】