阅读更多

6顶
0踩

互联网

原创新闻 Linux 25周年:与创始人Linus Torvalds对话

2016-04-18 10:59 by 副主编 mengyidan1988 评论(3) 有6389人浏览
原文:Linux at 25: Q&A With Linus Torvalds
作者: Stephen Cass
译者: 孙薇
责编: 钱曙光

早在1991年还在芬兰赫尔辛基大学就读时,Linus Torvalds便创建出了最初的Linux操作系统内核。之后这个小小的内核很快发展成了一个功能全面的操作系统,可以运行在智能手机与服务器上,还有各种各样的小工具上。本文是一篇电子邮件访谈记录,文中Torvalds回顾了过去25年来Linux的影响,并展望了未来25年可能出现的变化。



Stephen Cass(记者,以下简称S):如今在程序开发上,你已经比25年前拥有了更多的经验,有什么想要告诫当年的自己呢?

Linus Torvalds(以下简称L): 实际上我是这样认为的:关于Linux的成功我并不敢居功,有很多事情我当时并不了解,如果一开始我就知道的话,也绝不敢动手编写自己的操作系统:需要一些天真无畏的勇气,才敢以为自己能做得到。我深信这是动手开始一个项目,并最终获得成功所需要的特质。虽然对项目可能的发展范围缺乏概念,但更因此才不会有先入为主的想法,而对项目的发展强加干涉。

我相信,正是因为我不清楚未来能有怎样的发展,也许才会对他人的建议和影响抱着更开放的态度。如果我本来就对想要完成的目标有着奇思妙想,说不定就不会有这么开放的态度了。在我看来,这种坦诚的态度让别人更愿意、也更容易参与到这个项目中来。人们不会为了别人的愿景而买单,却会为了他们自己的愿景而努力。在我看来,正是这种想法激励着很多人在Linux上作出贡献。

S:在Linux的发展中,是否有某个早期的技术决策是你现在希望改变的?

L: 糟糕的技术决策什么的,都是你随时可以抹消的东西。没错,尽管当时很令人沮丧,也显然完全是浪费时间和精力,但往往到了最后,这些教训都不算真正地浪费时间:采用错误的决策总有些原因,而认识到错误则会让你学到经验。我并不是说错误其实是好事,正确的决策永远比错误的要好——但我不会特别担心选择的问题,我宁愿先做下决策,哪怕以后发现这个决策是错的,也比浪费太多时间来讨论可能的选择要好。

在2001年左右,众所周知我们曾在Linux的虚拟内存子系统支持方面遇到了非常糟糕的状况。当时状况糟透了,大家对于该选择哪个方向产生了剧烈的争议,同时在某些内存的配置上也存在很大的问题。本该到“稳定”阶段了,系统中却有大量的内容消失,导致大家都很沮丧。

现在再来回顾,问题最终还是解决了,虽然那段时间就像地狱一样,所有人都痛苦不堪。如果不用在开发中期执行这类的重大修改肯定会更好一些,但这件事也并未造就灾难性的后果。

S: 随着Linux迅速发展,从单打独斗到成为群体中的一员,对你个人而言有什么变化?

L: 对我来讲实际上有两个明显的改变:其中一个是在很早的时候(1992年)发生的——我开始使用其他开发者所提供的补丁,而不再总是自己重写了。第二个变化发生在后来,当“自行编写所有要使用的补丁”已经成为了巨大的障碍,我必须学着信任所有那些帮忙维护的人员。

第一点要容易得多:由于在编写Linux内核时,大约前半年我完全都是独立开发的,一开始大家给我发送补丁的时候,我还不习惯直接使用。因此我会一一看过,确定作者的意图,然后自己再写一次。有时候跟他们写的差不多,有时候则完全不同。

但很快我无法再继续这样做了。用了没多久,在我开始对某些人产生信任之后,会直接在Linux上应用他们的补丁,而不再基于他们的理念而重新编写了,虽然最终往往还是会作些改动。这些年来,我已经非常擅长阅读与编辑补丁了,连在睡梦里都能做好。而这些年来,这种模式也一直运作良好。

但正是由于“应用别人的补丁”这种模式多年来一直运作良好,已经让我非常习惯,想要改变就更加困难。大约在2000年左右,内核的开发获得了巨大的成长(那时Linux开始显现出商业方面的潜质)。人们开始抱怨我的工作流程对整个开发造成了障碍,并抱怨Linux缺乏可扩展性,但我们缺乏优秀的源码管理工具来解决这些问题。

最终我们采用了BitKeeper作为源代码维护工具。这个名字更让人记忆深刻的是几年后关于授权中止的喧闹纷争,不过它的确很适合这项任务,而且教会了我(以及内核社区的至少一部分人)该如何控制管理源码,以及当我并非唯一的同步点时,如何在更具分布特性的开发模型中执行协作。

当然,我学到的分布式源码控制管理方法造就了2005年出现的Git。虽然Git显然已成为源代码控制方面的成功典范,但当年正是BitKeeper让大家了解到了分布式源码控制的优势。在2000年左右,关于内核的痛苦经历最终给我们好好地上了一课,不过当时确实很痛苦。

S: 还有什么其他项目就像分布式源码控制一样,让你有冲动想要掌握么?

L: 没有,我确实不希望再有这样的项目了。我所有的大项目都来自于这样的经历:“可恶,没人帮我做这个”。如果有人能帮我解决问题,我会更高兴无需再花力气自己解决了。我宁愿坐在沙滩上的遮阳伞下,啜饮着时兴的饮料,而不是自己去解决问题。

好吧,我在撒谎,几天后我感到非常无聊。我真高兴自己还有Linux,因为它确实很有趣,很能激发思考,不过与此同时,创建一个新项目确实是非常令人沮丧的做法。

S: 在你看来,Linux为什么从未在主流台式机上占领重要的席位?

L: 我们还在努力,我认为Chromebook笔记本实际上做得相当不错,即便它只是一个相当有限的桌面环境,并非完全传统式的Linux工作站模式。

至于为什么台式机如此难啃,原因很多,但最大的原因很简单,就是用户的惯性问题。在计算机世界,台式机非常独特,它是非常私人的东西——如果你使用电脑的话,每天都会与其进行相当亲密地交互;同时台式机在很多方面都具有其他计算环境所不具有的复杂性。

看看你的智能手机,这也是一个相当具有亲密度的计算设备,与人们密切相关(而在这一点上,多亏了安卓,让Linux有出色的表现)。台式机在各方面都更为复杂,遗留的负担也更重,所以这个市场很难进入。人们在使用手机时习惯了特定应用和流程,很多人也会尝试更换操作系统,不过安装不同操作系统的人还是比使用预装系统的人要少得多,而这一点在台式机上更加凸显。

同时,我认为这个市场很重要,尽管在某种程度上来说,整个“通用桌面”的市场似乎都正在衰落。更专业的东西就越简单,因此平台承担了很多任务:包括智能手机、平板电脑以及Chrome笔记本都代表着羽翼尚未丰满的通用环境。

S: Linux的什么用途最让你感到惊讶?

L: 最近没有太多,因为我觉得Linux已经成为设计新硬件或服务模型的默认环境了。如果你有些奇怪的专用设备,或者正在创建某些新的互联网基础设施什么的,要想不用Linux的话几乎让人无法理解。

不过那些“奇怪的”使用领域经常会让我感到惊讶,让我觉得Linux似乎还是那个工作站和服务器操作系统。在一些早期的Linux商务会议上,当人们炫耀鼓风机或电冰箱运行Linux时,我都会佩服地五体投体。在第一台TiVo出现时,它能运行Linux还有“可以重播电视的直播节目”都让人非常有兴趣。

S: 目前Linux所面临的最大挑战是什么?

L: 实际上内核运行地很好,人们还在担心太复杂会影响理解或者bug修复,这种担忧可以理解,但与此同时,我们也网罗到了很多聪明人。系统变得越来越大,越来越复杂,又有很多人依赖着它,使得我们必须得设置很多流程。接受巨大而具有侵略性的改变是很有挑战性的,因此我不会认为这是惬意的事情,不过在我看来,内核开发的很不错,很多其他的开源项目都很想要我们这样的资源。

即便如此,我们总能遇到这样的挑战:内核中总有过多的硬件。我们支持很多不同的硬件,几乎可以确定要比其他操作系统支持的都要多,但每天都有新的硬件出现。特别是硬件平台开发时间通常较短的嵌入式领域(在中国只用1、2个月就能转过头来创建一个全新的手机平台),想要尝试在这样的环境中工作非常艰难。好消息是,有很多硬件厂商都在帮忙,过去并非如此。

S: 现在你对什么技术发展趋势有兴趣?有哪些会让你感到失望?

L: 我一直对新的核心硬件很感兴趣,特别是CPU之类的。这也是我一开始做自己操作系统的原因,现在我还是对新的平台很有兴趣。当然,大多数时候只需要在现有的硬件上做些微调,而且我深信这就是技术发展应当朝向的方向。不过在这些事情上,我还是倾向于继续跟进追踪。

从更大的层面来讲,虽然我个人并未介入这个领域,但能够看到人工智能(AI)最终如何实现会很有趣。AI曾经属于那种“还得二十年之后才能实现”的技术,到了现在它还是“需要二十年才能实现”的技术。对于过去人们经常使用的“基于规则的模型”,我没有太深刻的印象。

现在,终于神经网络也开始发展了,我觉得这一点很有趣。虽然这并非是我所致力的领域,也不算是我希望投身的领域,但确实很有吸引力。与那些疯狂的LISP和Prolog语言不同,我们都知道递归神经网络是作用于本质的。对于真正的AI开始出现这件事,我完全不会感到沮丧,有些人会,但我完全不会。

S: 根据你的看法,在50周年时Linux能否依旧保持活跃呢?你所梦想的操作系统是什么样子的?

L: 我不怎么擅长预测,我本人只是一个缺乏想象力、很乏味的工程师罢了,总是尝试着眼于现实基础。关于预测这件事,还是让别人来做好了,无论5年、10年还是25年——我认为,只要我们继续追踪所有小的的日常细节,并尽力而为做到最好就可以了。

如果这个世界发生了巨大的改变,25年之后从根本上全然不同的话,也许会更有意思。不过,如今操作系统的很多根本的问题,与60年前人们刚有真正的操作系统时所存在的问题完全相同。据我猜测,未来计算机所发生的变化说不定还比不上在过去50年中的变化呢,硬件和软件开发人员只是学到了哪些能够运行,哪些不能。

当然,神经网络等等技术会改变世界,但它们有一部分特质就是无需“编程”,他们是自学习的,也是逻辑模糊的。我几乎能够肯定:因为这个原因,它们无法取代传统的计算模型,人们想要更智能的机器,但也需要能完全按照指令工作的机器。因此我们目前的“旧式”风格计算方式不会消失,而只会得到增强。
  • 大小: 88.6 KB
6
0
评论 共 3 条 请登录后发表评论
3 楼 wangviviying 2016-08-03 13:54
.。。
2 楼 mack 2016-07-26 16:40
谢谢大师分享,大师很实在,重于执行。。
1 楼 pengfaliu 2016-07-16 11:43
很有想法~加油,linux。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • linux0.01 源代码(Linux的创始人Linus Torvalds写的)

    Linux最原始版本的源代码,有兴趣做开源、有兴趣研究操作系统的一定要看看。

  • 探寻Linux背后的“美丽心灵”——Linux创始人Linus Torvalds访谈录

    【CSDN编者按】Linux之父Linus Torvalds,一生只为寻找欢笑,以“I do code for fun”为人生信条,从未停止过前进的步伐,其...在TED「梦想」主题下,Linus应邀与TED策划人Chris Anderson进行了对话,分享了Linux背...

  • Linux创始人Linus Torvalds访谈,Git的十年之旅

    在这十周年之际,Linux创始人Linus Torvalds为我们分享了Git幕后的故事,并且告诉我们这个工程队软件开发的影响。你会发现他在这个故事背后的评论。我们跟随Q&A追寻Git的轨迹。 为什么要创建Git? ...

  • Linux的缔造者Linus Torvalds.pdf

    Linux的缔造者Linus Torvalds.pdf

  • Linus torvalds本人念[Linux]的发音

    Linus torvalds本人念[Linux]的发音,包括英语和瑞典语。

  • 链表好味道:Linus Torvalds的链表论据证明味道很好

    链表好味道:Linus Torvalds的链表论据证明味道很好

  • Linux程序员语录,Linux和Git之父 Linus Torvalds 的那些经典语录

    Linux和Git之父Linus Torvalds曾说过这样一段话:“Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” (低水平程序员总在考虑代码,高水平程序员总...

  • linus 用的linux版本,Linus Torvalds的重大消息

    Linux创始人LinusTorvalds在内核邮件列表上宣布正式释出LinuxKernel4.9,这个版本被称为时尚改进最大的版本,同时4.10合并窗口已经开启。但值得注意的是,为期两周的合并窗口预计将在圣诞节这天关闭,因为假期的原因...

  • 【IT资讯】Linus Torvalds:我们都老了,但Linux维护真的很难找

    在本周召开的Linux开源峰会与嵌入式大会上, VMware的首席开放源代码官Dirk Hohndel和Linux的创建者Linus Torvalds再次就Linux开发展开了远程对话讨论。 讨论很快就涉及到了一个令人不安的问题:那就是在目前这一代...

  • Linus Torvalds:最庆幸的是 30 年后,Linux 不是一个“死”项目

    Linus 谈 Linux 现状

  • Linux之父Linus Torvalds自传中文版

    今年45岁的芬兰人Linus Torvalds是Linux操作系统的创始人。他于1991年创建的Linux操作系统,不断获得互联网上众多自愿者“程序员”的支持,经过十几年的发展,如今已经成为云时代数据中心的首选操作系统!

  • Linux 之父:林纳斯·托瓦兹(Linus Torvalds)

    林纳斯目前受聘于开放源代码开发实验室(OSDL,Open Source Development Labs),全身心的开发Linux内核。 主要成就 ...”美国《时代》周刊对“Linux之父”林纳斯·托瓦兹(Linus Torvalds)给出了极...

  • Linux 之父 LinusTorvalds 喊话:Rust 即将出现在 Linux 内核中

    LinusTorvalds和DirkHohndel在开源峰会上的常规演讲/对话中,Linus评论了内核中的Rust编程语言代码。他们希望很快能将Rust编写的代码合并到内核中,甚至Rust可能出现在下一个版本中,即Linux5.20。...

  • linux创始人linus写的一份早期介绍linux内核文章(珍贵)

    linux创始人linus写的一份早期介绍linux内核文章,不大好找了。

  • Linux 30年专访:Linus Torvalds谈Linux内核开发与Git

    作者 | Jeremy Andrews译者 | 火火酱,责编 | Carol出品 | CSDN(ID:CSDNnews)三十年前,当Linus Torvalds(林纳斯·托瓦兹,下文统称L...

  • linus torvalds 的自传

    linus torvalds 的自传体的一本书, 每一个linux的爱好者都应该好好看看

  • Linus Torvalds:我们都老了,但Linux维护者真的很难找

    Linux 之父Linus Torvalds非常担忧没人继续维护内核「真的很难找到维护者!」在本周召开的Linux开源峰会与嵌入式大会上, VMware的首席开放源代码官Dirk Ho...

  • 软考-考生常见操作说明-202405101400-纯图版.pdf

    软考官网--2024常见操作说明:包括如何绘制网络图、UML图、表格等 模拟作答系统是计算机技术与软件专业技术资格(水平)考试的电子化考试系统界面、作答过程的仿真系统,为各级别、各资格涉及输入和页面显示的部分题型提供体验性练习。

  • setuptools-34.0.3.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics