丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI

这两天,一封名为《不要提交刷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邮件列表)里都没有什么人争论这个事,就当事人双方各回复对方一封邮件,谈话的内容和态度也都很理性而诚恳。


最后,他认为:

对此,你怎么看?

参考链接:

[1]https://lore.kernel.org/lkml/e78add0a-8211-86c3-7032-6d851c30f614@suse.com/
[2]https://www.zhihu.com/question/466111598

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Android 将ARGB图片转换为灰度图
  2. oracle瘦连接,java-无法使用jdbc瘦驱动程序连接到oracle数据...
  3. 小白看Word2Vec的正确打开姿势|全部理解和应用
  4. 什么样的编程姿势才没有bug
  5. 微信公众平台开发教程第19篇-应用实例之人脸检测
  6. Loadrunner的使用
  7. IT兄弟连 JavaWeb教程 文件下载技术
  8. linux 0.11根文件系统,构建一个最小Linux根文件系统
  9. mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
  10. 如何从数据库(实体提供者)读取安全用户(转自http://wiki.jikexueyuan.com/project/symfony-cookbook/entity-provider.html)...
  11. opencv c++讲解jzg mxy tyd_python看代码就行
  12. Flutter HotRealod详解
  13. python发送QQ邮件
  14. 基于MATLAB的三重积分与曲线积分
  15. moment 计算日期差
  16. diabetes r语言_Diabetes Walk 2007-波特兰博客匹配挑战赛和Silverlight演示
  17. HDU 5405 (树链剖分+线段树)
  18. MIMIC-IV v2.0数据库
  19. 独立游戏制作人的罗生门
  20. ECS的简单入门(六):传统GameObject模式转换到ECS模式

热门文章

  1. Grunt手表错误 - 等待...致命错误:观看ENOSPC
  2. 如何在JavaScript / jQuery中查找数组是否包含特定字符串? [重复]
  3. 如何向MySQL表添加索引?
  4. “最少惊讶”和可变默认参数
  5. linux系统运行状态检查
  6. Facebook使用机器学习手段来自动优化其系统性能
  7. java - 分页类
  8. Swift iOS : 模糊化
  9. 《Nmap渗透测试指南》—第1章1.2节Windows下安装Nmap
  10. Ecshop文章列表页显示内容摘要