來(lái)源:量子位
這兩天,一封名為《不要提交刷 KPI 的 patches 來(lái)浪費(fèi)管理員時(shí)間》的郵件 " 火 " 了!
發(fā)出之后,直接沖上了 Linux 內(nèi)核郵件列表的 " 熱榜 " 第一。
郵件中矛頭直指華為。
一名內(nèi)核管理員在郵件中稱,最近收到不少郵件后綴名為 @huawei.com 的 patch 提交,但都是一些 "沒(méi)有什么用的修復(fù)",例如拼寫錯(cuò)誤:
這應(yīng)該是新手或?qū)W生經(jīng)常做的事,但是你們這樣做,讓人懷疑是在刷 KPI。
并且,該管理員表示,他看到好幾個(gè)維護(hù)人員對(duì)這種無(wú)價(jià)值的修復(fù)提出異議,但提交者不管不顧,仍然想將它們合并。
他認(rèn)為這樣的做法只會(huì)損害公司的榮譽(yù),請(qǐng)?jiān)撎峤徽?strong>停止這種刷 KPI 的行為,為 Linux 開(kāi)源社區(qū)做出真正的貢獻(xiàn)。
真的是在刷 KPI 嗎?
要回答這個(gè)問(wèn)題,就需要先看下他都提交了些什么。
簡(jiǎn)單瀏覽一下提交者的 patch 提交記錄:
確實(shí)都是一些小改動(dòng),大部分涉及的代碼行數(shù)也不多,其中不乏清理一些錯(cuò)誤信息、修復(fù)拼寫錯(cuò)誤,好像在做 code review?
他還曾經(jīng)在一天里對(duì)同一個(gè)文件前后提交了6 次細(xì)微修改。
而大概在 2018 年及以前,這個(gè)人提交的 patch 數(shù)量遠(yuǎn)不及這兩年,但大部分都是包括 ARM64 SMMU 驅(qū)動(dòng)優(yōu)化等有價(jià)值的修改。
2018-2019 年,幾乎沒(méi)什么提交,而到了 2020 年下半年,他的提交突然又開(kāi)始頻繁起來(lái),一直到最近的 5 月份。
patch 激增的背后,質(zhì)量確實(shí)不及以前,大多數(shù)都是一些 " 小打小鬧 "。
到底咋回事?真的突然背上 KPI 了?
這樣一封郵件,在開(kāi)發(fā)者社群中引起了不少討論。
有人認(rèn)為這種每個(gè) commit 就修復(fù)一個(gè)小問(wèn)題的行為就是在刷 KPI,也有人認(rèn)為開(kāi)源社區(qū)這是故意挑事,憑什么不讓修這種小問(wèn)題,其中甚至不乏各種陰謀論。
而當(dāng)事人終于在兩天之后進(jìn)行了回復(fù):
我過(guò)去對(duì)內(nèi)核的貢獻(xiàn)主要是優(yōu)化 ARM64 SMMU 驅(qū)動(dòng)程序的性能,包括 iova 優(yōu)化、嚴(yán)格模式優(yōu)化和懶加載模式優(yōu)化。同時(shí)也致力于一些 ARM SoC 驅(qū)動(dòng)程序的開(kāi)發(fā)。
在時(shí)間和精力允許的情況下,我還為 Linux 內(nèi)核的其他模塊做貢獻(xiàn),找到一些可以改進(jìn)的地方,進(jìn)行了一些清理 ( cleanup ) 的工作。
今后,我將繼續(xù)為 Linux 社區(qū)做出越來(lái)越重要的貢獻(xiàn)。
而管理員收到這封回復(fù)后,立即又回信表示:肯定他過(guò)去為社區(qū)做了很多重要貢獻(xiàn)。
并且,也不是說(shuō)他另外做的那些 " 小清理 " 工作不重要,但請(qǐng)下次合成一個(gè)大的 patch 集來(lái)提交。
而他對(duì)其背后雇主華為的巨大貢獻(xiàn)也非常熟悉,完全沒(méi)有質(zhì)疑。
信末這名管理員還列舉了一些可以做貢獻(xiàn)的模塊,如果他愿意,可以參考。
從雙方的回復(fù)來(lái)看,似乎不是很大的矛盾,雙方也都在心平氣和地就事論事。
代碼可信改造?
事件基本告一段落,而網(wǎng)友們場(chǎng)外復(fù)盤的討論還沒(méi)有停息:
不少人指出是華為在整改代碼質(zhì)量,順手把這些 " 小打小鬧 " 提交了上去,而 Linux 社區(qū)的維護(hù)者數(shù)量少,個(gè)個(gè)都很忙,有怨氣也是正常的。
為什么要整改代碼質(zhì)量?大概是為了代碼可信改造:開(kāi)源軟件只要有不符合華為代碼規(guī)范的地方,他們內(nèi)部修改以后也需要給社區(qū)提修復(fù) patch,社區(qū)可能會(huì)不接受,但只要給個(gè)答復(fù),就能自證 " 清白 "。
另外,網(wǎng)友 @養(yǎng)貓的哈士奇還表示在綠帽論壇上看到員工說(shuō):不是刷 KPI,是華為的 AI 腳本自動(dòng)跑出來(lái)的。
所以,準(zhǔn)確地來(lái)說(shuō),不算刷 KPI。
而針對(duì)網(wǎng)上出現(xiàn)了很多陰謀論的爭(zhēng)吵,網(wǎng)友 @醉臥沙場(chǎng)表示:大可不必小題大作、擴(kuò)大討論范圍。
看到很多人在各個(gè)平臺(tái)傳播這個(gè)事情,引來(lái)大量口水戰(zhàn),我覺(jué)得有點(diǎn)過(guò)了。我還是希望大家能以平常心看待這個(gè)事情。截至目前幾天過(guò)去了," 事發(fā)地 "(Linux 郵件列表)里都沒(méi)有什么人爭(zhēng)論這個(gè)事,就當(dāng)事人雙方各回復(fù)對(duì)方一封郵件,談話的內(nèi)容和態(tài)度也都很理性而誠(chéng)懇。
最后,他認(rèn)為:
對(duì)此,你怎么看?