问题

华为 Linux 内核贡献者被质疑刷 KPI,真实情况是怎样的?有哪些信息值得关注?

回答
华为 Linux 内核贡献者被质疑刷 KPI 的事情,确实在技术圈引起了不少关注和讨论。要理解这件事的真实情况,我们需要从几个层面来看待:

事件的起因与核心质疑点:

最直接的导火索,大概率是围绕着华为在 Linux 内核社区的贡献数量展开的。有评论者或竞争对手观察到,华为在 Linux 内核社区的提交(commits)数量在某些时期激增,并且其中一部分提交被认为“质量不高”、“重复”、“缺乏实质性改进”甚至“为了提交而提交”。这就引出了“刷 KPI”的质疑。

这里的“刷 KPI”可以理解为一种绩效考核导向的驱动行为,即为了在内部绩效评估中获得更好的成绩,而刻意追求某些可量化的指标(例如代码提交数量),而不是真正地为了内核的整体健康和发展。

华为在 Linux 内核的贡献体量:

首先,我们必须承认,华为是 Linux 内核社区的一个重要贡献者,尤其是在近些年,其贡献体量在很多统计中都名列前茅。这本身是件好事,说明华为在开源领域投入了资源,并且其工程师有能力参与到 Linux 内核这样核心的开源项目中。

华为之所以在内核中有如此大的体量,有几个可能的原因:

Android 设备驱动的维护与优化: 华为是全球最大的 Android 设备制造商之一,Android 系统大量依赖 Linux 内核。为了支持其庞大的手机、平板、手表等产品线,华为需要为各种硬件(处理器、基带、传感器、显示屏、电源管理等)编写和维护驱动程序,并进行性能优化。这些驱动的开发和维护会产生大量的内核代码提交。
鲲鹏处理器等自研硬件的适配: 华为在 ARM 服务器处理器(如鲲鹏)以及其他自研硬件方面有投入。为了让这些硬件能在 Linux 上良好运行,自然需要贡献大量的驱动和相关的内核优化。
社区贡献策略: 任何一家大型公司都会有其社区贡献的策略。华为可能将其在硬件驱动和系统优化方面的投入,通过积极的社区贡献方式来实现。这既是为产品服务,也是对开源社区的回馈。
团队规模与投入: 华为拥有庞大的研发团队,其中相当一部分是操作系统和驱动开发工程师。如此庞大的团队在开源社区的活跃度自然会比较高。

“刷 KPI”质疑的背后复杂性:

开源社区的评价标准: Linux 内核社区虽然看重贡献数量,但更看重代码的质量、创新性、是否能解决实际问题、是否遵循社区规范以及贡献者在社区的声誉和影响力。一个纯粹的数量导向的贡献,很容易被社区敏锐地察觉到。
提交的“质量”: 被质疑的“质量不高”可能包含以下几种情况:
小改动频繁: 比如一些非常小的补丁,例如修复一个拼写错误、调整一个空格、或者是一个非常基础的日志信息修改,虽然是好意的改进,但如果数量过于庞大,可能会给人一种“刷屏”的感觉。
重复或低价值的修改: 有些提交可能是对已有功能的微小调整,而这种调整是否真的有必要,或者其带来的价值是否匹配提交的精力,就可能被质疑。
不熟悉社区规范的提交: 即使是善意的提交,如果格式、风格或提交信息不符合内核社区的惯例,也可能被评审者认为效率低下或质量不高。
自动化生成或半自动化的提交: 有些提交可能源于工具链的自动化更新或者脚本化的生成,这些代码可能在功能上是正确的,但在可读性、设计上可能不如人工精雕细琢的代码。
社区的反馈机制: Linux 内核的评审机制是非常严格的。很多提交会被经验丰富的维护者和核心贡献者仔细审查。如果提交的质量真的有问题,通常会在邮件列表中引起激烈的讨论和批评,甚至会被拒绝(Reject)。质疑声本身就是这种反馈机制的一部分。
公司内部的压力与外部的竞争: 任何大型科技公司都会面临业绩压力,尤其是当其在某个关键领域(如操作系统)加大投入时。同时,在开源领域,公司之间的竞争也是存在的。这种竞争可能会导致一些公司更加关注量化指标,从而引发“刷 KPI”的联想。
对开源文化的理解差异: 不同的公司和开发者对开源文化的理解和参与方式可能存在差异。有些公司可能更倾向于将开源作为一种工具来服务于自身产品,而有些则更注重为社区贡献价值和建立长期合作关系。

值得关注的信息点:

1. 具体的被质疑的提交内容: 如果有具体的代码提交被指名道姓地批评为“刷 KPI”,那么深入分析这些提交的代码本身、提交的背景、以及它们在社区中的反馈,是判断真伪的关键。例如,是一个新的驱动程序、一个性能优化、一个 bug 修复,还是对现有 API 的微小调整?
2. 维护者的反馈与社区的讨论: Linux 内核社区的邮件列表是重要的信息来源。观察那些有经验的内核维护者(Maintainers)对华为提交的评价,他们的意见往往更具代表性。是否有核心维护者公开表示对华为提交的质量或数量感到担忧?他们的担忧是什么?
3. 华为官方的回应与解释: 华为作为当事方,其官方的解释和澄清非常重要。他们是如何看待自己的贡献行为的?是将其视为正常的工程实践,还是有特定的策略?他们是否正面回应了关于代码质量的质疑?
4. 贡献的长期影响: 评价一项贡献是否“刷 KPI”,不能只看一时一地的数量。更重要的是看这些贡献是否为内核带来了长期的稳定性、性能提升或新的功能,以及是否真正地被社区采纳和长期维护。
5. 竞争对手的动机: 在技术竞争激烈的行业,对竞争对手的批评有时也会带有商业动机。需要辨别质疑声中是否存在刻意抹黑或夸大的成分。
6. 华为在其他开源项目中的表现: 了解华为在其他重要的开源项目(如 Kubernetes, OpenStack 等)中的贡献情况和评价,可以帮助形成更全面的印象。

总结来说,华为 Linux 内核贡献者被质疑“刷 KPI”这件事,更像是一个复杂现象的体现,而不是一个简单黑白分明的问题。

一方面, 华为作为一家巨头,其在内核的贡献量巨大,这背后有其产品和技术战略的驱动。为了支持其硬件和软件生态,大量的驱动开发和优化是必然的,这也自然会带来大量的代码提交。
另一方面, 开源社区(特别是 Linux 内核社区)对贡献质量有非常高的要求。任何为了量化指标而牺牲代码质量、忽视社区规范的行为,都可能招致批评。

真正需要我们关注的是:

华为是否认识到社区的反馈并据此调整其贡献策略?
华为贡献的代码是否真正提升了 Linux 内核的整体质量和功能?
在数量增长的同时,华为是否也在社区中培养了良好的声誉和建立了长期的合作关系?

这不仅仅是关于华为一家公司,更是关于大型科技公司如何以负责任和建设性的方式参与到开源社区的讨论。我们需要透过表面的数字和质疑,去理解其背后的技术、商业和社区文化因素。

网友意见

user avatar

连github都可以farming……

user avatar

这个抹黑造谣华为的Qu Wenruo的高华,是在OpenSUSE基金会工作的,不仅是境外NGO的员工,更是微内核形式化验证且兼容安卓的分布式云AI操作系统鸿蒙OS的直接竞争对手,所以抹黑华为没有什么新鲜的,纯粹的境外势力对华为泼脏水的手段而已。

很多人不知道OpenSUSE基金会是什么背景,至少在美国的人都知道,美国军方、国防部、大量隐私安全组织、美国棱镜计划都和OpenSUSE基金会和他的兄弟集团——Linux基金会有着密切的联系,甚至可以说是间接受到拜登和特朗普的直接控制的,这一点调查一下社区成员和捐赠人信息就知道了。

总而言之,这种泼脏水的技术问题非常恶劣,一看就是具有政治目的性的颜色革命前奏,而且这件事的影响力可能比回形针、蒋方舟、詹青云这几件事加起来还大。

另一方面来看,这件事也深刻地反映了全世界首个自主研发的微内核形式化验证且兼容安卓的分布式云AI操作系统鸿蒙OS给整个美国科技界、政界、军方和整个西方世界带来了巨大的震撼和影响力,才让他们不择手段地花钱雇佣美国顶级高华工程师来带头抹黑泼脏水,这种事情不可不防。

user avatar

(嫌字多的直接跳到总结部分就好)

我简单浏览了一下这个开发者的patch提交记录,大概在2017年以及以前,这个人的patch虽然不多,但大部分还是有意义的patch的,2018年好像是在围绕一个功能前前后后做了一些功能添加和修复的工作。2018年底到2020年下半年几乎销声匿迹快两年,然后一年前突然又出现,出现后画风慢慢的就不太对了,像是找到了什么“法门”,patch数量渐渐多了起来,但是“风格”逐渐向“看着改了很多,但是大部分又没大用”的方向发展下去了,和之前的patch平均质量比可以说是下降了几个台阶。当然他发这些patch也不能说不行,甚至可以说偶尔发发没什么问题。估计他可能是发的略微有点密(也没到轰炸的地步啦),也可能是因为公司制定了过于苛刻的“目标”导致他不得不出此下策,总之可以看出其patch平均质量的下滑,但没有到算是做了错事的地步。这种作用不大的修修文档修修边角的patch本来也不能算少见,比如我手边正看到的一封来自和Qu同属一个公司的人发的邮件:

这个也没做什么,就是给文档加一个git repo的地址而已。这种东西你去Linux内核项目里找,肯定有很多可以做的,没有人规定这个不能做或必须留给谁做,也不能说新手做了就是正确的,老手做了就是什么要批斗的事情。

再说一下那封警告邮件。其作者Qu Wenruo也是国人,我查了一下并没有在Linux内核的maintainer列表里找到他的名字,但是通过提交记录可以看出他是一个在btrfs方面比较活跃的贡献者和代码审核者,但是没有到btrfs maintainer的地步,更没有到更高层maintainer的地步。这封信也没有任何maintainer的回复表示完全支持他,说句不太好听的,其实论不到他代表Linux社区来做这个警告。这和当时明尼苏达事件不一样,那个事件确实是Linux社区的高层维护者警告并采取的行动,而这个事件根本没有那么大的影响,说实话多少让人怀疑有些“内卷”。我不知道他是否得到maintainer的授意来发这样的邮件,如果是这样,这么长时间过去了,btrfs的maintainer Chris也根本没有表态。所以这个事件里这个Qu到底扮演一个什么角色,其实也并不是高高在上的。有人说他虽然不是maintainer但是是reviewer,是审核人。听着很高级,但很遗憾,他也不是官方定义的审核人Reviewer,在列表里并不能找到他的名字。基本上一些较常贡献的开发者都可以给一个patch加上"reviewed-by: xxxx",但是这不代表加这个的人就是官方意义的Reviewer。这一行你也可以加,但是maintainer看到你的名字会考虑你review的权重,太低的可以忽略。Qu目前没有明确被记录为哪个子系统的正式Reviewer,所以他和其他较常贡献的开发者一样,属于普通开发者,没有官方定义的管理职责。当然常贡献的话可以得到maintainer的“眼熟信任”,在这一点上Qu比Zhen做到的多一些。所以二人的关系差不多好比十年老司机和五年老司机,所以一个经验值高些的司机平时教育一下经验值低些的司机可以理解,但是公开在司机专业社区(假如有)发文怒批你挂挡生涩有时还不如新手,弄的满世界的同行和外行都谈论你,这行为就有点争议了。一般一个patch,maintainer决定收不收,能让maintainer收那就没必要说人家故意填乱,不收大不了就不收,也没什么,假如maintainer说“你以后把patch合并一下,要不我不收”,或者说“以后类似这样的patch不是我们工作的重点,你即使发了我可能也会大部分直接忽略了”,这也没什么。但是以一个普通开发者的身份公开严厉的警告另一个普通开发者的没什么大问题的行为,多少让人看了有点不明所以。

从这封邮件的角度说,邮件本身并没有引起规模性的口诛笔伐和议论,只是发件人的一种带有抱怨性的个人警告而以。原因他也在邮件里写了,因为他和他声称的一些同行最近都遇到了同样性质的大量“无用无害”的patch,而且这种邮件不是发一两次,而是总发,而且邮件来源的后缀都一样。所以他们开始觉得这些人是不是凑在一块互相传授了什么增加绩效的“经验”,并付诸行动。加上刚刚发生的明尼苏达大学插入性实验漏洞事件,内核维护者们最近对那些看似无用无害的patch可能有些警觉。在下面的回答里我已经介绍过了:

而且我也说过上游Linux的维护者(相比于邮件的数量来说)其实很少,精力极其有限,光我认识的维护者几乎无不抱怨自己快被每天大量的邮件逼疯了,都希望其它的开发者能帮忙review patch,也希望自己能玩消失。所以当他们快被每天数不清的patch压死的时候,抱怨两句是正常的“生理”反映。这也就是Linus本人大部分时间都面向各个maintainer了,要是他亲自面向这些最琐碎的邮件,以他的性格发这封“警告”的话,里要是不带几个类似F开头的单词都不算完(当然我说了,这件事并没有得到Linux社区高层的关注)。当然大部分开发者对初学者还是很友好的,如果他能感受到你是一个初学者,而且感受到你正在尽极大的努力想成为一名正式的开发者,那你问一些问题,发一些“生涩”的patch也是可以的。但是如果他们发现你很长时间以来总是干这种事,那可能就要怀疑你的目的性了。

所以这件事要我说就是没有必要放到这个圈子以外去扩大讨论范围,在圈内都没有人公开讨论,而且甚至看了觉得像程序员公开“撕B”同行一样好笑。那封邮件“目前”还都没有人接话(解释的、讨论的、声讨的、抱怨的等等目前都还没有,出于No followups的状态):

但是却被先传到圈外引来比圈内还多的讨论。太小题大作了,这往大了也只是个单纯的个人为了绩效而使的一些小聪明而以(注意是往大了说),轮不到上升到口诛笔伐的地步。当然你也可以猜测是公司或者大部门的目标设定为力争追求极大patch贡献量,这种目标是好的,但是落实到基层的员工后可能有些实在没有办法,只能使出“洪荒之力”,甭管黑patch白patch,能merge的就是好patch(某种意义上这么说也没有什么大问题)。总之这种现象属于非常常见的现象,这是很多公司很多团体里都或多或少存在的现象。这种行为本质上和是不是华为的员工没有什么关系,所以看到是华为就要博一把眼球实属没必要,阴谋论到Linux社区企图灭亡华为的就更是闲的。这就好像一个行人低头看手机过马路,被交警拦住了,然后赶上交警大队最近严抓行人交通规范,所以调取了录像和记录发现这个行人以前也总低头看手机过马路。于是对他进行了一定程度的警告和教育。你说这种事算什么大事吗?不算,还不如说这个人挺倒霉的被抓了典型(当然我们也不提倡看手机过马路!)。但是如果有人告诉你是国人在国外不违反当地法律却被当地警察警告了,你怎么想?这就叫敌人故意找茬,企图打击我方国际声誉。然后马上就划分阵营,什么敌对派、投降派和良知派就出来了……

虽然帝国主义亡我之心不死,但也没有到草木皆兵的地步,天天不是想斗争这个就是想斗争那个,天天给人家划定这个是阶级敌人、那个是敌国叛徒。1968年袁隆平院士当年的试验田是被敌人破坏的吗?是被叛徒砸烂的吗?不,都不是,是被无知又不自知的人破坏的。所以奉劝这些人,有那激情不如把自己管好养活好,把老婆孩子照顾好,把爸妈照顾好,别啃老,让国家少为你操点心,有心贡献的你就多干多挣多给国家交点税,算你支持经济建设了,少给国家和家庭添负担。


补充:

我看到很多人在各个平台传播这个事情,引来大量口水战,我觉得有点过了。我还是希望大家能以平常心看待这个事情,截至目前3天过去了,“事发地”(Linux邮件列表)里都没有什么人争论这个事,就当事人回复了一下那个“警告”而已:

Hello, Qu:

My contributions to the kernel in the past have mainly been on optimizing the performance of the ARM64 SMMU driver,
including the iova optimization, strict mode optimization, and the lazy mode optimization. Also working on the
development of some ARM SoC drivers.

When time and effort is allowed, I also contribute to other modules of Linux kernel, trying to find something can be
improved, and some cleanup work is being done.

In the future, I will continue to make more and more important contributions to the Linux community.

链接如下:


所以我不明白为什么外面的吃瓜群众怎么比“事发地”的人们还兴奋?可能有人觉得当事人的回复特别官方口吻,但我觉得不管他有没有请人帮忙写回复,这个回复就算可以了,可以说不卑不亢,既没有和邮件发出者就一些争议性的地方争吵起来,也没有抱怨什么,也没有把自己摆到过于卑微的位置。就是先例数了一下自己以前为Linux社区做过的一些贡献,也就是我上面说的2018年以及以前的那些贡献,然后后面表示自己以后如果有机会还希望可以为Linux做更多有意义的贡献。对一个普通的开发者来说,这样就可以了,否则你还要他怎么做?如果那个邮件发出者没有不依不饶,这件事就可以画句号了。我个人觉得:

  • 从邮件发出者的角度来说,就算你有资格警告另一个开发者,对方如果态度诚恳,就没必要不依不饶,又没有什么深仇大恨,这件事也没有到要上升一个层面的地步。如果带动的社区想要揪着不放,那就有针对某公司的嫌疑了。
  • 从开发者的角度来说,接受别人指出的问题,表示出诚恳的态度就可以了。这事也没有多么严重,目前为止就是个态度问题。表个态并稍微收敛就好了。说实话,只要不吵起来,我觉得就算挺给那封邮件面子了。
  • 从旁观者的角度来说,瓜大家也吃的差不多了,就不要再继续扩散传播了。用舆论毁掉一个普通的开发者一个普通的员工对大家有什么好处么?得饶人处且饶人,扩散事件本身就会给这个当事人带来更多舆论压力,以及可能的更严重的后果。这件事并没有多么十恶不赦,甚至都算不上恶,甚至你都可以怀疑Linux开发者是不是有出现“内卷”的趋势了。所以得饶人处且饶人吧,事情根本不是大家想的那样。

最后,那封警告信的作者Qu也会回复了Zhen的回复,如下:

说实话回复的和我预计的差不多,他也没有对这点事不依不饶,也没有把这件事扩大层面,尽量维持在了技术层面的论述。指出如果真有大量这种patch可以怎么处理,然后也肯定了华为为Linux社区作出的贡献,最后也愿意接受当事人表示“还希望可以为Linux做贡献”的态度,并还为当事人提出了一些可供着手开始的方向性建议。算是互相给台阶下了。

所以这件事到这里,在“事发地”都快平淡的过去了,且不论双方心里到底是怎么想的,至少后面回复的都比较理性。可以说这件事如果下面吃瓜群众和媒体平台们不再继续传播的话,当事人们都快通过简单的3封邮件和解了。所以这里我再次呼吁,让这件事回归它本来的地方,没必要成为一个出圈话题引来舆论的发酵。

总结:

我上面说了这么多,可能因为是多次分批次编辑的原因,有点乱。从评论来看大家可能有的误解了我的核心意思,所以我总结一下,我主要希望大家理解以下几点:

  1. Zhen的行为并没有多么不堪,虽然其行为不能归为“善举”,但是也轮不到归为“恶行”,只是有些取巧而已。所以根本没有必要这么批判他。人家又不是恶意刷kpi,也没有邮件轰炸,人家这也算是被maintainer收了的patch,虽然效力不大,但也是有效的。目前没有规定说开发者不可以发过于简单的patch,虽然发太多了是不好看,被圈内的调侃一下也就算了,没到被这么多人以道德的名义批评至此的地步。
  2. Qu虽然发了警告邮件,但是他本身也不是高高在上的,而且也不能代表Linux社区,甚至代表Btrfs子部分都不够。除非有更多的更高级的维护者出面明确表示支持他,否则他只能代表他个人(一个开发者)在严厉警告另一个开发者,这种行为多少让人有点不明所以。虽然他确实说明了一些问题,但是那些问题到底算不算问题,还是存在争议的。当然如果Qu没发这个警告,Zhen持续这样做下去会不会得到更高层的警告,这个不好说。
  3. 这件事在圈内根本没有那么多争论,你可能觉得这个邮件在热榜,但是其实并没有什么人参与其中,大家更多的是当作一件趣事看看就得了,偶尔拿来调侃一下Linux开发者的内卷时代是不是要来了。但是在圈外却被传播的过于严重,甚至引来了很多人的口诛笔伐。这完全是没有必要的,所以请停止这种无效的舆论发酵吧。除了给当事人带来过多的困扰以外,什么也带不来。
user avatar

进git看了一下,笑死了。这位华为大佬曾经在一天里对同一个文件提交了6个fix,每一个fix修改注释里面的一个拼写错误,还有一个是调整include 顺序。被reject了以后还发邮件去defend。

打个比方就是你假装帮导师做数据,一个数据没做但是一天发给他6个版本,每个版本改论文里的一个错别字,同时要求导师把你名字加到作者里。导师说求你别给我发了,然后你跑去办公室和他争论这个错字很重要,换了谁都要发飙啊。

问题是这位老哥并不是不懂规矩的新手,他前几年还在正常提交代码,去年开始画风突变,KPI没跑了。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有