TranslateProject/translated/talk/20150618 What will be the future of Linux without Linus.md
2015-06-28 15:05:47 +08:00

14 KiB
Raw Blame History

没有LinusLinux的未来是什么样子

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

Q对于Linux内核未来的计划/道路/强化是怎样的?

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

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

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

Linus我并不能看到整个重叠的地方除了我认为Solaris会开始使用更过Linux用户磁盘工具显然我自己来说没有太多关注这个 — 我真的只关心内核。Linux的桌面比起传统Solaris拥有的好多了而且我希望Solaris移植越来越多的Linux的东西朝着一个更加类Linux的模型前进。

从纯内核方面讲证书的差异意味着没有太多的合作但是如果看到这种情况改变会很有趣。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内核的关键贡献者

Linus我不得不承认我并没有与实际认识的来自印度的任何人直接工作。那就是说我应该稍微澄清下我已经非常有意识地努力建立一个规模庞大的内核开发团队这样我不用以独自地工作而告终。

我非常相信大多数人基本上被束缚起来了,只对很少的人十分了解(你最亲近的家人和朋友),我也努力构造这样一个开发模型影响这种状况:通过一个‘开发者网络’,人们可以在此互动,可能是与一批你信任的人,而且那些人反过来与他们信任的一群人互动。

所以,当我偶然与上百个开发者联系,他们发给我一两个随机的补丁,我已经努力去建立这样一个环境,在这里我做的一堆事,发生在我熟知的人组成的一个较小的集合间,仅仅因为我认为那就是人们工作的方式。当然也是我喜欢工作的方式。

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

Q自从Linux的内核开发对你依赖如此严重以来你如何计划组织/重组,让它在没有你的情况下继续发展,假设你决定花更多的时间在你自己的生活和家庭上面?

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

所以,如果我得了心脏病并且明天就死了(很高兴没这种可能:我显然在任何方面都还健康),人们肯定会注意到,但是有成千上万的人为内核工作,并且不止一两个人能够接替我,还少有困惑。

Q印度是软件工程师的主要产地之一当然我们没有在Linux领域做太多贡献。你觉得什么是保持印度人在Linux领域变得具有前瞻性的如果我们鼓励印度人参与并为Linux做很大的贡献你觉得如何假如你有一个在印度的粉丝你会用你的形象来启迪那些爱好者吗

Linus对我来说这确实是一个不好回答的问题。进入开源是如此一个底层结构网络接入教育你说的信息流和简单的文化的复杂组合我甚至不能去猜测最大的障碍会是什么。

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

当然,有一些人,并不等同于印度的大部分群体,而且我自己关于印度的情况也知道不多,甚至没法做出一点半路聪明猜测最好的前路是什么。我猜一个热情的本地用户社区一直是最好的途径,我认为你们已经拥有这样的社区了。

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

Q什么样的理由会让你考虑去看看印度

Linus如第一个回答中提到我完全地讨厌公开演讲所以我才想避免开会等等这些事。我更愿意某天去印度度个假但是如果我这样做我可能悄悄地干 — 出行之前不告诉任何人,仅仅作为一个游客去游览印度!

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

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

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

Q386BSD衍生了NetBSDFreeBSD和OpenBSD在Linux出现之前已经发展不错了但是Linux传播比386BSD及其衍生者更为广泛。这在多大程度上左右你对证书的选择和你选择的发展过程你不认为比起GPLv2来是GPLv3保护了自由孕育了Linux比BSD更好直到现在

Linus