探秘 Linux 之父 Linus Torvalds 的日常,一不小心就撸出两个创世神作!
公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你了解圈内新鲜事!“Linux 之父 Linus Torvalds 是一个怎么样的人?他平时是怎么工作的?Linux 这么大...
公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你了解圈内新鲜事!
“Linux 之父 Linus Torvalds 是一个怎么样的人?他平时是怎么工作的?Linux 这么大的一个项目,大家如何协同开发?2016 年,他做客 TED,为我们展现了他鲜为人知的一面。他两次推动了技术的革命,第一次是 Linux,第二次是 Git,下面的访谈,详细记录了他为什么要做这两个项目, 他对开源的看法,以及他对自己的评价。
Chris Anderson(下文简称 CA ):有件事情很奇怪。你的软件,Linux,运行于数百万的计算机中, 可以说是他驱动了网络。我想,全世界正在使用将近 15 亿台的安卓设备。每一台里都有你的软件。这非常了不起。你肯定有一个特别高大上的总部来实现这一切。我以前真这么想——到我看到这张照片(如下图),我被震惊了。真的惊了,这就是 linux 总部。
(笑声)
(掌声)
Linus Torvalds(下文简称 LT ):好吧,让大家失望了。我不得不说,这张照片里最有意思的地方,被最多人问起的地方,就是那种会动的办公桌。这是我办公桌最有趣的地方,虽然我现在不怎么用它了。我觉得两者是有关系的。
我的工作方式是...。我不想要太多外来的刺激。大家能看到,我的墙是淡绿色的。据说精神病院的墙就是这种颜色。
(笑声)
这种颜色能让你平静,不会刺激到你。
其实大家看不到我的电脑(主机),只能看到我的显示器,我对电脑最主要的要求 —— 并不是性能强劲,尽管我也爱 —— 就是它必须没有任何声音。我认识一些在谷歌工作的人,他们在家里都有小型的数据中心,我可没这习惯。我的办公室也许是你见过最无聊的一个。我喜欢独自一人,享受安静。如果有猫进来,它会坐在我的大腿上,我喜欢听猫打呼噜,而不是听特烦的电脑风扇的声音。
LT:太了不起了,你的这种工作方式,才能让你运行如此庞大的一个技术帝国——确实是一个帝国——这是开源(软件)强大力量的一个最好例证。
请告诉我们你是如何理解开源的以及它又是如何一步一步发展成 Linux 的。
LT:我现在还是独自工作。真的,我独自一人在家工作,经常穿着浴袍干活。当一个摄影师来的时候,我才会穿戴整齐,所以(这张照片里)我是穿着衣服的。
(笑声)
我一直以来就是这样工作的。Linux 也是这样诞生的。Linux 并不是一个合作的产物,它是我一系列项目中的一个,纯粹出于当时自己的需要,部分原因是我需要得到结果,但更重要的原因是我享受编程。这段旅途的终点,在 25 年后的今天,我们仍未达到。当年我只是想做一个完全属于自己的项目,我压根就没想过开源这件事情。
但在那之后,随着项目越来越大,你会开始想让别人知道。感觉就像“哇,快来看看我的成果!”,但说实话,刚开始并没那么好。我把它放到网上供人下载,当时甚至还不是开源的。当然,所有的代码都是开放的,但我并没有想过要用我们今天所熟知的开源方法来改进它。我当时想的是, “看,这是我折腾了半年的成果,我想听听大家的意见。“
有人来找过我,在赫尔辛基大学,我有一个朋友是做开源软件的——当年还叫免费软件——他让我了解到,“嘿,你可以用那些已有的开源许可证”我考虑了一段时间。我其实有点担心商业利益牵涉其中,我想,很多人一开始会跟我一样,担心自己的工作成果会被人利用,不是吗?于是我决定了,“不管了“。然后...
CA:然后某一天,一些人对你的代码提出了些建议,你觉得“哇哦,真是不错,我都没想到这一点。对改进软件很有帮助。“
LT:其实最开始没有多少人直接改代码,而是提出很多的想法。让别人看一下你所做的项目——我想在其他行业也是这样——有人对你的代码感兴趣,仔细研究过,能给你反馈,给你建议。对我而言是非常重要的一件事。
当时我 21 岁,还很年轻,但在那之前,我人生一半时间都在敲代码。之前的每一个项目都是我独自完成的。有人开始评论我的代码,给予反馈,真是头一遭。他们甚至还没开始改代码,当对我来讲足以载入史册,因为我觉得,“我爱世人!”,别误会我, 其实我并不合群。
(笑声)
我并不爱世人
(笑声)
我爱电脑, 我喜欢通过发邮件互动, 因为这样能给你缓冲。但我真正喜欢的是 人们给出评论,参与我的项目。这样能让我的项目快速成长。
CA:有没有那样一个时间点, 你发现自己一直在做的项目 突然开始成型了, 你对自己说, “等一下,这事儿也许能做成, 不单单是一个我能得到良好反馈的个人项目, 而是能在整个科技界掀起轩然大波的大事”?
LT:还真没有。对我而言,最重要的时刻 并不是它变大的那一天, 恰恰是在它还不够大的时候。对我而言,当我不再独自工作, 有 10 个人,或者 100 个人加入进来—— 这才是一种突破。之后事情就顺其自然了。对我来说,从 100 人到 100 万人, 并不是那么重要。其实我的意思是,如果你……
(笑声)
如果你是想把自己的成果卖掉, 那确实就很重要—— 别误解我的意思。如果你感兴趣的是科技本身, 是这个项目本身, 那么最重要的就是找到志趣相投的人。之后这个群体会自发壮大。并没有一个特别明显的时间点,我会觉得 “哇哦,这事儿快成了!”因为—— 这个时间非常漫长。
CA:所有我采访的技术专家们 都对你赞不绝口, 说你极大改进了他们的工作。不光是 Linux, 还有 Git, 是一种软件开发管理系统。简单介绍一下它以及你在其中扮演的角色。
LT:我们遇到的问题之一, (在项目开始后)一段时间后才开始显现, 就是当你…… 从 10 个或者 100 个人参与一个项目, 增长到 1 万人的时候,而这—— 关于(Linux)内核,我们碰到的问题是, 每次更新都有 1000 人参与, 而更新频率是每两、三个月一次。这其中有些人作用不大。有很多人能做出小小的改进。
但要进行维护, 所需要的工作量就会大大增加。我们吃尽了苦头。有时候甚至整个程序 都仅仅是为了对源代码进行维护。CVS 曾经是最流行的, 我恨透了它,连碰都不想碰, 我喜欢更基础、更有趣的方法, 但其他人又不喜欢。
CA:(笑声)
LT:我们陷入了僵局, 成千上万的人想参与进来, 但很多时候,我成为了那个断点, 我无法让自己跨出那一步, 同上千人合作。
因此 Git 是我的第二个大项目, 它存在的意义就是维护我的第一个大项目。事实上这就是我的工作方式。我编程并不是为了…… 我编程是因为好玩, 但我也想做一些有意义的事情, 因此我设计每一个程序 仅仅是因为我自己需要 而且……
CA:因此,实际上,Linux 和 Git 的出现, 都是意外的收获, 仅仅因为你不想跟太多人一起工作。
LT:千真万确。没错。
(笑声)
CA:太牛了。
LT:可不是吗。
(掌声)
你带来了技术革新, 不是一次,而是两次, 我们试图去探寻背后的原因。你给了我们一些线索,但是…… 这是一张你小时候的照片, 你手里拿着魔方。你刚才提到,你从 10 岁、 11 岁就开始编程了, 人生的一半,
你是那种电脑天才,技术宅吗?你在学校里是无所不能的明星吗?你是个什么样的孩子?
LT:没错,我觉得自己就是宅男的原型。我是说,当年…… 我并不喜欢跟人打交道。那是我弟弟。显然我对魔方更有兴趣, 完全无视我弟弟。
(笑声)
我还有个妹妹,她不在照片里, 当我们全家聚在一起的时候—— 我家人不算多,但我有好几个侄子侄女—— 她会事先给我打预防针。在我进屋之前,她会说, “好的,你要注意什么什么……” 因为我其实…… 我是个技术宅。我喜欢电脑, 喜欢数学, 喜欢物理。我擅长这些。但也没到出类拔萃的地步。就像我妹妹说的, 我最突出的品质就是不放弃。
CA:好的,那我们就来聊聊这个, 这很有意思。你不轻言放弃。也就是说,不是因为技术宅或者聪明, 而是因为……固执?
LT:没错,就是固执。就像, 我开始做一件事情, 我不会说,“好的,我不干了, 我要去干点别的…… 看,比如那个!”
我发现我在做其他事情的时候也会这样。我在硅谷生活了 7 年。一直在同一家公司上班, 那可是在硅谷哦, 从未换过。这简直闻所未闻。尤其在硅谷这个地方。硅谷最大的特点就是,人们总在跳槽, 一会这一会那。而我不是这样。
CA:但在 Linux 系统发展的过程中, 这种固执有时会让你和别人产生冲突。给我们讲讲这个。维持已有成果的质量是不是非常必要?你会如何来形容之后发生的事情?
LT:我不确定这是不是非常必要。还是说回到“我并不合群”这一点, 有的时候我还…… 可以说, 不太理解他人的感受, 经常会说话伤到别人。对此我感到很抱歉。
(掌声)
但与此同时, 有人告诉我,我应该友善一些。然后我会跟他们说,可能你是友善, 但你应该更加富有侵略性一些, 他们会把这个当成我的不友善。
(笑声)
我想说的是我们是不同的。我不是个合群的人, 对此我并不感到骄傲, 但这就是我。而我喜欢开源软件的一点就是, 它能让形形色色的人在一起合作。我们不必相互喜欢—— 有时候我们甚至互相讨厌。是真的,我们经常吵得不可开交。但是你会,你会发现许多事情—— 甚至都没法同意保留不同意见, 因为大家的兴趣点真的不一样。
回到我刚才说过的, 我担心商人们利用我们的劳动成果, 但没过多久,我发现, 这些商人都是非常非常好的人。他们做那些我不感兴趣的事, 关注点与我完全不同。他们使用开源软件的方法跟我不一样的。但正因为是开源的,他们可以这么干, 而且实际上效果很好。我甚至认为跟我使用的效果一样好。我们需要合群的人,需要能与人交流的人, 需要温暖友好的人 就像…… (笑声) 喜欢拥抱你,带你走进这个圈子。但不是每个人都能做到。比如我就做不到。我关注的是技术。有的人关注用户界面。我死也做不来用户界面。举个例子,如果我被困在一个孤岛上, 逃出生天的唯一办法 是设计一个漂亮的用户界面, 我宁愿死在岛上。
(笑声)
人跟人是不一样的, 我并不是在找借口, 只是想解释给大家听。
CA:我们上周见面的时候, 你聊到自己的一些其他特点, 我觉得很有意思。是关于品味的。
我这里有一些图片。我觉得这一段代码就没什么品位, 而这一段要好一些, 相信大家一看便知。这两段代码有什么不一样?
LT:这是…… 在座的有哪些人编过程?
CA:我的天啊。
LT:我敢保证, 刚刚举手的每一位, 肯定做过单向链表。它是在…… 这个,第一段不怎么漂亮的代码, 基本上是在你刚开始学编程的时候学到的。你不需要真的理解这段代码。
我觉得最有意思的 是最后一个“if”语句。因为在单向链表中—— 这里是试图将一个已存在的入口移出链表—— 不同之处在于这是第一个入口 还是一个位于中间的入口。如果是第一个入口, 你需要将指针改向第一个入口。而如果位于中间, 你需要将指针改向上一个入口。这是两种完全不同的情况。
CA:这一个比较好。
LT:这一个比较好。它没有 if 语句。这完全不影响—— 你不必了解这里为什么没有“if”语句, 你需要了解的是 有时候你可以换个角度看问题, 重写代码,排除特例, 完美覆盖所有情况。这就是好的代码。同时也很简单。这是最基本的原则。其实这都不重要—— 当然,细节非常重要。
对我来说,我愿意与之共事的人, 必须有好的品位,这就是如何…… 我举的这个例子很傻, 没什么意义,因为实在太短。好的品位体现在更长的代码里。好的品位体现在能看清全局 甚至有一种直觉, 知道怎么把事情做漂亮。
CA:好的,让我们来总结一下。你有品位, 当然是对于程序员们而言, 你很有品位——
(笑声)
LT:对在座有些人而言,是这样。
CA:你是个非常有才华的电脑程序员, 你异常固执。但肯定不止这些。因为你是改变了未来的人。你一定有实现未来宏伟愿景的能力。你是个有远见的人,是吗?
LT:其实在过去两天里,我在 TED 大会 觉得不太自在 , 因为有很多关于未来的想象,对吧?我并不是一个有远见的人。我没有制定未来五年的计划。我是一名工程师。而且我觉得,真是—— 我是说——我非常乐意跟梦想家在一起 他们行走四方,仰望苍穹, 看着满天星辰说,“我想到那儿去。” 但我是低头看路的那种人, 我只想填好眼前这个坑, 不让自己掉进去。我是这样的人。
(欢呼)
(掌声)
CA:上周你跟我聊过他们俩。他们是谁?你跟他们有什么关系?
LT:这其实是技术界的一个老故事了, 特斯拉和爱迪生之争, 特斯拉被认为是一名有远见的科学家, 总是有疯狂的想法。大家都爱特斯拉。你看,还有人把自己公司也叫这个名字。
(笑声)
另一个人是爱迪生, 经常被嘲讽说他是一个单调乏味的人, 而且—— 他最有名的一句话就是, “天才是 1%的灵感加上 99%的汗水。” 而我是爱迪生一派的, 尽管人们经常讨厌他。如果你比较一下这两位, 特斯拉很能抓眼球, 但真正改变世界的是谁?爱迪生也许不是个讨喜的人, 但他做了很多事—— 他也许没那么天才, 不是那么有远见。我觉得自己更像爱迪生而不是特斯拉。
CA:TED 大会这一周的主题是梦想—— 宏伟、大胆的梦想。而你却像碎梦人。
LT:我会试着收敛一些。
CA:太好了。
(笑声) 我们接受你,我们爱你。
谷歌和其他许多公司 使用你的软件, 挣了非常多的钱。你会觉得不爽吗?
LT:不会。原因有很多, 其中一个原因是,我过得不错。真心不错。
另一个原因就是—— 如果我不将它开源,而过于纠结的话, Linux 就不会发展成今天这样。而且 Linux 让我有了许多经历, 尽管我不喜欢,比如在公开场合讲话, 但同时,这也是一种历练。相信我。很多事情让我成为了一个快乐的人, 我觉得当初的选择没有错。
CA:开源软件这个想法—— 我想这是最后一个话题—— 开源软件这个想法已经在全世界实现了吗?还是说还有潜力可挖, 还有很多可以做的?
LT:我有两个想法。我认为开源软件如此成功的原因之一 在于归根结底, 代码是一个非黑即白的事情。我们有非常明确的方法来分辨, 一段代码是行还是不行。代码要么运行成功,要么失败, 这就意味着没什么可争议的。我们有很多争议,不是吗?在其他许多领域—— 人们探讨过公开政治和其他类似的事情—— 有时候真的很难去说, 没错,你可以在其他领域也采取同样的原则, 因为在那些地方不是非黑即白的,有灰色, 也有其他颜色。
因此,科学界的开源显然是一种回归。科学最初是开源的。但之后变得越来越封闭, 只存在那些昂贵的科学期刊上。开源让科学回归了, 我们有了 arXiv 和开放期刊。维基百科也改变了世界。还有其他许多例子, 我觉得未来还会有更多。
CA:但你不是个有远见的人, 这些事跟你没啥关系。
LT:当然。
(笑声)
得靠你们去实现了,对吗?
CA:没错。
Linus Torvalds, 谢谢你的 Linux,谢谢你为互联网做的一切, 谢谢你为安卓手机做的一切。
谢谢你来参加 TED 大会, 让我们更加了解你。
LT:谢谢。
(掌声)
本文转载自:「司徒公子」,原文:https://url.cn/5qKnOYP,版权归原作者所有。欢迎投稿,投稿邮箱:
editor@hi-linux.com
。
你可能还喜欢
点击下方图片即可阅读
央视都点赞的网红李子柒 1 年能赚的钱到底是一个阿里 P8 的多少倍呢?数据量化给你看!
点击上方图片,打开小程序,加入「玩转 Linux」圈子
更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!
更多推荐
所有评论(0)