这两天,一封名为《不要提交刷 KPI 的 patches 来浪费管理员时间》的邮件 “火” 了!

发出之后,直接冲上了 Linux 内核邮件列表的 “热榜” 第一。

邮件中矛头直指华为

一名内核管理员在邮件中称,最近收到不少邮件后缀名为 @huawei.com 的 patch 提交,但都是一些 “没有什么用的修复”,例如拼写错误

这应该是新手或学生经常做的事,但是你们这样做,让人怀疑是在刷 KPI

并且,该管理员表示,他看到好几个维护人员对这种无价值的修复提出异议,但提交者不管不顾,仍然想将它们合并。

他认为这样的做法只会损害公司的荣誉,请该提交者停止这种刷 KPI 的行为,为 Linux 开源社区做出真正的贡献。

真的是在刷 KPI 吗?

要回答这个问题,就需要先看下他都提交了些什么。

简单浏览一下提交者的 patch 提交记录:

确实都是一些小改动,大部分涉及的代码行数也不多,其中不乏清理一些错误信息、修复拼写错误,好像在做 code review?

他还曾经在一天里对同一个文件前后提交了 6 次细微修改

而大概在 2018 年及以前,这个人提交的 patch 数量远不及这两年,但大部分都是包括 ARM64 SMMU 驱动优化等有价值的修改。

2018-2019 年,几乎没什么提交,而到了 2020 年下半年,他的提交突然又开始频繁起来,一直到最近的 5 月份。

patch 激增的背后,质量确实不及以前,大多数都是一些 “小打小闹”。

到底咋回事?真的突然背上 KPI 了?

这样一封邮件,在开发者社群中引起了不少讨论。

有人认为这种每个 commit 就修复一个小问题的行为就是在刷 KPI,也有人认为开源社区这是故意挑事,凭什么不让修这种小问题,其中甚至不乏各种阴谋论。

而当事人终于在两天之后进行了回复:

我过去对内核的贡献主要是优化 ARM64 SMMU 驱动程序的性能,包括 iova 优化、严格模式优化和懒加载模式优化。同时也致力于一些 ARM SoC 驱动程序的开发。

在时间和精力允许的情况下,我还为 Linux 内核的其他模块做贡献,找到一些可以改进的地方,进行了一些清理 (cleanup) 的工作。

今后,我将继续为 Linux 社区做出越来越重要的贡献。

而管理员收到这封回复后,立即又回信表示:肯定他过去为社区做了很多重要贡献。

并且,也不是说他另外做的那些 “小清理” 工作不重要,但请下次合成一个大的 patch 集来提交。

而他对其背后雇主华为的巨大贡献也非常熟悉,完全没有质疑。

信末这名管理员还列举了一些可以做贡献的模块,如果他愿意,可以参考。

从双方的回复来看,似乎不是很大的矛盾,双方也都在心平气和地就事论事。

代码可信改造?

事件基本告一段落,而网友们场外复盘的讨论还没有停息:

不少人指出是华为在整改代码质量,顺手把这些 “小打小闹” 提交了上去,而 Linux 社区的维护者数量少,个个都很忙,有怨气也是正常的。

为什么要整改代码质量?大概是为了代码可信改造:开源软件只要有不符合华为代码规范的地方,他们内部修改以后也需要给社区提修复 patch,社区可能会不接受,但只要给个答复,就能自证 “清白”。

另外,网友 @养猫的哈士奇还表示在绿帽论坛上看到员工说:不是刷 KPI,是华为的 AI 脚本自动跑出来的。

所以,准确地来说,不算刷 KPI

而针对网上出现了很多阴谋论的争吵,网友 @醉卧沙场表示:大可不必小题大作、扩大讨论范围。

看到很多人在各个平台传播这个事情,引来大量口水战,我觉得有点过了。我还是希望大家能以平常心看待这个事情。截至目前几天过去了,“事发地”(Linux 邮件列表)里都没有什么人争论这个事,就当事人双方各回复对方一封邮件,谈话的内容和态度也都很理性而诚恳。

最后,他认为:

对此,你怎么看?

华为程序员频交 Linux 内核补丁遭质疑,管理员后续回应:承认贡献,但请不要琐碎提交相关推荐

  1. 华为程序员频交Linux内核补丁遭质疑,管理员后续回应:承认贡献,但请不要琐碎提交...

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 这两天,一封名为<不要提交刷KPI的patches来浪费管理员时间>的邮件"火"了! 发出之后,直接冲上了L ...

  2. 【华为云技术分享】Linux内核补丁源码分析(1)

    在上一期中,我们介绍了Linux内核编程环境,在这一期中,我们将通过实例来介绍如何分析Linux内核的补丁. 一.Linux内核补丁 在"Linux内核发展史"中,我们简要介绍了L ...

  3. 大厂程序员推荐的linux内核学习路线

    第一步,了解 linux 的发展历史.设计思想.与其他操作系统相比其特点和优势,了解国内外发展现状. 什么是开源软件?什么是闭源软件?什么是自由软件?什么是 GPL 协议?什么是一切皆文件的设计?什么 ...

  4. linux究竟有何优势?为何大多数程序员会选择linux?

    对于某站上不少编程教学视频,在前期会教大家学习使用linux,那么linux究竟有何优势呢?下面小编给大家分享几点我自己的看法. 一:windows无法比拟的安全性 1.在目前来看,linux的病毒相 ...

  5. 后端程序员必备的 Linux 基础知识

    后端程序员必备的 Linux 基础知识 原文来自github stars>63k的项目JavaGuide,欢迎小伙伴去支持原作者 一 从认识操作系统开始 1.1 操作系统简介 1.2 操作系统简 ...

  6. [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  7. [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  8. linux php 守护进程,PHP程序员玩转Linux系列 使用supervisor实现守护进程

    PHP程序员玩转Linux系列文章: 首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令 如:nodejs index.js & ...

  9. [Linux] PHP程序员玩转Linux系列-nginx初学者引导

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  10. [Linux] PHP程序员玩转Linux系列-备份还原MySQL

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 前几天有个新闻,说是g ...

最新文章

  1. JVM垃圾回收3——参数详解(转载)
  2. 【Win32汇编】五种寻址方式
  3. 科大星云诗社动态20201126
  4. 1746: 多项式系数(杨辉三角的应用)
  5. C++ 操作64位系统,默认读取Wow6432Node子键的解决方法。
  6. 高中二年级会考计算机考试试题,高中二年级学考是怎么回事 和会考的区别是什么...
  7. this.getclass().getresource 空指针异常_NPE空指针异常总结
  8. AutoML之锦标赛选择
  9. java基本类型运算溢出_JAVACard 基本数据类型的运算及溢出问题
  10. Ubuntu安装google中文输入法
  11. 奇虎360与腾讯之争再现高潮
  12. 计算机处理器的hz越大越好,cpu主频越高越好吗,教您CPU处理器主频率越高越好吗...
  13. Unity 数据存储与读取_JSON
  14. 高速数据采集卡“王牌”对“王牌”
  15. sql 数据库课程设计作业——基于python--GUI的运动会报名管理系统
  16. 利用SVM,sklearn对iris数据集进行分类
  17. 【文学文娱】《人类简史》--从动物到上帝
  18. 模拟生成验证码,有相应次数限制(个人学习记录)
  19. 基于轻量级CNN的12306验证码识别分析系统
  20. 什么,你不会Windows本地账户和本地组账户的管理加固?没意思

热门文章

  1. 下面哪个linux内核是稳定版本,哪个 Linux 内核版本是 “稳定的”?
  2. Chelly个人训练
  3. 涉及到的数据安全技术包括哪些内容
  4. MessageBox中涉及到的宏定义
  5. 分布式文件系统(Distributed File System,DFS)
  6. 为什么有的python内置函数怎么就一个pass?
  7. Python调用百度API进行人像动漫化
  8. 使用Go语言开发生成阿里云ECS监控报表,定时自动发送邮件给指定人员
  9. peoplesoft 调用Java_利用 XML Publisher 创建 PeopleSoft 报表
  10. 零基础入门—手把手教你做网站(新手必备)