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