文章最后更新时间2026年06月16日,若文章内容或图片失效,请留言反馈!
这是一次由 Linus Torvalds 和 Dirk Hohndel 在一次大会上的炉边谈话(Fireside Chat)内容。原视频访谈:https://www.youtube.com/watch?v=fi29pfLcW4I&t=2sDirk Hohndel: 大家早上好。我是 Dirk Hohndel,做 Linux 和开源这些事已经很多年了,每次能和这个人聊天我都很珍惜。Linus Torvalds: 是的,我是 Linus。我已经很久不做正式的公开演讲了,这也是为什么我们一直保持这种问答式炉边谈话形式的原因。这实际上是我们的第 30 次对话,算是庆祝一个小纪念日。明尼苏达的天气很好,周日晚上的雷暴非常壮观,我运气不错,刚好在它开始之前赶回了酒店。另外,大家都说明尼苏达人特别友善。昨天早上我在离这里两个街区的地方过马路,绿灯、斑马线,结果差点被一辆 SUV 撞死。真是太爱这个地方了。1,3D 打印、OpenSCAD,以及那个吉他踏板Dirk Hohndel: 我知道你是 3D 打印的忠实爱好者,巧的是我们两个用的是同款打印机。在这个技术领域,几乎所有东西都是开源的,整个软件栈都是。3D 建模是 3D 打印里很重要的一部分,我从你那里了解到,我们两个都不喜欢可视化工具,更喜欢直接写代码的方式。关于 OpenSCAD,你只是作为用户在用,还是也参与过项目本身?Linus Torvalds: 我只是个用户。很多人会用那种有图形界面的可视化工具,能直观看到自己在做什么。但有编程背景的人,比如我,更喜欢用文字描述事物,把 3D 打印当成编程来做。这些软件都是开源的,对我来说同时也是一种消遣,能做出实物,这和我平时的工作完全不同。写代码时,我喜欢那种贴近硬件、在不同层面上工作的感觉。所以我会用这些开源工具,但从来没想过要去参与那些项目的开发,因为跟我熟悉的代码世界太不一样了。每次我觉得某个东西不好用、想去改它,打开代码一看,发现根本不知道从哪里下手。但这其实是很好的学习体验,不断提醒你世界上还有无数你不了解的领域,而那些领域里依然有很多有趣的事情在发生。Dirk Hohndel: 另一个有意思的变化是,以前大家总觉得开源软件功能强但体验粗糙,闭源软件才精致好用。现在情况不同了,就拿 3D 建模软件来说,一些开源产品已经非常出色了。Linus Torvalds: 我认为我们早就过了那个"开源只属于工程师"的阶段。看看现在游戏领域有多少人在讨论 Linux 就知道了。当然,我不会说今年是"Linux 桌面元年"——这个梗我从 1998 年就开始跟媒体讲了,算是个内部笑话。但在商业和各类严肃应用场景中,开源早已获得广泛认可。我的观点一直没变:软件非常复杂,管理复杂基础设施最有效的方式就是开源,让任何人都有参与的机会。大多数人当然不会真的去参与开发,就像我用 3D 打印软件也不会去贡献代码一样。但开源的价值在于,只要你想参与,机会就在那里,不管你来自哪家公司、哪个国家。Dirk Hohndel: 我一直开玩笑说,Linus 不止做了两个项目——大家常说的 Linux 和 Git——他其实做了三个:Linux、Git,还有 Subsurface,一个潜水日志程序,现在由我在维护。但事实证明,就在几周前,Linus 做了第四个项目。他的 GitHub 上有一个吉他踏板(Guitar Pedal)项目,你可以自己动手做一个 Linus Torvalds 设计的吉他效果踏板。Linus Torvalds: 在你开始玩之前,你得先把它造出来。所有的制造文件也都是开源的。你可以把设计文件发给喜欢的 PCB 制造商,也可以尝试手动贴片,不过我不建议这么做,非常繁琐。我一开始也是手动做的,后来决定对于稍微复杂一点的项目,还是交给专业人士来放置元器件。如果你喜欢吉他踏板或者音乐,想自己做一个,硬件和软件设计文件都有,地址是 github.com/torvalds/guitarpedal。Dirk Hohndel: 我是预览版的测试者之一,效果真的不错。Linus Torvalds: 我也将改变音乐世界,我对此非常确定。2、提交量涨了 20%,不是因为 7.0,是因为 AIDirk Hohndel: 上周日你发布了 Linux 内核 7.1-rc4,照惯例问一句:现在进展如何?Linus Torvalds: 我常说我们 20 年来一直在做同样的事情。我个人做了 35 年,但自从切换到 Git 并建立起现代发布流程之后,这套流程就非常稳定了。过去我总说一切顺利、进展平稳。但大约半年前,情况发生了变化。最近两个版本的提交量比过去多年的平均水平增加了约 20%。起初我以为是大家对 7.0 版本感到兴奋——我会定期更改主版本号,6.0 的时候就有很多公司想赶在 .0 版本发布前把东西合进来。但事实证明我错了。真正的变化在于 AI 工具现在已经足够好用,我们在几乎所有方面都看到了开发活跃度的明显提升。Dirk Hohndel: 六个月前我们在东京谈过这个话题,说这些工具降低了编写 Linux 内核补丁的入门门槛。影响确实发生了,而且不全是正面的。在 rc4 的发布公告里,你宣布了新的安全披露指南,其中专门针对 AI 做出了规定。现场有多少人用 AI 辅助编程?几乎所有人都在用。Linus Torvalds:对于 AI,我有一种爱恨交织的复杂情感。从技术角度来看,我非常喜欢这些工具,觉得它们有用也有趣。但它确实带来了一些痛点。 在 Linux 项目乃至大多数项目中,最大的痛点不在于代码本身,而在于当它迫使你改变工作方式的时候。人们习惯了原有的节奏,知道自己喜欢怎么工作。大约在 2000 年,我不得不改变自己的工作方式,因为随着 Linux 的成长,我个人已经跟不上项目规模了。那是内核开发史上最痛苦的经历之一,距今整整 25 年了。我认为我们现在在 AI 身上也看到了类似的情况,它迫使人们走出舒适区。我们最近遇到的一个痛点是安全邮件列表。用 AI 发现 bug 之后,很多人的第一反应是"这可能是个安全问题,发到安全列表去"。我说了几十年,安全 bug 就是 bug。但反过来说,bug 往往也意味着安全隐患,你甚至可能还没意识到。结果内核的安全列表被成百上千人用同款 AI 工具生成的重复报告淹没了,往往指向同一个根本原因。那个列表本来参与人数就少,因为本该是高度保密的,我们把所有时间都花在了把这些报告转发给更熟悉相关领域的开发者上。所以我们调整了政策:基本上,如果你是用 AI 发现的 bug,就直接把它当作公开信息处理。因为你能用 AI 发现它,其他一百个人也能。 当然,对于真正的安全问题,你可能不想把漏洞利用方法公之于众。告诉大家问题所在就够了,没必要顺带教大家怎么在周五下午把某家公司搞垮。Dirk Hohndel: 这种趋势已经存在很久了,我不确定 Heartbleed 是不是第一个,但有些公司就喜欢给 bug 命名、做 logo、注册域名,想以此出名,然后在通知维护者之前就公开披露。最近 Linux 内核有四个本地提权漏洞,其中两个就是这样被披露的。我的态度一直是:我永远不想和这样的公司合作,因为你对 Linux 这么干,你就会对所有人这么干。但这四个 bug 带出了你刚才提到的挑战:内核开发者了解漏洞和全世界了解漏洞之间,时间差是零。你根本没有机会去修复它,没有机会准备补丁,没有机会帮助那些运行代码的人。你说希望所有 AI 发现的 bug 都公开,我理解这个逻辑,但你能解释一下,这样做如何避免维护者总是处于被动吗?Linus Torvalds: 很遗憾,我认为没有办法绕开这个问题。内核有大约 3500 万行代码,bug 几乎是每天都会出现的,这并不奇怪。过去我们修复 bug 时,可能不会说清楚它的安全影响,只告诉大家"修了一个 bug,请升级",大多数时候没人会去深究。但在 AI 时代,自动化分析变得极其简单。上周我们修了一个 bug,三小时内就有博客文章出来分析这个修复背后意味着什么。安全研究人员喜欢关注度,这是他们的成名之道,所以人们会竞相跑 AI 工具,发布大张旗鼓的公告。这就是现实,没什么办法。但这不意味着我们不该做开源。如果你认为 AI 无法对闭源软件做逆向工程,那你就等着吃苦头吧。闭源软件的情况甚至更糟,因为 AI 没有办法帮你修复问题,但 AI 绝对可以帮人找到那些漏洞。Dirk Hohndel: 你刚才提到了一点非常重要。最近几周有一些大张旗鼓的漏洞披露,一些公司愿意花大量资源去指出某个 bug,但奇怪的是,尽管涉及的都是开源代码,这些披露往往没有附带补丁。现场有记者吗?为发现 bug 获得媒体关注,难道不觉得去修复它能得到更多关注吗?Linus Torvalds: 说句公道话,有时候发现 bug 确实比修复 bug 容易,这我理解。但这整件事听起来可能有些消极,实际上我认为总体来看这是好事。AI 在源代码里找到 bug,短期内确实会带来阵痛,但从长远来看,bug 被发现、被修复,软件最终会变得更好。问题不在于 AI 本身不好,而在于任何新工具出现时都会带来一些社会层面的阵痛。我们积累了 35 年的代码,AI 找出了一些过去没发现的问题,我们需要时间去消化处理。真正的麻烦是那些还没被发现的 bug,所以找出的越多越好。Dirk Hohndel: 我们刚才在台后聊到了 AI 对维护者的影响。维护者本来就面临倦怠的问题,现在这波 AI 生成的 bug 报告洪流更是雪上加霜。在代码审查、理解补丁这些工作上,有没有什么 AI 工具能帮到维护者?Linus Torvalds: 我们确实有大量工具,也包括 AI。不过我想先说一点:Linux 内核目前运行得很好。每次版本发布都有超过一千人参与,我们有一批可靠的维护者,他们大多也能通过这份工作获得不错的报酬。但想想 GitHub 上那些数以亿计的仓库,还有成千上万个各种各样的项目。有些项目可能只是某个人维护了十几年的心血,整个团队就一到三个人。当这些维护者遭遇 AI 生成的报告洪流,当你追问更多信息时对方直接消失不回复,真正的倦怠风险就在这里。至于我自己,我主要是在和人打交道。作为顶层维护者,我其实已经不怎么写代码了,写代码对我来说是消遣,比如吉他踏板或者 Subsurface。我的工作是管理人,而不是管理代码。我也不会用 AI 来处理人与人之间的事,也不建议大家这么做。当然,我们也有不少好用的自动化工具,比如 Google 搭建的那个补丁审查工具——我记不住名字了,Shashiko?——它会扫描邮件列表里的补丁,有时反馈不太好,但也经常能发现问题。另外,这些天很多核心开发者也在本地跑 AI。我建议大家都去了解一下,不要完全依赖大公司,他们在某个时间节点也是要考虑盈利的。Dirk Hohndel: 你说"成千上万的项目",这暴露了你的年龄。本周 GitHub 宣布他们现在有 4.8 亿个仓库,其中有 60 万个项目被认为对企业用户至关重要。这个规模大到很难想象。说到社会问题和人的协作,对于正处于职业生涯初期的人,现在很多人唱衰说代码都会被 AI 写完。另一方面,周一 Jim 在主题演讲里持完全相反的观点,认为科技行业正在创造更多就业机会。对于刚入行的人,你有什么建议,他们应该把精力放在哪里?Linus Torvalds: 我的观点一直是,AI 是一个很好的工具,但它只是工具。当我听到有人炫耀"我们 99% 的代码都是 AI 写的",我会很生气。因为这些人,我保证,他们从来不会说自己"100% 的代码其实都是编译器写的"。但这是一回事。我成长于编写机器代码的年代。我说的机器代码不是汇编语言,是实际的数字。那会在你脑子里留下印记,我到现在还记得 6502 处理器上的 LDA 操作码是十六进制的 A9。后来我意识到,亲手写数字并计算分支偏移量挺蠢的,于是人们发明了汇编器。再后来我发现编译器也很好。现在我发现 AI 工具也不错。我还是在写代码,只是不再像以前那样在 DATA 语句里输数字了。我百分之百确信,AI 正在改变编程,但没有改变编程的本质。AI 会把你的生产力提高 10 倍,而编译器把生产力提高了 1000 倍。所以 AI 很棒,但它没有颠覆编程这件事。Dirk Hohndel: 有一点始终没变:优秀的开发者还是能写出优秀的代码,其他人写的代码还是会出问题。在 AI 时代也一样。真正理解系统和复杂性的人,知道如何引导 AI 写出好代码;对系统缺乏理解的人,往往只会让 AI 生成更多错误。Linus Torvalds: 你必须理解系统最终是如何运行的。现在没人直接写机器代码了,但我依然会去看工具生成的代码,包括汇编层面的结果。即便用编译器,甚至让 AI 帮我生成一些玩具项目的代码,我还是会去看最终的汇编,因为那是我的舒适区。我现在还在折腾微控制器,在那种场景下你真的需要检查生成的代码,确保它按照你想要的方式运行。那种一次性的、写完就扔的小项目,AI 表现非常出色,我们叫它 vibe coding。但如果你要构建的是一个需要维护 35 年的严肃项目,光靠写提示词让别人或者 AI 帮你生成代码是远远不够的。Dirk Hohndel: 遗憾的是,我们时间到了,我还有很多问题没问完,看来得留到明年在 Vancouver 再继续了。希望大家都能来,谢谢! 推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
宙飒zhousa.om
发表评论