天天看點

解決 Linux 核心代碼審查人員短缺問題

作業系統安全是現在最重要的事情,而 linux 則是一個主要被讨論的部分。首先要解決的問題之一就是:我們如何确定送出到上遊的更新檔已經進行了代碼稽核?

wolfram sang 從 2008 年開始成為一名 linux 核心開發者,他經常在各地召開的 linux 峰會上發表講話,比如在 2016 年柏林 linux 峰會,他提出了如何提高核心開發實踐的想法。

讓我們來看看他的觀點。

在 2013 年的時候,你曾在愛丁堡(edinburgh)提醒 elce 委員會,如果不作出改變,那麼子系統的潛在問題和其他争議問題将會逐漸擴大。他們做出改變了嗎?你所提及的那些事件發生了嗎?

是的,在某些程度上來說。當然了,linux 核心是一個很多部分組成的項目,是以給以 linux 各個子系統更多關注應該放在一個更重要的位置。然而,有太多的子系統“隻是拼圖中的一塊”,是以通常來說,這些子系統的潛在問題還未被解決。

你曾指出代碼稽核人數是一個大問題。為何你覺得 linux 核心開發社群沒有足夠的代碼稽核人員呢?

理由之一就是,大多數開發者實際上隻是編寫代碼,而讀代碼并不多。這本是沒有什麼錯,但卻說明了并非每個人都是代碼稽核人員,是以我們真的應該鼓勵每個人都進行代碼稽核。

我所看到另一件事就是,但我們要請人員加入我們的社群時,最重要的考核就是更新檔貢獻數量。我個人認為這是很正常的,并且在初期總貢獻量少的時候是非常好的做法。但是随着越來越多的人員,特别是公司的加入,我們就碰到源碼稽核的問題。但是别誤解了,有着數量可觀的貢獻是很棒的。但目前需要指出的是,參與社群有着更多内涵,比方說如何為下一步發展負責。有些部分在改善,但是還不夠。

你認為更多的代碼稽核人員教育訓練或者稽核激勵措施是否會有幫助?

我最主要的觀點就是要指出,現今仍存在問題。是的,目前為止我們做到很好,但不意味着全都做的很好。我們也有類似擴張方面的問題。讓人們了解事實,是希望能夠讓一些團體對此感興趣并參與其中。盡管,我并不認為我們需要特殊的訓練。我所熟悉的一些代碼稽核人員都非常棒或者很有天賦,隻是這類人太少或者他們的空閑時間太少。

首先就是需要有這種内在動力,至于其它的,邊做邊學就非常好了。這又是我想要指出的優勢之一:稽核更新檔能夠使你成為更出色的代碼開發者。

依你之見,是否有那麼一個受歡迎的大項目在擴張這方面做的很好,可以供我們借鑒?

我還真不知道有這麼一個項目,如果有的話随時借鑒。

我很專注于 linux 核心,是以可能會存在一些偏見。然而在我看來,linux 核心項目在規模大小、貢獻數量和多樣性方面真的很特别。是以當我想要找另一個項目來尋找靈感以便改善工作流是很正常的想法,目前我們的擴張問題真的比較特别。而且我發現,看看其他子系統在核心中做了什麼是一個很有的方法。

你曾說安全問題是我們每個人都該想到的事情,那使用者應該做些什麼來避免或者改善安全問題的危險?

在今年(2016年)柏林 linux 峰會我的談話是針對開發層面的。安全隐患可能來自于沒有正确稽核的更新檔中。我并不想要使用者親自解決這種問題,我更希望這些安全問題永遠不會出現。當然這是不可能的,但這仍然是我處理問題所首選的方法。

我很好奇這個龐大社群如何改善這些問題。是否有你希望使用者定期以檔案形式送出的某些類型的錯誤報告?需要定期檢查的區域卻因為某些原因沒有注意到的?

我們并不缺少錯誤報告。我所擔心的是:由于代碼稽核人員的短缺造成更新檔不完整,進而導緻更多的錯誤報告。是以,到時候不僅需要處理大量的貢獻,還需要處理更多錯誤或者進行版本回退。

你是否還有什麼事情希望我們讀者知道,以了解你所在的努力?

linux 核心的特殊性,常常讓我牢記着,在底層它就是代碼而已。

作者:deb nicholson

來源:51cto

繼續閱讀