编译 | 核子可乐、Tina

Linux 之父非常担忧没人继续维护内核:“真的很难找到维护者!”

在本周召开的线上开源峰会与嵌入式 Linux 大会上,Linux 缔造者 Linus Torvalds 谈到了为开源操作系统寻找未来维护者时的种种挑战。Torvalds 近年来已经不再发表主题演讲,但这一次他与 VMware 公司首席开源官 Dirk Hohndel 展开了远程对话。

这次讨论很快就涉及到了一个令人不安的问题:在目前这一代维护者逐渐老去之后,Linux 项目将走向何处?面对 Torvalds 等这批五零后、六零后项目管理者,Hohndel 提到:“我们这个社区终归要考虑代际变更的问题。到那时,我们该怎么办?”

VMware 公司的 Dirk Hohndel(图左)

在本届线上开源峰会中与 Linus Torvalds 进行了对话。

Torvalds 的回应是,Linux 内核社区的参与者们年纪不算太大。他表示,“很多新人都在 50 岁以下,他们才是目前开发工作的主力。当然,跟那些 30 岁上下的人们相比,我们确实是越来越老了。好在我们这些长期参与项目的早期成员还能做做维护与管理工作。”

维护者在社区内建立信任需要花费不少时间,Torvalds 指出,“这种信任不仅来自其他维护者,同时也来自所有代码贡献者……这肯定需要时间。”Torvalds 强调,“事实证明,维护者真的不好找。只要开始接管内核维护工作,就得一直坚持下去。每天都不能放松。我们得阅读电子邮件、做出回复,总之得一直待在那儿。而且维护工作属于那种要求不低但却需求面不大的小众岗位。”

“我们的维护者确实不够。能编写代码的人很多,能处理一部分维护工作的也不少,但很难找到那种可以吸纳他人代码贡献并立足上游将一切整合起来的人才。这也是我们目前面临的一大主要问题。”

另外,Linux 内核大部分是由 C 语言编写的。为此,Hohndel 问道:“C 语言是否会被 GO 及 Rust 语言取代,我们这些用 C 的人有没有可能在二十年后变得像现在的 COBOL 程序员一样?”Torvalds 的回应是,“C 语言目前仍是全球十大人气语言之一。但对语言的具体选择并不会对内核造成太大的影响。与驱动程序相似,内核团队正在研究多种语言接口,相信不久之后就能实现。总而言之,我们必将使用不同的模型编写 Linux 代码,而 C 绝对不会是其中唯一的模型选项。”

顶尖 Linux 开发者们已至暮年

上一代顶级程序员们确实在逐渐老去,Linus Torvalds 本人今年也超过了 50 岁。

Linux 社区需要新鲜血液,这也是事实。根据 Linux 基金会营销与开发人员计划副总裁 Amanda McPherson 所言,“目前 Linux 项目的参与者数量已经达到历史最高点。而且自 2005 年以来,已经有超过 8000 人为 Linux 内核做出贡献。”但从参与者数字来看,老一辈 Linux 程序员仍然是项目的主力。

软件开发分析公司 Bitergia 创始者之一 Jesús M González-Barahona 就发现,在以“参与项目的时间”作为“年龄”指标对 Linux 内核开发者进行统计时,可以看到新生代程序员的占比一直在逐年下降。目前占比最高的参与者们,一般是十多年前就加入了 Linux 社区,之后几代的比例则呈现出下降趋势。

Linux 社区当然早就意识到了这个问题。

2010 年,资深 Linux 开发者兼 Linux Driver 项目负责人 Greg Kroah-Harman 就在 Linux 基金会协作峰会的内核小组讨论上指出,“项目高层的更迭一直没能成功完成。”

Parallels 公司服务器虚拟化 CTO James Bottomley 也表示,“老一辈贡献者仍是项目主力。Linux 内核开发工作一直无法接棒,几年之后不知道还能剩下多少早期成员。”

谷歌软件工程师兼高级 Linux 内核开发者 Andrew Morton 则总结道,“没错,我们正在变老,精力也越来越差。从现在来看,年轻一代也不像当初的贡献者们那样对内核开发充满热情。”

从多年前开始,Linux 基金会就一直试图解决问题。作为思路之一,Linux 基金会正努力吸引更多业余程序员加入进来。McPherson 补充道,“虽然 Linux 项目的参与者数量创下历史新高,但我们一直在努力吸引更多新的人才。而且大家基本达成了共识,人才匮乏已经成为 Linux 实现进一步增长的最大障碍。我们希望通过 LinuxCon 在新生代程序员中建立影响力,但目前看来这张网撒得太大,导致很多人搞不清 LinuxCon 到底是以开发者为中心、还是以系统管理员 / 架构师为中心。”

“怼天怼地怼空气”的 Linus

尽管 Linus Torvalds 有着无可置疑的天赋,但他对待社区参与者的方式使他成为一个极具争议性的人物。

对他行为的相关抱怨可以追溯到多年前。2013 年,Intel 公司的内核开发人员 Sarah Sharp 称 Torvalds 的行为是不专业的,称 Torvalds“主张进行人身恐吓和暴力行为。”Torvalds 随后指责 Sharp 把自己描述成受害者博取同情,不接受任何劝他应该改变的建议。

在 2015 年发表演讲说到英伟达时,Torvalds 还曾转向一台摄像机说“so Nvidia fuck you”并竖起了中指。

2015 年底,Sarah Sharp 宣布退出(Closing a door)内核社区。Sarah Sharp 当时说道,过去一年多时间她已经逐步终止了手中的各项社区工作,转交了 USB 3.0 主控制器驱动的维护工作,不再担任开源会议的内核协调员。她不再递交任何补丁和 bug 报告,不再向内核邮件列表写任何的建议。她声称,Linux 内核社区的互动是一种“潜在有毒的背景辐射”,充满了性别歧视、语言暴力和不尊重人。

Torvalds 最终也意识到他的言行会伤害到社区发展。2018 年,他决定休假并反思自己的行为,在 4.19-rc4 版本发布公告中他写道:“我将抽出时间休息并寻求一些帮助,了解如何理解他人的情绪并做出适当的反应... 我不是一个能对他人的感受感同身受的人,很多人对此也并不惊讶。多年来,我误解了很多人,而我自己并没有意识到我对某些情况的判断有多么糟糕,这样造成了一种不专业的环境,这样不太好。”

写在最后

去年 8 月 7 日,首个专注于报道 Linux 内核及其发行版的杂志 Linux Journal 宣布停刊。杂志主编在官网公告上表示,因资金断裂,永久关停,并解雇了所有员工。很多人选择 Linux,是因为 Linux 开源免费。免费使用,但是又不愿意花钱或参与贡献。当时有人评论说:“今天死的是一个 Linux 杂志,明天就可能就是 Linux Mint 或者 LibreOffice。”

如今,Linux 作为最流行的操作系统,在超过 20 亿的设备上运行,已经成为人类技术发展中的不可或缺的一部分。我们难以想象无人维护的后果会是什么样。

参考阅读:

https://www.zdnet.com/article/graying-linux-developers-look-for-new-blood/

https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/

往期推荐

为什么阿里巴巴禁止使用Apache Beanutils进行属性的copy?

低级程序员才喜欢写注释!

请不要再使用判断进行参数校验了

直面Java第329期:哪个命令可以监控虚拟机各种运行状态信息?

深入并发第013期:拓展synchronized——锁优化

如果你喜欢本文,

请长按二维码,关注 Hollis.

转发至朋友圈,是对我最大的支持。

点个 在看 

喜欢是一种感觉

在看是一种支持

↘↘↘

Linus:我们都老了,但Linux维护后继无人相关推荐

  1. Linux之父:我们都老了,但Linux维护后继无人

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  2. 【IT资讯】Linus Torvalds:我们都老了,但Linux维护真的很难找

    Linux 之父Linus Torvalds非常担忧没人继续维护内核:"真的很难找到维护者!" 在本周召开的Linux开源峰会与嵌入式大会上, VMware的首席开放源代码官Dir ...

  3. Linus Torvalds:我们都老了,但Linux维护者真的很难找

    Linux 之父Linus Torvalds非常担忧没人继续维护内核「真的很难找到维护者!」 在本周召开的Linux开源峰会与嵌入式大会上,  VMware的首席开放源代码官Dirk Hohndel和 ...

  4. linux 删除20日前数据,Linux 维护常用命令

    Linux 维护常用命令 1.查看某文件的一部分 如果你只想看文件的前 5 行,可以使用 head 命令, 如:head -5 /etc/passwd 如果你想查看文件的后 10 行,可以使用 tai ...

  5. 狠起来连自己都不放过?Linux 之父“吐槽”自家的NTFS驱动程序

    Paragon 作为硬盘管理.存储管理和数据保护提供解决方案的公司,也承担着为 Linux 内核提供 NTFS 驱动程序的任务,最近却被 Linux 内核社区疯狂"吐槽". 原因是 ...

  6. SUSE Linux 维护笔记一

    SUSE Linux 维护笔记 一       (部分地址失效:要脚本的请留言) 1. Linux时间更新设置 时区设定: #主要文件 /etc/sysconfig/clock #用北京时间的正确内容 ...

  7. linux如何控制ftp不能get,ftp get/push连接到linux时,都是使用的linux命令

    1.push上传 ftp> pwd 257 "/root" is current directory. 连接到linux时,都是使用的linux命令 ftp> cd / ...

  8. Linus Torvalds 在 22 号宣布Linux 5.18发布

    Linus Torvalds 在 22 号宣布Linux 5.18发布 https://lkml.org/lkml/2022/5/22/274 Linux 5.18 作为 GNU/Linux 发行版的 ...

  9. 查违章老显示服务器维护中咋回事,违章查询怎么老显示系统正在维护呢,为什么违章查询总是显示维护状态?...

    请问:违章查询怎么老显示系统正在维护呢,为什么违章查询总是显示维护状态? 问提问者:网友 | 时间:2020-01-15 11:19:20 最佳回答 回答者:网友 | 时间:2020-01-15 11 ...

最新文章

  1. javascript中实例方法与类方法的区别
  2. oracle 查询字段除了as,Oracle中怎样查询数据表的哪个字段是主键
  3. 服务器画热图显示无效的变量,使用pheatmap包绘制热图
  4. 一个java文件中多个类
  5. 微软发布Win 10 开始按钮真正回归明年底上市
  6. Saltstack-6:模块
  7. Python数据结构学习笔记——栈
  8. 打印一个整数二进制表示中所有的奇数位和偶数位
  9. HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题
  10. [记录]---mysql数据库,decimal类型设置默认值0,不要是null
  11. php模拟远程提交get 、post 实例函数
  12. 《成为顶级JAVA架构师的必备书籍》
  13. ffmpeg h265编码_基于ffmpeg库mp4编码记录。
  14. linux 一运行build卡,linux_system_build
  15. 为何腾讯一直在推广“低配版”的QQ
  16. 传输层常见的协议及端口
  17. 我的世界空岛服务器修改地形,我的世界空岛制作教程 特别地形制作
  18. 快来直播:坦然面对东方甄选与股价跌宕起伏
  19. 程序员高手和程序员菜鸟的区别是什么?
  20. pythonapp爬虫库_GitHub - LJF2402901363/JobSearchApp: 基于Python的flask网络爬虫web项目

热门文章

  1. android布局优化 工具,详解Android布局优化
  2. java 缓冲区溢出_基于数组越界的缓冲区溢出
  3. java UTD对点发送信息_Java微信公众平台开发(九)--关键字回复以及客服接口实现(该公众号暂时无法提供服务解决方案)...
  4. c语言图案问题,C语言绘图问题
  5. 九度OJ 题目1011:最大连续子序列
  6. 栈溢出笔记1.6 地址问题(1)
  7. atexit()函数(进程退出函数,类似析构)
  8. 【glibc源码分析】--strcpy.c 字符串复制
  9. 百度阿里网易大疆等大小厂前端校招面筋 | 掘金技术征文
  10. Android studio安装及常见问题