没有 Linus，Linux 的未来是什么样子？
==============================================================================
![](http://i2.wp.com/www.linuxveda.com/wp-content/uploads/2015/06/linus-torvalds-painting.jpg)

这次采访是《Linux For You》杂志在2007年进行的，现在我们发表在这里是为了存档的目的。

**Q：对于 Linux 内核，未来的计划/道路/提升是怎样的？**

Linus：我从来没有太多的预见性 — 与其从宏大的计划上看未来，我倾向于从一个相对短的时间框架，比如“几个月之后的事情”。我是一个忠实的‘细节成败论’的信仰者，如果你抓住了细节，再大的问题也会大事化小，小事化无。

所以，对于五年后内核会是什么样，我真的没有任何远见 — 仅仅是希望我们能够持续专注于Linux的发展。实际上，对于我个人来说，我最担心的事情之一甚至不是技术问题，而是确保这个‘过程’正常，这样人们才可以相互协作好。

**Q：你怎么看 Linux 和 Solaris 之间的关系在未来的发展？它会如何使用户受益？**

Linus：我并没有看到太多交叉的地方，除了我认为 Solaris 会使用更多的 Linux 用户空间工具（对我自己来说并没有太多关注这个，因为我真的只关心内核）。Linux 桌面比起传统 Solaris 桌面好多了，而且我希望 Solaris 移植越来越多的 Linux 的东西，朝着一个更加类 Linux 的模式前进。（LCTT 译注：时至今日，我们还需要讨论 Solaris 吗？/cry ，但是当时，整个开源社区确实期望接受 Solaris 一些遗产。）

从纯内核方面讲，许可证的存在意味着没有太多的合作空间，但是如果这种情况发生改变将会变得很有趣。Sun 已经声称将在 GPL（v2 或 v3）下授权 Solaris，如果这种许可证的差异消失，那么会导致一些有趣的技术出现。但对此，我持观望态度。

**Q：现在 GPL v3 已经完成并发布了，你是否预见有什么情况会鼓励你开始移植内核到 Solaris 上去？或者，从你的角度看，它是否很糟糕以至于你从来没考虑过它？**

Linus：我觉得相比于早先的草稿，v3 有了很多提高，并且我也不认为它是一个糟糕的许可证。我只是认为它没有 GPLv2 一样‘伟大’。

所以，如果没有 GPLv2，我觉得自己将会使用 GPLv3。不过，既然我已经有了一个更好的选择，我为什么还要考虑它呢？

这就是说，我始终秉承实用主义精神，并且我认为“ GPLv3 不像 GPLv2 一样好”这件事并不是一个‘非黑即白’的问题。这就像是一个天平，如果 GPLv3 有了其他的优点作为砝码，很有可能那些优点会让我对 GPLv3 更偏爱一些。

恕我直言，我到现在还并没有看到任何优点，但是如果 Solaris 真的在 GPLv3 下发布，可能避免不必要的许可证不兼容性这一条就分量足够了，足以值得我们去尝试将 Linux 的内核重新在 GPLv3 许可证下发布。不过，请不要误解，我认为这是不大可能的。但是我确实想澄清我本质上并不是一个许可证偏执者。我认为 GPLv2 是毫无疑问的好许可证，但是许可证并不是一切。（LCTT 译注：事实上，Solaris/OpenSolaris 最终也没采用 GPL 许可协议发布，而 20100年之后，已经没有什么动静了。而 Linux 内核最终也没有更换到 GPLv3 上。）

总的来说，我使用很多其他许可证下的程序。我可能没有把任何一个我自己做的项目放在 BSD（或 X11—MIT）许可证下，但是我认为它是一个伟大的许可证，对于其他项目来说，它可能是最佳的选择。

**Q：目前有没有任何你想特别提出作为 Linux 内核的关键贡献者的印度人？**

（LCTT 译注：本篇访谈中提到多次印度，是因为访谈者是印度人。）

Linus：我不得不承认，我并没有与来自印度的任何人直接合作过，尽管我已经非常有意识地努力建立一个规模庞大的内核开发团队，这样我不用总是独自工作。

我相信大多数人的社交基本上是受限制的，只对很少的人十分了解（比如你最亲近的家人和朋友），我也努力构造这样一个开发模型来改变这种状况：通过一个‘开发者网络’，人们可以在此互动，可能是与一批你信任的人，而且那些人反过来与他们信任的一群人互动。

所以，我偶然会与上百个发给我一两个不确定的补丁的开发者联系。我试着去建立一些由我熟知的人组成的小团体，我认为那就是人们工作的方式，当然也是我喜欢工作的方式。

同时，坦白地说，我甚至不知道许多与我一起工作的人生活在哪里。地理位置成了十分次要的东西。所以我很确信与我工作最紧密的前10—15个人中，没有印度的，可能这话稍后传到公众耳里，然后被指出确实有一些人来自那里！

**Q：因为 Linux 的内核开发对你依赖如此严重，你如何计划组织或重组，让它在没有你的情况下继续发展，假设你决定花更多的时间在你自己的生活和家庭上面的话？**

Linus：现在 Linux 比我重要得多，为了今天这一步我已经工作了很长时间。是的，我仍然十分密切地参与其中，而且我对其有着想当大的日常影响，我最终会是这样一个人——在某种程度上，扮演着许多内核开发活跃者的中心；但是，我不会说 Linux “严重依赖”于我。

所以，如果我得了心脏病并且明天就死了（很高兴没这种可能：我显然在任何方面都很健康），人们肯定会注意到，但是有成千上万的人为内核工作，并且不止一两个人能够毫无困难地接替我的角色。

**Q：印度是软件工程师的主要产地之一，但是我们没有在 Linux 领域做太多贡献。你觉得为什么印度人没有积极参与Linux？如果我们鼓励印度人参与并为 Linux 做更大的贡献，你觉得如何？你会乐意用你个人作为榜样激励印度工程师吗？**

Linus：对我来说，这确实是一个不好回答的问题。参与开源取决于两方面的基础条件：信息流和文化（用你的话说是互联网和教育），我甚至不知道这其中哪个是最大的障碍。

在很多方面，至少在那些印度讲英语文化的地方，参与 Linux 和其他开源项目是相对容易的，如果仅仅是由于语言门槛的话。这当然比起亚洲的许多地方，甚至欧洲的一些地方要容易些。

当然，这只是一些人，并不等同于印度的大部分群体，而且我自己关于印度的情况也知道不多，甚至没法不太负责的猜测最好的途径是什么。我猜一个热情的本地用户社区会是最好的途径，而且我猜测你们已经拥有这样的社区了。

至于我的‘偶像’形象，我自己不以为然。我不是一个伟大的公众演讲者，而且我最近些年已经避免出游，因为被看做符号化的‘偶像’让我很不自在。我就是一个工程师而已，而且我仅仅是喜欢我做的事情，并与社会上其他人一起工作。

**Q：什么样的理由会让你考虑去访问印度？**

Linus：如前一个回答中提到，我十分讨厌公开演讲，所以我才想避免开会等等这些事。我更愿意某天去印度度个假，但是如果我这样做，我可能悄悄地干 — 出行之前不告诉任何人，仅仅作为一个游客去游览印度！（LCTT 译注：所以 Linus 不来中国的道理是同样的，除非在中国召开一次世界性的 LinuxCon。）

**Q：最近你好像在抨击 Subversion 与 CVS，质问他们的架构基础。现在你已经从 Subversion 和 CVS 社区那里得到回应，你是否改变了看法，还是说并没有被说服？**

Linus：因为我发现这个争论很有趣，所以我想做一个强硬的声明。换句话说，我确实‘喜欢’争论。并不是不经思考的，但是我确实想要让争论更热烈些，而不仅仅是完全的柏拉图式的。

做出强硬的争论有时会引来一个非常合理的反驳，然后我会很高兴地说：“噢，好吧，你是对的。”

但是话说回来，对 SVN/CVS 并不会发生这种情况。我怀疑很多人并不是真的很喜欢 CVS，所以我真的不觉得会有谁坚持认为 CVS 就是一切，而不是一个老旧系统。要是我知道之前就有人这样认为的话，我就不会那么不礼貌地反对 SVN（嘿，这么说没错 — 我真的不是一个非常礼貌的家伙！），我不相信任何人会认为 SVN 是‘好的’。

我认为，SVN 就是一个‘还好’的经典案例。人们过去经常使用 SVN，并且它也‘还好’地广泛使用，但是它的‘还好’就如 DOS 与 Windows 的‘还好’一样。不是什么伟大的技术，只是普遍适用而已，同时它对人们来说运行良好，看着十分熟悉。但是很少有人以此为傲，或者对其感到兴奋。

Git，从另外方面讲，其身后有一些‘UNIX 哲学’，这和 UNIX 无关。实质上，就像原始的 UNIX，在它身后有一个基本理念。对 UNIX 来说，最底层的哲学就是，“所有东西只是一个文件”。对 Git 来说，“则是每个东西只是内容寻址数据库中的一个对象”。

**Q：现在如此多的发行是好事还是坏事？选择是很有意思的，但是选择太多了就是干扰。相较于这么多的人每天花费数小时去构建成百上千的发行版，如果人们可以一起来支持少数的发行版，这样在企业级市场去挑战微软是不是更容易些呢？对此你怎么看？**

Linus：我认为多个发行版是开源不可回避的部分。它会造成困惑吗？当然。它会变得低效率吗？是的。但是我喜欢拿它与政治比较：‘民主’也有那些令人困惑的选择，往往没有任何一个选择是你‘真正’想要的。而且有时候，如果你不需要操心选举、不同党派和联合等等方面的困惑的话，你可能会感觉事情更加容易一些，更有效率一些。

但是最后我想说，选择可能会导致低效率，但是它也让每个人至少保留了‘所谓的’诚信。我们可能都希望我们的政治家更诚信，我们也希望不同的发行版可以让我们有一天有其他的选择，而如果没有选择的话，事情可能会更糟。

**Q：为什么你觉得 CFS 比 SD 更好？**

Linus：一部分原因是我与 Ingo [Molnar] 工作过很长一段时间，也就是说，我了解他，并且知道他会对发生的任何问题非常负责。那种品质是非常重要的。

但是一部分原因就简单的与用户有关，大多数人实际上表示 CFS 比 SD 好。包括许多 3D 游戏方面（这是人们声称 SD 最强的一点）。

尽管如此，我认为并不是任何一段代码都十分‘完美’。最好的情况是，想成为 SD 支持者的人会努力提高 SD，从而通过其它方式取得了平衡 — 而我们会保持两个阵营都尝试有趣的事情，因为内部的竞争会刺激他们。

**Q：在 Google 的一次关于 Git 的访谈中，有人问你如何将当前集中存放的超大代码库迁移到 git 上，而不用将开发工作停止六个月。你对此的回答是什么？**

Linus：啊哈，那个问题我在现场没有听清楚（在录音里，问题会听得更清楚些），当我回头去听录制的音频，注意到了我没有回答他的问题，但是我觉得这问题他问过。

无论如何，我们确实有很多导入的工具，所以你实际上可以仅仅是将一个大的项目从任何其他的早期的 SCM （源代码控制系统）导入到 git 里，但问题显然不是经常以导入动作本身结束，而是需要‘习惯’这种新模式！

坦白来说，我认为关于如何‘习惯它’没有任何其他答案，而只能是去开始使用和尝试它。显然，你不会冒险率先导入你现有的最大、最重要的项目，那确实会导致工作停顿下来，然后使得每个人都很不高兴。

所以没有任何理智健全的人会拥护在一夜之间将一切移到 git 上去，并强迫人们改变他们的环境。是的，你需要从公司里的小项目开始，可能是一些由一个小组主要控制和维护的项目，然后开始转移其到 git。这是你能让人们习惯这种模式的方式，你应该以一个核心的组开始，他们知道 git 如何工作，如何在公司里面使用它。

接着，你就会铺展开来。并不需要一次到位。你会导入越来越多的项目 — 甚至是在你公司里采用‘单一大型仓库’模式；那个仓库基本上是作为许多模块的集合，因为让每个人去检查每件事不是一个可执行的工作模型（除非这个‘每件事’并不非常大）。

所以，你基本上只会一次转移一个模块，直到你发现使用 git 是如此酸爽，这时你可以移植余下的所有（或者‘余下’的太旧了，没有人用了）。

git 最赞的一个功能是，它实际上可以同很多其他 SCM 相处很好。很多 git 用户使用它的时候，与他们一起工作的人并没有发现，因为他们看到 git 的结果，会联想到一些传统的 SCM 上去。

**Q：Linux 用了你在 Transmeta（全美达）上实现备用指令集的经验吗？[Transmeta Crusoe 芯片看起来像一个非常轻量级的 CPU — 记得有一台 Burroughs B1000 解释器，它实际上实现了多个虚拟机。有的用于系统软件，有的用于 Cobol，还有的用于 Fortran；如果没错的话，那么人们可以在芯片上实现 Burroughs 6/7000 或者 HP3000 类似的堆栈架构，或适用于 JVM 的指令集，等等。（LCTT 译注：Linus 于 1997-2003 期间就职于全美达）]**

Linus：我们确实有一些备选的结构集合，不过我不打算谈论太多这个，我可以说的是我们已经做了一个混合结构集合的公开演示。我们有一个技术展示，在那里你同时可以跑 x86 指令和 Java 字节码（实际上，它是一个轻量的扩展 pico—java，iirc）。

我想我们展示的这个应用会在 Linux 上运行 DOOM，这里 Linux 的部分是一个完全标准 x86 发行版。但是 DOOM 的二进制程序是一个特定的编译版本，它实际上编译为 pico-java 代码。而 CPU 最终以相同的方式来运行它们——从 JIT 到原生 VLIW 指令集。

（选择 DOOM 的原因仅仅是其源代码可用，并且游戏的核心部分非常小，足以很容易拿它来做一个验证 — 而且它也显然看起来十分有趣。）

有更多的事情是在内部运作，但是我不能谈论他们。而且实际上，就我个人而言，对 Java 不怎么感冒。

**Q：386BSD 衍生了 NetBSD，FreeBSD 和 OpenBSD，在 Linux 出现之前已经发展不错了，但是 Linux 传播比 386BSD 及其衍生者更为广泛。这在多大程度上左右你对许可证的选择，这个选择的发展过程是怎样的？你不认为比起 GPLv2 来，是 GPLv3 创造了发展空间，迄今为止，让 Linux 比 BSD 变得更好？**

Linus：我认为这不仅是一个许可证问题，也是一个社区及人格问题。BSD 的许可证总是鼓励分叉，但是这也意味着，如果某些人取得了成功并做了商业性的分叉，他并不需要将他的修改返回来。因此，哪怕实际上这种事情没有（而实际上，这种事情的确发生了，比如 BSDi），人们也难以建立彼此信任。 

相比之下，GPLv2 也鼓励分叉，但是它不仅仅鼓励分叉出去，它也鼓励（并‘要求’）能够融合回来。所以，我们现在达到了新的层次的信任：你‘知道’每个人都被许可证所约束，所以每个人都不会占你便宜。

所以，在我看来，GPLv2 作为许可证来说，它允许人们在要求总是回馈贡献的前提下，在另外的方面取得了最大可能的自由。没有人能阻止你对源代码的改进。

那么，BSD 许可证是更‘自由’的吗？是的，毫无疑问。但是我不会在我在意的任何项目里面使用 BSD 许可证，因为我不仅仅想要自由，我也想要信任，可以让我总是能使用其他人为我的项目所写的代码。

所以对于我来说，GPLv2 最终在‘尽可能自由’上取得了完美的平衡，这样，我们做到了让每个人都能信任，他们总是可以取得源代码并使用它。

这就是为什么我认为 GPLv3 最终并没多大意思，它不再是那种‘返回源代码’的信任；它退化成了‘我写了这些代码，所以我能控制你如何使用它’。

换言之，我只是觉得 GPLv3 太狭隘和自私了。我认为 GPLv2 在‘自由’和‘信任’之间取得伟大的平衡。它不如 BSD 许可证自由，但是它让你安心回馈，而且它符合我认为的‘以德报德’：我给你源代码，你也回馈我源代码。

而 GPLv3 试着控制源代码的‘使用’。现在它就是“我给你我的源代码，如果你使用它的话，你就准备好让我对你的设备动手动脚吧”，看见了没？在我看来，不但小气，而且小心眼。

**Q：-rt 代码树的功能正在缓慢而稳定地逐渐集成到主线代码中。你对将剩余的 -rt 树合并到主线代码的看法是什么？（我说的不是 CFS）**

Linus: 我不能保证来自 -rt 的一切‘都’会被合并进入标准内核（有一些部分肯定不适合常规的内核），不过是的，这些年来我们实际上将它的大部分都集成进去了，剩下的部分最终以后也会合并进去。

我提倡高效工作，但是我同时也很保守。我退回了一些激进的合并请求，只是因为我需要确保它们对我们所有人都有意义，不仅仅是用于极端情况下的实时环境，而且也对并不需要这种环境的‘普通’用户有用。这解释了为什么这个过程相当缓慢却稳定不断地合并代码，因为它需要足够稳定和有意义。

顺便说一句，这不仅仅是针对 -rt ，它也出现在许多开发中。-rt 出现这种情况是因为它是更‘直接’的内核项目，而且也是因为它的一个主要开发者直接参与到了常规内核开发。通常其它功能的迁移（安全、虚拟内核变化、虚拟化，等等）也遵循类似的方式：他们针对特定的环境进行开发，然后这些功能片段缓慢而稳步地合并到标准内核。

**Q：我对 Linux 内核所支持的文件系统发展很感兴趣。你觉得 Reiser4、XFS4、ZFS 以及 Oracle 的新项目哪个更有前途？这些天 ZFS 有不少新闻，Reiser4 也发布了很不错的性能基准测试，XFS4 正紧随其后，而 Oracle 发布的那个也有很多像 Sun 的 ZFS 一样的特性。我们将走向何方呢？以你的观点来看，哪个文件系统更有前途？**

Linus： 实际上，就在昨天我们发现了一个 git 的性能问题，有一个用户发现他采用 ZFS 要比 UFS 慢一个数量级（不是在 Linux 下，git 已经得到了许多关注，甚至是来自内核开发团队之外）。所以，我认为许多‘新文件系统’的拥护者部分原因是因为他们了解到旧文件系统的不足，然后（有点不切实际地）期望一个‘崭新的、改进的’文件系统能使一切都完美。

最后，这是一个永无止境的领域，看看谁是最终的赢家——也许并不需要（看起来不需要）一个赢家。几乎总是这样，对文件系统的选择最终取决于负载和环境。

相比你提到的这些文件系统，我个人对基于闪存的硬盘很快就可以供甚至是‘普通’用户使用的这个事实更感到兴奋。当然，它们仍然很昂贵（而且相当的小），但是基于闪存的存储和传统硬盘的性能完全不可同日而语，我怀疑它们最终将对文件系统的设计有巨大的影响。而现在，多数文件系统的设计都是在考虑如何处理硬盘延迟。

**Q：操作系统变得越来越不重要。你说过好几次用户根本不应该‘看见’操作系统。应用更为重要。基于浏览器的应用，如 Google 的办公软件影响力越来越大。你认为操作系统将走向何方？**

Linus：我并不真的认可‘浏览器 OS’，因为我认为人们总是需要在本地做一些事情。也许是因为安全，或者仅仅是因为隐私的原因。而且即便当到处可以接入时，它也并不是‘无处不在’。

所以我认为，整个‘Web OS’这件事有一部分是真实的，但是另外一部分人们也许忘记了操作系统已经存在了几十年，它已经相当稳定，而且它的发展是有目共睹的。人们真的不应该期望操作系统有魔法般的变化，现在已经不是操作系统刚刚起步的六十年代，甚至连硬件也和过去完全不同了！

所以，别指望一场革命。我认为操作系统将在很大程度上继续它们所擅长的，当然，我们也会进步，但是我不认为会从根本上改变。也许会发生巨变的是界面和操作系统顶层的那些东西（当然，操作系统下面的硬件也会继续进步），这显然才是人们所关心的。

至于操作系统？它显然是应该尽可能隐藏起来的东西。你真的不应该在意它，除非你特别想知道在机器里面真正在发生什么。

**Q：最近我听说你正在使用一台 PPC G4/5 作为个人计算机，你使用它来做什么？为什么呢？**

Linus：我最终放弃了那台 PowerPC，因为没有人能在这台工作站上做到更多，特别是，自从 x86-64 开始变得越来越强大了。所以这些天，我在用一台标准的 PC，里面是一个普通的 Core 2 Duo CPU。

在其它架构下运行是非常有趣的（alpha 作为我的主要架构运行了好几年，所以这并不是第一次），但是这种 CPU 得当成商品买得到才行。我认为，唯一能取代 x86 架构的，也许未来十年并不需要使用 x86 作为主要架构，我认为或许是 ARM，这得益于移动设备市场的发展。

**Q：Linux 对你意味着什么？一种业余爱好、哲学、人生意义、工作、最好的操作系统，还是什么？**

Linus：它是所有的这一切。它是爱好，而且是具有深刻意义的爱好。最好的爱好是你‘真的’非常在意它。这些日子里，它显然也是我的工作，我非常高兴工作和兴趣能合二为一。

我不了解所谓的‘哲学’，我并不真的是因为深层次的道德或哲学的原因才做的 Linux，但是可以肯定的是，对开源的深层思考是我非常重视的。所以我并不是因为什么明确的理由做 Linux，也不能说是它在激励我，但是我的确在思考开源是如何工作。

**Q：微软的‘黑衣人’有没有和你交谈过？**

Linus：我从来没有真正和微软交谈过，没有。我偶尔会和一些微软的人出现再同一个会议上（我比以前参加的会议更多了），但是我从来和他们没有任何关系。我认为彼此都很谨慎吧。

--------------------------------------------------------------------------------

via: http://www.linuxveda.com/2015/06/17/what-happens-to-linux-after-linus/

作者：[Swapnil Bhartiya][a]
译者：[wi-cuckoo](https://github.com/wi-cuckoo)，[wxy](https://github.com/wxy)
校对：mahua, [wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](https://linux.cn/) 荣誉推出

[a]:http://www.linuxveda.com/author/arnieswap/

