“Linux真正的活不是我在干”,Linus爆料近况:近20年不做程序员、没碰过AI编程、压力全来自于“人”
“过去将近 20 年里,我其实已经不是程序员了。”
“至于我发明的 Git,我现在也只是旁观者的角色。”
“我以前常说我的工作就是拒绝(提案),但如今反而要在一些长期维护者的反对声中,对新东西说‘同意或者是’。”
“Vibe Coding 让人做到了以前做不到的事情,但从维护者视角来看,要维护它生成的代码‘可能糟糕透顶了’。”
这些话并非是玩笑话,也非自嘲,而是 Linux 之父、Git 的发明者 Linus Torvalds 在面对技术浪潮时的清醒自白。
本月早些时候,Linus Torvalds 与 Verizon 开源负责人 Dirk Hohndel 在韩国首尔举办的 Linux Foundation 开源峰会上进行了一场对谈。他谈到了自己角色的转变、谈到了 AI 如何重塑软件开发,以及在越来越多的硬件更多依赖 Nvidia 的专有 GPU 和 CUDA 而不是开源 Linux 时的想法,也谈到了 Rust 在内核团队引发的冲突,聊到了 kernel.org 被各种 AI 爬虫工具严重干扰的现实困境,还有自己日常面对的压力以及缓解方式。
在 AI 热潮几乎重写开发者命运的当下,Torvalds 坦言自己并没有在用 AI 辅助写代码,甚至没有试玩过。“不过我肯定有人已经在研究它是否适用于内核代码库。”而当被问到 AI 是否会让程序员的工作消失时,他只是淡淡一句:“AI 只是另一种工具,就像编译器让人们摆脱手写汇编一样,大幅提升生产力,但并没有让程序员消失。”
当然,如果有人不同意他的观点,也可以给他发邮件。不过他说:“我几乎可以保证我会读,但也几乎可以保证我不会回。”他笑称,“我很少回复邮件。如果你没收到我的邮件,说明我还挺满意的。我只是不怎么让人知道。对此我表示歉意。”
以下是这场对话的完整内容:
“我已经不是程序员了,很多事情都不是我在做,更多是在看着 Linux 向前走”
Dirk Hohndel:我叫 Dirk Hohndel,在 Verizon 负责开源工作。从 Linux 基金会创立开始我就一直在参与,而接触 Linux 的时间几乎和台上这位一样久——因为你是……
Linus Torvalds:对,我是 Linus。我们要搞这个访谈是因为我讨厌做公开演讲。相比之下,我完全不知道 Dirk 会问我什么,但这样反而轻松得多。过去很多年里,我们每年都会这样聊一到两次。这个形式不算新,比起传统演讲,这样的方式让通常不怎么喜欢「公众人物」身份的我感到更自在一些。
Dirk Hohndel:这确实是我们第 28 次这样对谈了,想想还挺有意思的。我们上一次来这里正好是十年前,我很高兴又回到首尔。对我来说,每次来亚洲都很有意思,这里的人看待开源、看待软件开发的方式都不一样,是完全不同的世界,而我对此非常着迷。
Linus,十年前你刚刚发布了 Linux 4.8。你要不要简单总结一下这些年最大的变化?
Linus Torvalds:过去确实做了很多工作。但我要先强调一件我常常重复说的话,因为它很重要——真正的活不是我在干。过去差不多二十年里,我其实已经不是程序员了,我更多是系统的技术负责人和维护者。
对 Linux 如此,对 Git 更是如此,现在我几乎只是旁观者。
我想提醒大家,真正的贡献都是其他人在做,也许就来自坐在台下的人。很多人因为我一直待在 Linux 项目里,就把功劳都算到我头上。其实现在我更多是在“看着”这个内核项目往前走。
Dirk Hohndel:回顾过去十年,在 Linux 的演进和发展过程中,有什么让你印象深刻的?
Linus Torvalds:让我印象最深的是——我过去常说,总有一天这个项目会“做完”。但那是很久很久以前的想法了。我做 Linux 到现在快 35 年了,我一点都不觉得会有某个节点能说“好了,到此为止”。
事实上,我逐渐意识到,对所有真正长期存在的项目来说,核心工作其实就是维护和持续支持。尤其对内核来说,我和 Greg(Greg Kroah-Hartman,Linux 内核开发者)昨天还讨论过,只要有新硬件不断出现,内核端就永远会有新的工作。但即使不算新硬件,让我有点惊讶的是:在项目已经开展 35 年之后,我们依然在修改内核核心代码,让它们更整洁、更易维护、更稳定。
今天凌晨三点,因为时差,我还和人讨论要怎么清理一些代码。
对像 Linux 这样的系统来说,真正的工作就是在不断维护、不断让一切正常运转,同时应对新的挑战——无论是来自硬件,还是来自不断变化的软件生态。
Dirk Hohndel:如果从流程上看,Linux 内核的开发模式在过去 15 年里都非常稳定。不过这对媒体来说“太无聊了”。大家往往只盯着你提高嗓门的瞬间,或者任何你拒绝某个提案的场景。在你的感受里,情况变得更好了吗?还是更糟了?还是差不多?你现在觉得必须站出来说“我们不做这个东西”的频率如何?
Linus Torvalds:有一个变化很明显:我过去常说,我的工作主要是说“不”。人们提出各种激进的新想法,也许很有意思,但一听就是维护噩梦,于是我会说:“不行。你把它放到自己的沙盒里,做出来,用数据证明我是错的,再来找我。”我觉得这是我作为系统维护者很大一部分的工作。
但过去几年里,我发现有时我的工作反而是说“可以”。因为……你也知道,在这个圈子里待了这么久,有数百名维护者也已经待了几十年了,人们有点陷入墨守成规。有时你想打破僵局说:“嘿,我们要尝试这个新东西,”而我就是那个说“好,我们做吧”的人。
以采用 Rust 为例,尽管我们搞 Rust 至今也有五年时间了,它不算完全的新事物。但当初我觉得,内核不应该停滞不前,我们需要做点新东西,也需要吸引新的人加入。
这是对我来说变化最大的地方之一:我现在反而需要去鼓励其他维护者,更开放地对待新想法。
“Rust 已成为 Linux 内核的一部分,花的时间比我预期的多”
Dirk Hohndel:Rust 正是我想要提到的例子之一。我注意到,虽然 Rust 出现已经五年了,但它真正进入内核代码也就大概三年左右,它确实引起了不少讨论与争议。
有些人表达了他们的挫败感,也有人争论代码格式问题,或者对于不熟悉的语言代码审查意见不一致。甚至还有维护者因此退出。你觉得这些都是值得的吗?引入新技术真的值得打乱我们的开发流程吗?
Linus Torvalds:我觉得是值得的。但我也认为,Rust 确实引发了很多媒体关注,可能是因为它在内核里比较显眼。当然,其他地方也有明显的 Rust 代码,但事实上,我们在内核的几乎每个领域都有分歧,因为这是新开发和发现 bug 的一部分。人们在捍卫自己观点时有时会非常激动,但在这个意义上,Rust 并没有跟其他领域有什么本质不同,只是它可能更容易上新闻而已。
我认为现在已经到了一个阶段(Greg 可能会详细说,他关注得比我多)——Rust 正真正成为内核的一部分,而不再只是实验性的东西。
当然,这比我预期的花了更久时间,毫无疑问。
Dirk Hohndel:实际上,之前更引人注意的“激烈争议事件”并不完全和 Rust 有关。内核里第一次剔除某个组件也和 Rust 无关,这其实完全是因为人际关系。
Linus Torvalds:没错,今年的情况有点动荡。我们有很多分歧,甚至把内核的部分功能移出内核以减少摩擦。
不过公平地说,这不是第一次发生这样的事。内核里以前也有一些不再使用或者问题严重的模块被移除。35 年里,这种情况其实很少发生,也不算愉快,但我觉得我们处理得还算不错。毕竟这是一个大项目,每次发布都有上千人参与,每两个月就一次。你会有个人分歧,会有职业分歧,会有摩擦。这都是生活的一部分。我想我们大体上还是一个幸福的大家庭。
Dirk Hohndel:我想我会更倾向于将其描述为一群非常成熟的人,他们已经找到了彼此共处的方式。不过我就顺着你说“幸福的大家庭”吧。通常这是我问你的第一件事,但今天放在第一部分的结尾:关于 6.18 RC4 版本,你有什么想说的吗?
Linus Torvalds:没有。那是当前的内核版本。我喜欢“无聊”。对我来说,“无聊”意味着没有超级刺激的新功能,也不会导致全世界数百万人的机器崩溃。6.18 看起来不像是有问题的版本。我们曾遇到过一连串的测试失败,但结果显示在很大程度上那实际上是测试本身的失败,而不是内核的失败。几周前我还有点担心,但现在看起来它正朝着另一个增量式的、无聊的——以一种最好的方式——发布版本发展。
英伟达、AMD 硬件的崛起,对 Linux 的影响
Dirk Hohndel:如果看看行业的重大变化,我认为最大的变化之一是在硬件方面。几十年来,一切都围绕着 CPU,每个人都在谈论 CPU。谁有最快的 CPU,最好的架构。而过去几年,随着 Nvidia 以及 AMD 等公司的崛起,加速处理器(APU)成为关注的焦点。
有趣的是,这些处理器虽然和 Linux 机器相关,但实际上在这些处理器上运行的并不是 Linux。你怎么看这种硬件关注点逐渐离开 Linux 的趋势?
Linus Torvalds:我不这么看。我仍然认为最有意思的部分是通用 CPU。它可能不那么频繁地上新闻了,因为存在已久,人们习以为常。Linux 做的,是维护系统、启动系统、处理 UI,以及你期望系统做的所有事情。而 AI 部分则是行业的新宠,这没问题。不过,它不是完全独立的,它是 Linux 帮助培育和实现的一种不同的环境,我并不觉得内核必须要成为其中极其不可或缺的一部分。
对我这个内核维护者来说,这其实和用户空间没什么本质区别。虽然我个人热爱开源,也不想参与非开源项目,但对我来说开源从来不是宗教信仰。我做开源,Linux 也是开源,但人们一直在 Linux 上跑商业应用,比如大数据库、云服务等等,这是很正常的。
对我来说,GPU 只是同一事物的另一种形式,你在内核之上运行你的 AI 工作负载。它有自己的系统来维护 GPU 硬件这一事实,通常不是 Linux 需要过度担心的。我们实际上在某种程度上也参与其中。有很多资源管理、虚拟内存处理等事情,内核是深度参与的。
这实际上是 AI 带来的好处之一,它让 Nvidia 在 Linux 内核领域成为了一个好的参与者。众所周知,20 年前并非如此。如今,当 Linux 对 AI 云如此重要时,Nvidia 突然非常关心 Linux 了,我们在那个领域也有了很多内核维护者。所以这是 AI 繁荣带来的积极面之一。
“AI 在 Linux 内核中的应用充其量是实验性,我从来没玩过 AI 辅助代码”
Dirk Hohndel:我认为每当有厂商拥抱我们所做的事情并参与进来,这都是一件非常积极的事情。这很棒。既然你说了这么多次 AI,我就不得不聊聊这个了。
去年我们谈到了 AI 或生成式 AI 可能对代码审查、代码解释的潜力。Linux 内核社区围绕这一点已经做了不少工作。现在进展如何?
Linus Torvalds: 嗯,目前还没到位。确实有人在做很多工作,其中有人在尝试用 AI 帮助维护者处理补丁流、将补丁回溯到稳定版本等,坦白说,大部分还是实验性质的。我们遇到的最大问题是,AI 对基础设施有很大干扰。比如 AI 爬虫到处抓取 kernel.org 源码,这造成了巨大麻烦,并不总是愉快。
不过也有一些好的方面。我很期待有一天 AI 不再被过度炒作,而是变得更像日常现实,没人会一直挂在嘴边。显然离那一天还有几年。我认为令人兴奋的新技术总是人们想谈论的话题。当然,随着数万亿美元的投入,人们愈发充满了好奇。
Dirk Hohndel:有件事让我印象深刻:在阿姆斯特丹开源峰会上,Libcurl 的 Daniel Stenberg 提到 AI 生成的低质量安全报告几乎成了对他项目的“拒绝服务攻击”。你在内核那边有遇到类似情况吗?
Linus Torvalds:内核这边也有,不过没有那么严重。但我们确实看到有些 bug 报告和安全通告,明显是有人滥用 AI 编造出来的。这会占用维护者资源。在某些项目里,这问题比在内核更严重。
Dirk Hohndel:大家当然最想聊的另一个话题就是 AI 生成代码。我常把它比作“强化版自动纠错”,因为 AI 在代码补全、语法检查、标准库使用上确实很棒。另一方面,现在大家谈得多的 Agentic AI——基本上就是你对 AI 说:“嘿,Claude,我想让你开发这个功能”,甚至有人说,“有了 AI 的帮助,我一周内就做出了一个完整产品。”你自己有在玩这些东西吗?
Linus Torvalds:我完全没玩过。但我敢肯定有人在研究它,甚至想应用在内核代码库上。不过,我觉得内核够复杂、够特别,虽然我们开源了很多代码让 AI 学习,但它很难直接用在内核上。我估计很少有人会用 Vibe Coding 方式写内核,更多是用在自己的小项目上。
其实我觉得这大部分都是好事。我小时候接触电脑的方式很简单,靠着杂志上的程序一点点敲出来的。那时候我就是这样爱上了电脑。
现在电脑太复杂,编程要求也高得多,比我当年入门难多了。要是真用 Vibe Coding 来做正式产品,从维护角度看可能是个糟糕透顶的主意。但它确实是让新人参与、感受编程乐趣、让电脑做一些以前做不到的事情的好方法。所以我总体上还是持积极态度的。
Dirk Hohndel:我的意思是,这种快感显然是存在的,进入一种新的编程语言、新的环境、新的库集,让工具完成 90% 的工作,这很令人兴奋。但我在这个上面花了很多时间,工具能帮你完成 90%,而且做得非常棒。但这剩下的 10%……
Linus Torvalds:那剩下的 10% 就是在我在 35 年的项目生涯中占据了 34 年的东西。
Dirk Hohndel:正是如此。所以这里有很多创造伟大东西的机会,但也非常需要让这些东西真正落地。但我们确实看到很多关于软件开发人员裁员的讨论,美国出现了真正的失业潮,成千上万的人被解雇。理由通常是“噢,AI 让我们效率更高了”。如果你想想今天还在学计算机科学的学生,你认为作为一种职业,软件开发会受到重大影响吗?
Linus Torvalds:老实说,我不知道。这是那种我会说“嘿,让我们等几年看看真正的答案是什么”的问题之一,因为我觉得这是一个复杂的问题。
我个人的猜测是,你会发现你需要同样多的维护者来维持项目的实际运行。AI 只是另一种工具,就像编译器让人们从手写汇编代码中解放出来并极大地提高了生产力,但并没有让程序员消失一样。
我认为 AI 最终也会如此。它是另一种工具,让你可以不必处理所有的细枝末节,但它不会让真正的程序员消失。这是我的直觉。如果有的话,它可能会让人们更高效,但也开启了全新的开发领域,因此你实际上最终会需要更多的软件程序员。
Dirk Hohndel:这正是我所想的。如果你获得了这些生产力的提升,你可以做几件事。你可以说,“我用更少的人做同样的事”,或者“我用现有的人做更多的事”。对我来说,生成式 AI 最大的机会之一在于,我们可以做一些在过去因为初始门槛太高而无法做出演示原型的事情。所以从我的角度来看,今天的计算机科学新人,能用现代工具表达想法、做 Demo 或原型,与 20、30 年前写一个冒泡排序一样重要。
这很有意思,因为它确实改变了软件工程师的工作内容以及你与系统交互的方式。我觉得你将其与汇编语言和机器码进行比较非常贴切。或者是从 C(现在仍有人在用)到面向对象语言的转变也是类似的。
自制吉他踏板,是为了缓解压力
Dirk Hohndel: 我们聊了这么多软件,咱们来聊聊硬件。有些人真的有很奇怪的爱好。比如有些人会为弦乐器自制踏板。你能谈谈你玩吉他效果器的经历吗?
Linus Torvalds:这个非常奇怪的爱好诞生背景是:去年圣诞节,我开始为了好玩做吉他踏板。这毫无道理,因为我没有任何音乐天赋,这辈子都没摸过电吉他,但我想学习电子学。所以我开始做吉他踏板,先是做套件,然后自己设计。它们都做得烂极了。我其实不想鼓励别人这么做,因为这毫无意义。毕竟现在所有现代吉他踏板都是数字化的。
但我之所以做,是因为我认为——这也是我鼓励大家的——当你有一份压力很大、风险很高的工作,你觉得需要做点别的事情来放松时,你应该找一个爱好,在这个爱好里,失败不仅是预料之中的,而且其实很有趣。
不一定是吉他踏板,可以是任何东西,什么都行。对我来说,碰巧感兴趣的点是焊接和制作硬件,我知道我在这方面完全无法胜任,但我真的很享受。有些人认为失败是件坏事,而我恰好是那种喜欢做我不擅长的事情的人,因为那是你学习的方式。你必须接受会失败。我玩了一年了,还没完全学会(笑)。
Dirk Hohndel:我不同意,我有几个你做的踏板,它们越来越好了。
Linus Torvalds:这是我会鼓励这个行业里的任何人去做的事情,因为这行有时候确实挺有压力的。特别是……如果你做开源,至少对我来说,压力最大的部分往往是人。我不觉得技术有什么压力。但有时当你有分歧,你真的想说“我想休息一下,我需要做点完全不同的事情”时,那就是你需要一个爱好或者什么东西的时候,你可以说:“嘿,这跟我的工作没有任何关系,而且搞砸了也没关系。”对我来说,那就是电子学。
Dirk Hohndel:我觉得有趣的是,你做的电子硬件很简单,而负责的 Linux 开源项目却是世界上最复杂的东西。这种强烈对比很吸引我。
Linus Torvalds:是啊,我的电子爱好其实越来越“倒退”。我开始做一些稍微花哨的集成电路,然后我开始倒退,到现在我正在玩弄并真正理解单个晶体管是如何工作的。我的本职工作是处理数千亿个晶体管,而我的个人爱好是处理三个晶体管。所以这就是我在硬件方面的两个极端。
Linus 的日常:看邮件,但很少回复邮件
Dirk Hohndel:你早些时候说你不再写软件了,你是个管理者。我们现在知道你平时会玩一些相对简单的硬件。那么,你更多的日常究竟在做什么?
Linus Torvalds:现实情况是,我每天坐在电脑前看邮件。我几乎不回邮件。如果你给我发邮件,我几乎可以保证我会看,但也几乎保证不会回。我回邮件的情况非常少。
实际上……我有点想道歉。不仅是对所有给我发邮件的人,也是对那些只看到我抱怨的一面的开发者。大家以为我是一个愤怒、刻薄的老头,因为我回复的那类邮件往往是关于发生的各类问题。而当一切顺利时——这其实是绝大多数情况——我不会发邮件说“谢谢,这做得真好”。所以如果你没收到我的邮件,说明我还挺满意的。我只是不怎么让人知道。对此我表示歉意。
Dirk Hohndel: 我觉得这是个很好的结束点,这一信息表明:Linus 其实是个非常友善的人,只是把好意藏在了心里。
Linus Torvalds: 在心里我是很快乐的。只是我的外在表现并不总是那样,对此我深表歉意。
来源:https://www.youtube.com/watch?v=tWx769t1JKg
本文来自微信公众号“CSDN”,整理:苏宓,36氪经授权发布。