Linux內(nèi)核維護者這些事!你了解嗎?
Linux是一種開源電腦操作系統(tǒng)內(nèi)核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統(tǒng)。就目前而言windows仍然是最主流的系統(tǒng),但最近的linux的勢頭也相當猛,很多人開始放棄windows轉向使用Linux,Linux相對于window而言,運行也更快。Linux的內(nèi)核也是有人在維護的,但是但你了解Linux的內(nèi)核維護者的這些事嗎?你對內(nèi)核維護者又了解多少呢?
Linux的5.5內(nèi)核的發(fā)布時間是2020年1月,到現(xiàn)在已經(jīng)有近87,000個patch,來自于近4600名開發(fā)者,都被合并到mainline倉庫中了。review所有這些patch的工作,對于愿意花時間的內(nèi)核開發(fā)者來說也都是一項艱巨的任務,所以是否要接受合并patch,這個決定權就被委托給了各個子系統(tǒng)的維護者(maintainer)來代理決定,也就是說他們是相對獨立的。他們每個人都對內(nèi)核中這一部分的改動具有部分或者完整的決定權。這些維護者們就被記錄在一個叫MAINTAINERS的文件中(當然是這個名字)。
在與 Dirk 的談話中,Linus 認為 Linux 內(nèi)核開發(fā)對大多數(shù)人來說是無聊的。“ 我說過內(nèi)核很無聊,但我的意思是從某種意義上說,許多新技術應該比內(nèi)核開發(fā)更有趣。但是對我和其他內(nèi)核開發(fā)者來說,沒有什么能夠比與底層硬件交互的內(nèi)核開發(fā)更有趣的了,因為這能真正控制所有將在計算機中發(fā)生的事情。所以內(nèi)核對我來說并不是很無聊,但是我想大多數(shù)人應該會認為它們很無聊?!币簿褪钦f,他們做linux維護時非常無聊。
Linux內(nèi)核維護時非常無聊的事情。但又必須有人來做。但是,MAINTAINERS文件也需要維護,它能很好地反映現(xiàn)實情況嗎?MAINTAINERS文件的存在目的,并不僅僅是為了讓大家給維護者點贊。開發(fā)者們需要用它來確定該把patch發(fā)到哪里。get_maintainer.pl腳本通過查看這個patch修改了的文件,就可以生成一系列郵件地址來發(fā)送patch,從而讓這一過程變得更加自動化。如果這個文件中有錯誤信息的話,就可能會讓patch發(fā)送到錯誤的地方去,所以我們需要這個文件能保持更新。最近,編者收到JakubKicinski的建議,他認為可以比較一下MAINTAINERS中的各個條目和現(xiàn)實世界中的工作的吻合程度,應該能得到一些線索。于是折騰了一會兒Python之后,我們就得到了一個新的分析腳本。
Linux之父Linus 在采訪時透露“我們確實有不少編寫代碼的人,但缺少維護者。” 在 Linus 看來,Linux 內(nèi)核項目未來交接的難點在于尋找一個自己的繼任者?!?事實證明,我們現(xiàn)在很難找到合格的新維護者。所以成為內(nèi)核維護者的要求時非常嚴苛的,因為成為內(nèi)核維護者,你必須一直存在,這意味著你每天都要在電腦前閱讀來自全球各地的電子郵件,對郵件做出反應,就像我這 30 年來做的一樣,從不間斷。我們現(xiàn)在很難找到真正看待他人代碼,并在上游嚴格把關每一個提交,判斷它們能否合并到我們的主干代碼上的人。這是我們面臨的最主要的問題。” Linus 說。
當你成為linux維護者的時候,你需要遵循貢獻者契約行為準則 ,準則是一個通用文檔,旨在為幾乎所有開源社區(qū)提供一套規(guī)則。 每個開源社區(qū)都是獨一無二的,Linux內(nèi)核也不例外。因此,本文描述了Linux內(nèi)核社區(qū)中 如何解釋它。我們也不希望這種解釋隨著時間的推移是靜態(tài)的,并將根據(jù)需要進行調(diào)整。
Windows有微軟的員工去維護,我個人認為,linux在將來必將超過window,成為最通用的系統(tǒng),因為他的便捷性,開源性,成為內(nèi)核維護者很難,要求很高,但是不代表不可能。正是因為這個難度,才能使linux成為真正好的系統(tǒng)。此前也有很多大牛,從windows轉向了linux系統(tǒng),所以它的前景一片光明。
Linux還有很多可以講的東西,這里就不再贅述。有興趣的可以持續(xù)關注21ic電子網(wǎng),持續(xù)關注小編。





