TranslateProject/translated/talk/20150618 What will be the future of Linux without Linus.md
2015-07-04 21:37:00 +08:00

23 KiB
Raw Blame History

没有 LinusLinux 的未来是什么样子?

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

Q对于 Linux 内核,未来的计划/道路/提升是怎样的?

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

所以,对于五年后内核会是什么样,我真的没有任何远见 — 仅仅是一个非常普遍的计划,确保我们对其保持关注。实际上,对于我个人来说,我最担心的事情之一甚至不是技术问题,而是确保这个‘过程’正常,这样人们才可以相互协作好。

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

Linus我并不能看到整个重叠的地方除了我认为 Solaris 会开始使用更多的 Linux 用户空间的工具(显然对我自己来说没有太多关注这个 — 我真的只关心内核。Linux 的桌面比起传统 Solaris 拥有的好多了,而且我希望 Solaris 移植越来越多的Linux的东西朝着一个更加类 Linux 的模型前进。LCTT 译注:时至今日,我们还需要讨论 Solaris 吗?/cry

从纯内核方面讲许可证的差异意味着没有太多的合作但是如果看到这种情况改变会很有趣。Sun 已经声明在 GPLv2 或 v3下授权 Solaris如果这种许可证差异消失那么会导致一些有趣的技术出现。但对此我持观望态度。

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

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

所以,由于没有了 GPLv2我觉得自己将会使用 GPLv3。不过如果我有了一个更好的选择我为什么不应该考虑一下呢

这就是说,我努力保持实用主义精神,并且我认为 GPLv3 不像 GPLv2 一样好这件事并不是一个‘非黑即白’的问题。这是一个平衡做法。如果 GPLv3 有其他的优点,可能那些优点会在很大程度上扭转喜爱 GPLv3 的天平。

恕我直言,我并没有看到任何优点,但是如果 Solaris 真的在 GPLv3 下发布可能避免不必要的非兼容的许可证这条足够称为一个优点可能也许值得去尝试将Linux的内核重新在 GPLv3 许可证下发布。

不要误解我 — 我认为这是不大可能的。但是我确实想澄清我本质上不是一个许可证偏执者。我认为 GPLv2 是毫无疑问的好许可证,但是许可证并不是一切。

总的来说,我使用很多其他许可证下的程序。我可能没有把一个我自己做的项目放在 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 但有时候与他们一起工作的人并没有发现因为他们看到git的结果联想到一些传统的 SCM 上去。

Q在 Transmeta全美达上他们有备用指令集实现的经验吗[Transmeta Crusoe 芯片看起来像一个非常弱的 CPU — 记得有一台 Burroughs B1000 的解释器,它实际上实现了多个虚拟机。有一台是用于系统软件,一台是用于 Cobol一台用于 Fortran如果没错的话那么一个人可以在芯片上实现 Burroughs 6/7000 或者 HP3000 类似的堆栈架构或适用于 JVM 的指令集,等等。]

Linus我们确实有一些备选的结构集合我仍然不打算谈论这个我可以说我们已经做了一个混合结构集合的公开演示。我们有一个技术展示在那里你同时可以跑x86结构和 Java 字节码(实际上,它是一个轻量的扩展 pico—javaiirc

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

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

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

Q386BSD 衍生了 NetBSDFreeBSD 和 OpenBSD在 Linux 出现之前已经发展不错了,但是 Linux 传播比 386BSD 及其衍生者更为广泛。这在多大程度上左右你对许可证的选择,这个选择的发展过程是怎样的?你不认为比起 GPLv2 来,是 GPLv3 保护了自由,迄今为止,让 Linux 比 BSD 变得更好?

Linus我认为这是一个许可证问题和一个社区及人格问题。BSD 的许可证总是鼓励分叉,但是这也意味着,如果某些人取得了成功并做了商业性的分叉,他并不需要将将他的修改返回来。因此,实际上并不会真的发生这种事情(以 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这得益于移动设备市场。

QLinux 对你意味着什么?一种业余爱好、哲学、人生意义、工作、最好的操作系统,还是什么?

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

我不了解所谓的‘哲学’,我并不真的是因为深层次的道德或哲学的原因才做的 Linux (字面上的做是因为它有趣),但是可以肯定的是,我欣赏我认为开源为何这么棒的深层原因。所以我并不是因为什么高大上的理由做 Linux 的,而且我不能诚恳地说是它在激励我,但是我最终会思考为什么会这样。

Q微软的黑衣人有没有和你交谈过

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


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

作者:Swapnil Bhartiya 译者:wi-cuckoowxy 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出