|
2月19日,由國際Linux基金會(TLF)與中國開源推進聯盟(COPU )共同主辦的“2008Linux 開發者研討會-中國”( 2008Linux Developer Symposium-China)在北京舉辦。
在昨天的大會上,不僅有眾多來自國際Linux社區的開發設計大師、國內Linux的開發設計精英的精彩演講,還為全國各地的300余名Linux開發人員等與會人員提供了和專家/行家面對面的機會。以下就是在一段來自現場的問答環節文字實錄。
主持人:謝謝Jonathan Corbet的講話,接下來我們請Linux內核2.6版的守護人Andrew Morton來做一個對話。
Jonathan Corbet:我有幾個問題是和大家討論得出來的,如果有問題的話也可以回答觀眾的問題,首先有一個問題就是,剛才我也提到過,像在內核當中我們的這種 Pach是比較高的,我想問一下Andrew Morton你如何應對這個問題,就是你如何解決比較高的一個Pach的問題,同時維護它的內核。
Andrew Morton:實際上我并不是進行管理。并不是說像你們想象當中管理的那么多,實際上大家有時候心里上比較依賴我。而且我有的時候對他進行這種審查也并不是很多,如果當這個比例比較高的時候,那么我會告訴別人說,不好意思我沒有這個時間來處理這個,那么同時我經常會拒絕一些其他的研發人員的請求,因為我實在是沒有那么多時間。
Jonathan Corbet:兩年前您參加一個會議,你說這個速度會降慢,因為你覺得已經基本上完成了,那么在過去這幾年當中,我覺得確實是這樣的,那么你覺得你們會希望怎么樣呢,你希望它減慢這個速度嗎,還有就是這種高速的變化,那么為什么會這樣呢?它為什么會以這么高的速度進行不斷的變化呢?
Andrew Morton:我覺得現在包括這個參與公司的數目和應用程序有關,我們現在有很多的研發人員,他們對內核有更多的要求,我覺得這個是為什么我們現在有一個這種高的替換率,或者高的更新率,而且現在新的技術不斷的出現,還有新的硬件技術等等,都需要進行更多的支持,但是我覺得最后內核更新的速度會降慢的,因為從最根本的一個改變來說,比如說出現新的CPU,新的研發等等。但是其中有一些內核的技術,將來會比較成熟的。那么所以將來這個是會穩定下來,速度也就會放慢的。
Jonathan Corbet:你覺得在它降慢之前還需要什么樣的變化。你覺得現在在哪些方面我們還需要更多的工作。
Andrew Morton:人們經常會問我這樣的問題,我不知道在將來6個月之后,這個內核會提出什么樣新的內容,因為我們現在沒有一個在內核方面統一的控制機制,我們沒有路線圖,我們沒有計劃,所以我也不知道,只能說每一個公司,每一個人都會對Linux進行貢獻。那么人們經常會告訴我們他們在做些什么,所以我只是一些猜測,但是在長期角度來說,實際上我不知道人們腦子里面想什么,我也沒有辦法說它長期會往哪些方向發展,我覺得最好的預測,就是我一般會讀你的報告,比如說從你的發言當中,我就知道很多。
Jonathan Corbet:還有另外一個問題,就是在十年以前內核的開發,那么這種Pach,他們放到網上,經常沒有什么反饋,那么可能網網就是要等到一個新的版本出來才能看到結果,那么我覺得呢你帶來的一個最好的變化呢,就是說來建立了一個很積極的相應的機制,也就是說呢,人們會把他的東西放上來之后,會聽到一個反饋,所以這樣他們放上來的Pach不會被人家遺忘等等,我想問一下對于Pach的反映一般是什么樣的呢,如果我貢獻一個東西放到網上,沒有人給我反映,沒有人理睬的話,那么我應該做呢?
Andrew Morton:我總是希望保證每一個我所得到的人的一些貢獻都會有一些響應。特別是對于一些人員他們的一些成果來說,那么如果你要是發過來,如果其他人有評論,但是我沒有給你評論的話,那么就是說我對于其他人比較同意的,那么如果要是我和其他人的意見不一樣的話,我也會給你一個我的響應或者是反饋。比如說我圣誕節過了兩周的假期,但是我還有500個Pach等我回去看,所以我就不斷的進行這方面的工作。還有一些就是你可能,你覺得放到那兒了,然后你覺得沒有人理你,那么你就給我發一個私人的郵件,我會給一些反饋。一般來說我會告訴你,比如說有些人是不是反對,有些人是不是贊同,我一般會給一個反饋的。
Jonathan Corbet:人們在考慮加入到我們這個社區的時候,他們非常難以去找到方式,如何和我們的社區兩交互,所以我有一個問題,對于新的開發者來講,要成為這個社區的一部分的話,他們如何來加入?如何避免相應的一些錯誤?
Andrew Morton:我覺得有一件事情人們必須要小心,那就是我們都是通過Email來做自己的工作,如果你希望有一個人一直對你有一個回應,而且是非常恰當的回應的話,這個其實對于一個比如說一周都沒有做回應的人來講是非常難的。所以從別人哪里收到郵件是非常重要的。通常我們也會有這樣的問題。他們會問我到底我如何開始這個內核開發呢,我認為最好的答案就是你不要問這個問題,不要問這種問題就開始開發就行了。那么開始開發首先需要一個非常好的英語閱讀的能力,你需要寫英語,需要網絡連接和計算機,然后就開始內核開發,把你的計算機連到網絡上,下載一下內核,然后就開始。加入到社區,然后對社區更熟悉,下一步就是下載最新的內核版本。下載我的版本的話可能會發現一些缺陷,一些錯誤,那么和其他的開發者要交流,到底如何解決這些問題,這是一個非常簡單的過程。在經過兩三個月之后,你可能就已經成為了一個內核的開發者,也成為了這個社區的一員,所以每一次采取一步,所以最重要的就是要開始,一旦做了兩三個月的開始的工作,就會非常熟悉整個環境,那么下一步就需要考慮到底對于你自己來講需要貢獻一些什么樣的原始的,原創的一些工作,發來一些變更,然后呢在整個變更庫里面就有了你自己的名稱,那么人們就可以搜索到你的名字,可以看到你做了哪些工作。那么這才是一個非常正確的方式來開啟自己的內核開發的工作生涯。
而有的公司的做法就是擴展一群開發者,通過這種方式去申請這個職位,其實有很多競爭對手,在人們參與到整個過程當中,他們就需要人們進行交互,有很多的人他們在推出Pach的時候非常的禮貌,非常的保守。我們相互之間打交道是什么樣的禮儀呢?我覺得如果我接收到非常不禮貌的一個回復的話,那回去是代表別人來說話,因為每一個人不一定代表自己說話,有一個人說了一句話,或者造成了上千人的反對,這就是一種工作的方式。一個人說了一句話那么所有人都同意的話,這可能就造成工作是成功的進行,但是更多的情況下會是遭到上千人的反對,說你不要這樣去做。其實有一些非常有名的人士,他們并不是代表所有人說話,他們只是代表自己說話,其實這也是一個問題。
Jonathan Corbet:我希望我能夠同意你的說法。還有一個開發者遇到的一個問題,就是有的人在進行變更的時候,是非常的快,有的很長的時間才能夠做完,比如說一個開發者花了很多時間才能進入,所以就是有一個問題,就是為什么有的補丁時間更長,到底開發者應該怎么來預期他們工作的時間?在他們發送補丁之后,他們預期的時間是多長?
Andrew Morton:我認為我非常關心是否會回歸測試,其實我不希望這個補丁如果不好的話,會影響很多人的系統。如果是一個已經運行的系統,大家都在使用,所以它的影響是非常大的,所以必須要非常的小心,非常的謹慎,而且要確保不會有懂行的人去觸動,或者進一步修改這些內容。所以對于這個工作,對于這個補丁的理解其實花費我很長的時間去理解的,這也是為什么很多的補丁花了我很長的時間,但我有信心不會有很大的影響,才會決定把它添加到新的版本當中。因為這是一個內核,每個人都在用的,所以這是一個非常嚴肅的事情。
Jonathan Corbet:我想在我們的聽眾當中問他們的問題,所以我現在想開放一下論壇,希望能夠有聽眾問他們自己的問題。
提問者:我們最近會推出一個新的Linux版本,為什么我們需要這個Tree呢,因為現在很多的Linux貢獻帶來了很多的錯誤,所以希望把錯誤和缺陷去掉,是這個原因嗎?我有兩個問題,第一個是現在有更多的開發者涉及到內核的開發,是不是說在未來我們會遇到更嚴重的,更多的嘈雜和混亂?
Andrew Morton:我是第一個要測試每一個人工作的人,每一個補丁都要進行測試,這樣一個工作讓他來做的話可以幫我很多的忙。我相信他們會認真的謹慎的去測試這些工作,而且他們和斯迪芬合作會比我好。納入到這個Tree的話,未來一兩年之內我們會把這個結果測試出來,所以我相信我們會花很多的時間做我們之前沒有做的工作來過濾這些補丁。
提問者:非常感謝。
提問者:Linux總是落后于Windows,有沒有辦法解決這個問題,讓我們盡快的推出更新的版本,這是第一個問題。第二個問題就是電源管理,到今天為止我認為電源管理系統和Windows相比來講不是很好,到底Linux社區做了什么樣的工作,來改進電源管理系統,謝謝。
Andrew Morton:非常有趣的是Intel參與到這個事情當中來,當他們推出一個新的設備的時候,是一個Linux內核的,他們其實在這些設備推出之前就開始了這方面的工作,他們在這方面做得非常的好,我們現在的問題對于設備制造商來講的話,他們獲取只是30%或者是20%的市場份額,他們沒有充分的參與進來,這是為什么LinuxDriver比較的慢,我認為一個完美的解決方案,就是要增長Linux的市場份額,使得它的商業價值更高的時候,那么 LinuxDriver支持就更好,我們也希望盡快的發生,但是這個確實需要一定的時間。確實Intel在這個領域是非常積極的,不管是Intel的硬件,而且總體來講在內核的電源管理方面他們都非常的積極。而且談到電源的時候,其實我需要和一些具體負責電源方面的專家來進行交談,但目前來講的話電源管理便的越來越穩定,這是一個問題的領域,但是也是大家積極開發的一個領域。我覺得電源管理可能是針對不同的應用系統有不同,比如說有一種非常籠統的檢測方法就是在筆記本上播放DVD,看到底需要多長的時間,如果是可以把整個DVD放完的話,那么說明電源管理還不錯。
DVD管理來講的話有一個問題,就是硬件方面的問題,如果你的硬件支持不好的話,那么也是因為這個市場份額小,所以造成了這方面的電源管理的效率低。謝謝。
提問者:您知道我們現在的內核便的越來越大,而且越來越好,我認為必須要采取一些措施,或者一些原則來確保我們的內核變得越來越好,而不是另外一個方向發展,你能不能介紹一下我們可以采取什么樣的措施,或者是應用什么樣的原則?我不明白你的中心思想,我是從質量和功能的角度在內核開發團隊,你用什么樣的措施和采取什么樣的原則來確保內核的功能和質量變得更好?
Andrew Morton:有很多方式來進行度量,有一個驗證代碼組合的工具。Linux也有工具來幫助管理這方面的質量,我們有很多的QAA,都是依賴于網絡上下載 Linux的這些人,其實Linux的內核和其他的軟件項目之間有一個非常大的區別,那就是大部分的代碼都無法由編寫代碼的人去測試。比如說在自己的機器上有的人可以開發一個代碼,對他是完全沒有問題的,但是比如說另外一個人用一個不同的計算機系統,把文件系統建立在上面,所以你無法在一個機器或者一百個機器上來測試一個代碼,你需要的是上千上萬個機器來共同的測試這個代碼,所以你如何去收集這樣一個度量據證,這是一個非常困難的問題。因為有成百上千的機器都引入了這個代碼,帶來了相應的問題。你可以看到過去文件的結果,也可以有累計的經驗,但是你也可以有一些系統。比如說看一下是不是哪些代碼突然消失,或者說有什么樣的一些中斷等等。這是一個非常復雜的一個問題。我還沒有看到任何的公司或者任何的人放入相應的資源來解決這個問題,謝謝。
Jonathan Corbet:我想我們還有時間來回答另外一個問題,最后一個問題。
提問者:我有一個問題,我們知道Linux發展得非常快,但是有的人抱怨和的API變化得太快,您覺得這是對于一些公司來講是問題嗎?您有沒有什么樣的建議?
Andrew Morton:我覺得這個API確實是這樣的,那么我們現在確實定期的來進行調整,但是我們這方面仍然是非常的謹慎。那么我覺得您剛才所說的就是從內核到這種設備的驅動,那么確實我們會經常改變,確實給很多人帶來很多麻煩,但是這方面我們沒有什么可以妥協的,因為我們希望能夠改進我們的內核的表現,那么如果我們必須要調整這個界面來改進我們內核的話,我們就必須要進行調整,因為如果我們要改進這個界面不做調整的話,那么這個內核就不能前進,這個內核就不好,就不能進步,那么這個就是必須的,這就是我們對于他做出的決定,那么對于這些驅動器的人員來說,他們的解決方法就是要把驅動器融入到這個內核當中,適應這個變化,那么這樣的話呢就不會有很大的問題,所以這個就是我剛才和很多的公司來討論過的,那么一般花了三四年的時間,對于很多公司來說,他們剛用 Linux的時候都會有這樣的問題,我一直跟他們談來解決這個問題,他們必須把他們的代碼融入到內核當中,才能夠真正的解決這個問題,才能夠降低他們的成本,但是對于每一個公司來說,如果你決定進入Linux的話,都要經歷這樣一個過程,要適應。他們往往會遇到包括質量問題,知識產權問題等等,但是盡管會有各種各樣的比較痛苦的問題,但是最后他們一般都會解決。這個一般都是這樣的,但是一般要花三四年才能使公司真正的調整好。
Jonathan Corbet:我要謝謝Andrew Morton剛才回答我們的問題。 |
|