Linus Torvalds: The mind behind Linux
2016年2月 TED Talk , Linux之父Linus Torvalds.
呆萌娇羞至尊宝,火力全开段子手。
TED官方没有提供中文字幕,忍不住翻译出来,Just for fun!
开场:神之总部
0:12(主持人)Chris Anderson:
这是一件多么奇怪的事情。你的软件-Linux,运行在许多计算机上,它可能控制了大部分互联网。另外我想还不包括15亿部活跃的Android设备。你的软件运行在所有这些设备上面。某种程度上说真是不可思议。你一定有惊人的软件总部来控制它们。我想是这样的——当我看到这张照片的时候,我惊呆了。我的意思是说,这就是Linux的全球总部吗?
0:42 (满堂欢笑)
0:44 (鼓掌)
0:48 Linus Torvalds: 它真的看起来不怎么酷。我不得不说,这张照片最有趣的部分,人们最容易关注的部分,是那个走步机。它是我的办公室最有趣的部分,而且我实际上从来不用它。我相信这两件事是有联系的。
1:08 我走路的方式……我不想有外部的刺激。你可以看到,墙上的颜色是浅绿色。我听说,精神病院的墙上也用这些颜色。
1:26 (满堂大笑)
1:28 它们是宁静的颜色,在某种程度上不会刺激你。
1:34 那些你不能看到的东西是计算机,图上你只能看到显示屏,但是我主要担心的是我的计算机——它的体型和功率都不够大,尽管我希望那样——但它必须保持绝对安静。据我所知,有些为Google工作的人,在家里就拥有自己的小型数据中心,我不这样做。我的办公室应该是你见过最乏味的。我独自呆在一片宁静之中。如果猫走近来,它会坐在我的大腿上。我希望能听到猫的呼噜声,而不是计算机的风扇声。
2:12 CA: 所以基于这样的工作方式,是非常惊人的,你能够运营如此庞大的技术帝国——它是一个帝国——所以这就是一个惊人的证明,关于开源的力量。
话题一:Linux
2:24 跟我们说说你是怎么理解开源 ? 开源是怎样引导Linux开发的?
2:32 LT: 我的意思是说,我依然一个人工作。真的-我一个人在我的家里,通常是穿着睡衣。当摄影社出现时,我得打扮,然后穿上衣服。
2:42 (笑)
2:44 其实这就是我过去工作时的情况。我的意思是说,我开启Linux的时候也是这样的。我开启Linux的时候,它并不是一个团队合作的项目。它只是作为众多的、为我自己服务的一系列项目之一,在一定程度上是因为我需要最终成果,但是更多的原因在于我只是喜欢编程而已。所以它的目标,25年之后,我们依然没有到达。事实上,我只是为自己在寻找一个项目,这里无关开源,事实上,我完全没有这个目标。
3:20 接下来发生的事……项目成长起来,变成了某些你希望向人们炫耀的事情。事实上,比这还要复杂,“哦,快来看我做了什么!” 请相信我——它当时并没有那么美好。在那个阶段,它的源码是开放的,但是背后没有使用一种开源方法,类似于我们今天改进项目的手段。它更类似于,“看呐,我已经在上面工作半年了,我希望能收到一些意见。”
3:59 这时另外一些人开始跟我接洽。在赫尔辛基大学,我有一个朋友,来自开源的一个分支——它后来被称为“自由软件”——确切的说,他介绍了一种概念给我,听我说,你能使用流行的开源许可证。对此,我想了一会儿。我确实对商业的因素参与进来感到担忧。我的意思是说,当人们开始参与的时候,这是一个值得忧虑的事情,他们担心一些人趁机捣乱他们的工作,不是吗? 于是我决定了,“这到底是怎么回事” --
4:43 CA: 与此同时,正如你所想的那样,有些人贡献了一些代码,“噢,这太有趣了,我从来没有想过可以这样。这样竟然可以让项目获得改进。”
4:52 LT: 开始的时候,人们并不是贡献代码,人们更多的是贡献想法。事实上也有一些人看了一眼你的项目——并且我敢肯定别的一些事也是如此,但是关于代码部分千真万确——有一些人对你的代码感兴趣,到一定程度上就会给你反馈信息,给你提出想法。对我来说这一点至关重要。
5:16 那时我21岁,因此我很年轻,但是我已经用一半的人生来编程了,本质上说。
在此之前完成的每一个项目都是出于个人目的,这完全出乎我的意料——当人们开始评论、开始对你的代码提供反馈信息的时候。甚至于当他们开始反馈代码,那时我想,作为最重大时刻之一,我说,“我爱其他人!” 不要误会——我其实不是一个人。
5:45 (笑)
5:48 我真的不是爱其他人—
5:51 (笑)
5:52 但是我爱计算机,我喜欢和其他人通过电子邮件交流,因为这种方法可以为你提供某种缓冲。但是我也喜欢那些发表评论、在我的项目中获益的人。Linux项目使得这些事数不胜数。
6:08 所以是否有一个时刻,在项目构建过程中你发现,它突然开始失控了,这时你想,“稍等下,实际上这可能关系重大,不仅仅是作为个人项目获得好的反馈,而是在整个技术世界出现一种爆炸式的发展” ?
6:24 LT: 事实并非如此。我是说,对我来说这不是一个大问题,真正的大问题不是说Linux变得庞大,而是它变小了。对我来说,项目变得庞大意味着不只是我一个人,而是10个,或者100个人参与进来——那确实变大了。然后所有的其它事情都变得缓慢了。从100人发展到一百万人并不是一笔大买卖——对我来说。好吧,我的意思是,也许对你来说是——
6:50 (笑)
6:51 如果你希望出售你的成果,它就是一笔大买卖——不要误会我的意思。
如果你对技术感兴趣,对这个项目感兴趣,大部分的工作其实是发展社区。当社区逐渐成长起来,就不像只有我一个人的时候了,“喔,它起飞了!” 因为它——我的意思是——相对而言,发展社区需要很长的时间。
话题二:Git
7:12 CA: 我访谈过的所有技术专家们,无一例外都极力赞扬你,你改变了他们的工作方式。不仅仅是Linux,还有Git,用于软件开发的管理系统。简单跟我们谈谈Git,你在这个项目里的角色是怎样的。
7:29 LT:我们曾经遇到的问题之一就是,刚开始的时候,当你的项目的参与人数从10个或者100个增长到10,000个的时候,——我的意思是,我们刚刚在内核项目上就遇到了这种情况,每一个单独的发行版本都有1000人参与,每两、三个月就要发布更新。他们中的许多人并不需要做很多工作。许多人只是做了非常、非常小的变更。
8:00 但是为了维持这个过程,你不得不维护大规模的变更。我们经历了一个非常痛苦的过程。而且这还只是整个项目中,源代码维护的部分。CVS曾经是用来管理代码最通用的工具之一,我非常讨厌CVS,并且拒绝使用它,每一个体验过其它纯粹、有趣工具的人都讨厌它。
8:30 CA: (笑)
8:31 LT:我们曾经身处困境之中,当时有成千上万的人希望参与到项目里面来,但是在很多情况下,我自己就是临界点,有了Git之后我就可以突破这个临界点,我可以和成千上万的人一起工作。
8:46 所以 Git 是我的第二个大项目,而它只是被创造用来服务我自己维护第一个大项目。我其实就是这样工作的。我编程不是为了——好吧,我编程只是为了有趣——但是我希望能为一些有意义的事编程,我完成的每一个独立的项目,都已经变成某些我需要的——
9:08 CA: 实际上,Linux 和 Git 这类东西的出现只是一个意外结果,你其实并没有希望它们能为这么多人服务。
9:17 LT: 当然。是的。
9:18 (满堂欢笑)
9:19 CA: 这很惊人。 LT: 是的。
9:21 (鼓掌)
话题三:忆童年
9:22 到目前为止,作为曾经改变技术形态的人,你已经不止一次而是两次,我们试图理解你什么能够做到这一点。你给我们提供了一些线索,但是……这里有一张你小时候的照片,拿着一个魔方。你曾提到说,在只有10或11岁的时候,你已经成为程序员,相当于你人生的一半。
9:42 你是那种计算机天才吗,正如你所知,übernerd,你是学校里的全能明星吗?你小时候是什么样的?
9:51 LT: 呃,我想我属于那种典型的书呆子。我的意思是,我那时不是一个喜欢社交的人。那是比我小的兄弟。我可以肯定地说,那时我对魔方的兴趣比对小兄弟大。
10:05 (满堂欢笑)
10:06 我更小的妹妹,没有在这张照片上,当我们召开家庭会议的时候——那不是一个庞大的家庭,但是我有几个兄弟姐妹,——她会提前完成家庭作业。例如,当我进入房间之前她会说,“好的。那是so-and-so …” 因为我不是——我是一个极客。我沉浸在计算机,沉浸在数学,沉浸在物理学。我擅长这些。我不认为自己是故意显得与众不同。很显然,我妹妹说过,我最大的异常特征是我从不参与众人的行动。
10:46 CA:好吧,那我们就来讨论这点,因为这很有趣。你不从众。所以这不是关乎成为一个极客,也不关乎成为一个聪明人,这是关于固执?
10:56 LT: 那确实关于固执。那关乎,就像,开始做某些事情的时候,并不会说,“好吧,让我们来做些别的事——看,当当当当!”
11:09 我想在我人生中的其它部分也是如此。我曾经在硅谷生活了7年多。在硅谷,我为同一家公司全职工作。这是难以置信的。这不是硅谷的工作方式。硅谷的共识是人们需要在不同的职位上跳来跳去。但那不是我这样的人的风格。
11:36 CA:但是实际在Linux的开发过程中,固执的性格有时也会让你和其他人的关系陷入紧张状态。谈谈这点吧。这是维持构建质量的必要因素吗?你是如何来判断事态发展?
11:53 LT:我不确认它是否完全必要。回到刚才说到的 “我不是一个善于社交的人,”——有时候我也……我这样说吧,有时“我的浅薄”会影响其他人的感受,有时你刚才所说的情况会伤害其他人。并且,我并不以此为荣。
12:17 (鼓掌)
12:18 但是,与此同时,有些人告诉我说我应该更友好一些。然后我试图向他们解释说,也许你们是友好的,也许你应该更好斗些,他们和我一样变得不友好了。
12:37 (满堂欢笑)
12:39 我试图表达的想法是大家是不一样的。我不是一个社交达人;这不是我特别为之自豪的事情,但这是我的一部分。并且我真心觉得,开源理念之一就是非常鼓励不同的人一起合作。我们不见得需要互相喜欢对方——并且有时我们真心互相瞧不上。真的——我是说,有非常、非常热烈的争论。 但是你能够,事实也确是如此,你会发现——你不必特意消除分歧,这只是因为你们感兴趣的事情不同。
13:12 回到我早期说过的观点:我担心商业人士会利用你的工作,它已经发生,并且很快会发生,那些商业人士是非常、非常可爱的人。他们完成了我完全不感兴趣的事情,他们完全是基于不同的目标。他们使用开源的方式只是我刚好不想走的路。但是因为项目是开源的,所以商业人士可以那样做,这实际上使得大家可以完美并存。
13:41 事实上,我认为它们的工作方式相同。你需要有善于和人沟通的交流者,像那些热情和友善的人——
13:49 (满堂欢笑)
13:51 我真想把你拉进开源社区。但不是每个人都做得到。那样就不是我了。我关心技术。也有些人关心图形界面。我不会去做图形界面来拯救我的人生。我是说,如果我被困在岛屿上,同时唯一的脱困方式是做一个漂亮的图形界面,那我肯定会死在那儿的。
14:11(满堂欢笑) (哈哈哈哈哈哈)
14:12 需要有不同风格的人,我也不是为了找借口,我只是尝试做一些解释。
话题四:论品味
14:17 CA: 当我们上周交流的时候,你谈到自己有一些别的特质,有些我发现真的非常有趣。你管它叫品味。
14:24 我这里刚刚拿到一些图片。我想这是一个例子,关于在代码领域缺乏好的品位,这个品位更好,那个能立刻看出来。这两个代码之间有什么区别?
void remove_list_entry(entry)
{
prev = NULL;
walk = head;
// Walk the list
while (walk != entry){
prev = walk;
walk = walk->next;
}
//Remove the entry by updating the
//head or the previous entry
if(!prev)
head = entry->next;
else
prev->next = entry->next;
}
void remove_list_entry(entry)
{
//The "indirect" pointer points to the
// *address* of the thing we'll update
indirect = &head;
//Walk the list,looking for the thing that
//points to the entry we want to remove
while ((*indirect) != entry)
indirect = &(*indirect)->next;
// .. and just remove it
*indirect = entry->next
}
14:39 LT: 这个——这里有多少人真的写过代码?
14:44 CA: 天哪!
14:46 LT: 我向你说明一下,每一个举起手的人,已经完成的动作,我们称之为单向链表。它的调用——这里,第一种方式不代表好的品位,当你开始编程的时候,完成动作是基于它被告知如何做。而且,你不得不去理解这段代码。
15:03 对我来说最有趣的部分是最后的if语句。因为发生的事情在一个单向链表里面——这是试图从列表里移除一个已经存在的实体——第一个或者中间的实体,这里是不同的。因为如果它是第一个实体,你不得不将指针移到第一个。如果它在中间,你不得不将指针移动到它的前一个实体。所以它们是两种完全不同的情况。
15:32 CA: 所以那个更好。
15:33 LT: 这个更好。它没有这个if语句。其实它不是真的很要紧——我不期望你能理解为什么它没有这个if语句,但是我希望你能理解,当碰到一个问题,通过不同的方式可以被重写,以至于一个特殊的情形被移除,然后变成了一个常规的的情形。这就是好的代码。但这是简单的代码。这是CS 101。这些不是重点——虽然,细节非常重要。
16:00 对我而言,我真正希望能在一起工作的人,他们的标志是有好的品位,怎么说呢。。。我举这个其实不相关的、愚蠢的例子,因为它太小了。好的品位要比这些范围大得多。好的品位是关于真的能看见大格局,并且本能地知道做事情的正确方式。
16:23 CA: 好的,所以我们把这些卡片都放在一起。你有品位,在某种程度上,这对于软件界人士意义深刻。你是——
16:32 (满堂欢笑)
16:34 LT: 我想它对这里的一些人意义深刻。
话题五:论远见
16:38 CA: 你是一个非常聪明的计算机程序员,同时你极端地固执。但肯定有一些事情除外。我是说,你已经改变了未来。你一定有能力看到那些未来的宏伟蓝图。你是一个有远见的人,对吗?
16:52 LT: 实际上,在TED的最近两天,我感觉略有不适,因为这里有很多眼睛盯着你,不是吗?其实我不是一个有远见的人。我甚至没有一个5年计划。我是一名工程师。并且我觉得它真的——我是说——我非常开心和所有人一起,盯着云彩和星星,说,“我想要去那儿。” 但是我看了看地面,我只想去修复那些坑,它们就在我眼前,我快要掉下去了。我就是这样的人。
17:21(欢呼)
17:22(鼓掌)
话题六:评论特斯拉和爱迪生
17:24 CA: 上周我们谈到的两个家伙。你如何评价他们?
17:31 LT: 好的,其实这是科技界的老段子,对比特斯拉和爱迪生,特斯拉是有远见的科学家、有疯狂创意的人。人们爱特斯拉。我是说,特别那些以特斯拉冠名公司的人们。
17:47 (满堂欢笑)
17:50 另外一个人是爱迪生,是一个常常被批评为乏味的人,并且——我的意思是,他最有名的格言,“天才等于百分之一的灵感加上百分之九十九的汗水。” 而且我是属于爱迪生阵营的,尽管人们不是一贯都喜欢他。因为如果你的确对比这两个人,特斯拉在那个时代抓住了一些创意,但是,是谁实际上改变了这个世界? 爱迪生也许不是一个很好的人,他做过一系列事情——他也许没有那么高智商,也不够有远见。但是我想我更像爱迪生而不是特斯拉。
18:36
CA: 我们TED本周的主题是梦想——宏伟的,醒目的,大胆的梦想。你还真是这些梦想的解毒药。(药不能停啊,哈哈)
18:42 LT: 我正在试图给这些梦想降降温,是的。
18:44 CA: 非常好。
18:45 (满堂欢笑) 我们热烈欢迎你,热烈欢迎你。
话题七:开源&商业&未来
18:50 类似Google和许多其它一些公司,利用你的软件,据估算,大概赚了 10亿美元。这惹你生气了吗?
18:56 LT: 不。不,它没有惹我生气,有几个原因。其中之一是,我干得很好。我真的干得很好。
19:03 但是其它原因是——我是说,如果没有全力投入到开源,并且真得放开手,Linux永远也不可能是现在的样子。并且它带来的一些经历我真的不喜欢,如公众谈话,但是与此同时,这也是一种经验。相信我。因此,有一系列事情的发生是我保持快乐,我想我做出了正确的选择。
19:29 CA: 开源的理念——就是这些——现在开源的理念在全世界都充分发挥作用了吗,或者说它还可以做得更多,还有哪些事是可以做的?
19:43 LT: 关于这方面,我有两个想法。时至今日,开源机制能够运转良好,其中一个缘故是代码可以将所有的事情都转化为黑和白。通常这样利于作出决定,这样做是正确地,这样做是不好的。代码要么执行,要么不执行,因此意味着更少的争议空间。尽管我们有许多争议,对吗?在很多其它领域——我是说,人们讨论的关于开明政治之类的事情——有时就很难说得这么简单,是的,你也能将同样的原则应用到其它领域的一些地方,因为黑色和白色一起不只是变成灰色,而是很多不同的颜色。
20:35 很显然,开源理念在科学领域已经掀起一场复古运动。科学一开始就是这样的。但是后来科学变得非常封闭,伴随着非常昂贵的期刊以及其它一些东西。但是开源理念在科学领域掀起了一场复古运动,比如arXiv和open journals(开放、自由的学术成果发布平台)。Wikipedia 也改变了这个世界。还有其它的很多案例,我相信将来还会有更多。
21:04 CA:但是你不是一个有远见的人,所以还轮不到你来给它们命名。
21:08 LT: 不是的。
21:09 (满堂欢笑)
21:10 该轮到你们来创造它,对吗?
21:12 CA: 的确如此
21:13 Linus Torvalds, 感谢你对 Linux ,对互联网的贡献,感谢你对Android的贡献。
21:19 感谢你来到TED ,感谢你的坦率,感谢你的真诚。
21:22 LT: 谢谢。
21:23 (鼓掌)
Linus Torvalds: The mind behind Linux
Filmed February 2016 at TED2016
0:12
Chris Anderson: This is such a strange thing. Your software, Linux, is in millions of computers, it probably powers much of the Internet. And I think that there are, like, a billion and a half active Android devices out there. Your software is in every single one of them. It's kind of amazing. You must have some amazing software headquarters driving all this. That's what I thought -- and I was shocked when I saw a picture of it. I mean, this is -- this is the Linux world headquarters.
0:42
(Laughter)
0:44
(Applause)
0:48
Linus Torvalds: It really doesn't look like much. And I have to say, the most interesting part in this picture, that people mostly react to, is the walking desk. It is the most interesting part in my office and I'm not actually using it anymore. And I think the two things are related.
1:08
The way I work is ... I want to not have external stimulation. You can kind of see, on the walls are this light green. I'm told that at mental institutions they use that on the walls.
1:26
(Laughter)
1:28
It's like a calming color, it's not something that really stimulates you.
1:34
What you can't see is the computer here, you only see the screen, but the main thing I worry about in my computer is -- it doesn't have to be big and powerful, although I like that -- it really has to be completely silent. I know people who work for Google and they have their own small data center at home, and I don't do that. My office is the most boring office you'll ever see. And I sit there alone in the quiet. If the cat comes up, it sits in my lap. And I want to hear the cat purring, not the sound of the fans in the computer.
2:12
CA: So this is astonishing, because working this way, you're able to run this vast technology empire -- it is an empire -- so that's an amazing testament to the power of open source.
2:24
Tell us how you got to understand open source and how it lead to the development of Linux.
2:32
LT: I mean, I still work alone. Really -- I work alone in my house, often in my bathrobe. When a photographer shows up, I dress up, so I have clothes on.
2:42
(Laughter)
2:44
And that's how I've always worked. I mean, this was how I started Linux, too. I did not start Linux as a collaborative project. I started it as one in a series of many projects I had done at the time for myself, partly because I needed the end result, but even more because I just enjoyed programming. So it was about the end of the journey, which, 25 years later, we still have not reached. But it was really about the fact that I was looking for a project on my own and there was no open source, really, on my radar at all.
3:20
And what happened is ... the project grows and becomes something you want to show off to people. Really, this is more of a, "Wow, look at what I did!" And trust me -- it was not that great back then. I made it publicly available, and it wasn't even open source at that point. At that point it was source that was open, but there was no intention behind using the kind of open-source methodology that we think of today to improve it. It was more like, "Look, I've been working on this for half a year, I'd love to have comments."
3:59
And other people approached me. At the University of Helsinki, I had a friend who was one of the open source -- it was called mainly "free software" back then -- and he actually introduced me to the notion that, hey, you can use these open-source licenses that had been around. And I thought about it for a while. I was actually worried about the whole commercial interests coming in. I mean, that's one of the worries I think most people who start out have, is that they worry about somebody taking advantage of their work, right? And I decided, "What the hell?" And --
4:43
CA: And then at some point, someone contributed some code that you thought, "Wow, that really is interesting, I would not have thought of that. This could actually improve this."
4:52
LT: It didn't even start by people contributing code, it was more that people started contributing ideas. And just the fact that somebody else takes a look at your project -- and I'm sure it's true of other things, too, but it's definitely true in code -- is that somebody else takes an interest in your code, looks at it enough to actually give you feedback and give you ideas. That was a huge thing for me.
5:16
I was 21 at the time, so I was young, but I had already programmed for half my life, basically. And every project before that had been completely personal and it was a revelation when people just started commenting, started giving feedback on your code. And even before they started giving code back, that was, I think, one of the big moments where I said, "I love other people!" Don't get me wrong -- I'm actually not a people person.
5:45
(Laughter)
5:48
I don't really love other people --
5:51
(Laughter)
5:52
But I love computers, I love interacting with other people on email, because it kind of gives you that buffer. But I do love other people who comment and get involved in my project. And it made it so much more.
6:08
CA: So was there a moment when you saw what was being built and it suddenly started taking off, and you thought, "Wait a sec, this actually could be something huge, not just a personal project that I'm getting nice feedback on, but a kind of explosive development in the whole technology world"?
6:24
LT: Not really. I mean, the big point for me, really, was not when it was becoming huge, it was when it was becoming little. The big point for me was not being alone and having 10, maybe 100 people being involved -- that was a big point. Then everything else was very gradual. Going from 100 people to a million people is not a big deal -- to me. Well, I mean, maybe it is if you're --
6:50
(Laughter)
6:51
If you want to sell your result then it's a huge deal -- don't get me wrong. But if you're interested in the technology and you're interested in the project, the big part was getting the community. Then the community grew gradually. And there's actually not a single point where I went like, "Wow, that just took off!" because it -- I mean -- it took a long time, relatively.
7:12
CA: So all the technologists that I talk to really credit you with massively changing their work. And it's not just Linux, it's this thing called Git, which is this management system for software development. Tell us briefly about that and your role in that.
7:29
LT: So one of the issues we had, and this took a while to start to appear, is when you ... When you grow from having 10 people or 100 people working on a project to having 10,000 people, which -- I mean, right now we're in the situation where just on the kernel, we have 1,000 people involved in every single release and that's every two months, roughly two or three months. Some of those people don't do a lot. There's a lot of people who make small, small changes.
8:00
But to maintain this, the scale changes how you have to maintain it. And we went through a lot of pain. And there are whole projects that do only source-code maintenance. CVS is the one that used to be the most commonly used, and I hated CVS with a passion and refused to touch it and tried something else that was radical and interesting and everybody else hated.
8:30
CA: (Laughs)
8:31
LT: And we were in this bad spot, where we had thousands of people who wanted to participate, but in many ways, I was the kind of break point, where I could not scale to the point where I could work with thousands of people.
8:46
So Git is my second big project, which was only created for me to maintain my first big project. And this is literally how I work. I don't code for -- well, I do code for fun -- but I want to code for something meaningful so every single project I've ever done has been something I needed and --
9:08
CA: So really, both Linux and Git kind of arose almost as an unintended consequence of your desire not to have to work with too many people.
9:17
LT: Absolutely. Yes.
9:18
(Laughter)
9:19
CA: That's amazing. LT: Yeah.
9:21
(Applause)
9:22
And yet, you're the man who's transformed technology not just once but twice, and we have to try and understand why it is. You've given us some clues, but ... Here's a picture of you as a kid, with a Rubik's Cube. You mentioned that you've been programming since you were like 10 or 11, half your life.
9:42
Were you this sort of computer genius, you know, übernerd, were you the star at school who could do everything? What were you like as a kid?
9:51
LT: Yeah, I think I was the prototypical nerd. I mean, I was ... I was not a people person back then. That's my younger brother. I was clearly more interested in the Rubik's Cube than my younger brother.
10:05
(Laughter)
10:06
My younger sister, who's not in the picture, when we had family meetings -- and it's not a huge family, but I have, like, a couple of cousins -- she would prep me beforehand. Like, before I stepped into the room she would say, "OK. That's so-and-so ..." Because I was not -- I was a geek. I was into computers, I was into math, I was into physics. I was good at that. I don't think I was particularly exceptional. Apparently, my sister said that my biggest exceptional quality was that I would not let go.
10:46
CA: OK, so let's go there, because that's interesting. You would not let go. So that's not about being a geek and being smart, that's about being ... stubborn?
10:56
LT: That's about being stubborn. That's about, like, just starting something and not saying, "OK, I'm done, let's do something else -- Look: shiny!"
11:09
And I notice that in many other parts in my life, too. I lived in Silicon Valley for seven years. And I worked for the same company, in Silicon Valley, for the whole time. That is unheard of. That's not how Silicon Valley works. The whole point of Silicon Valley is that people jump between jobs to kind of mix up the pot. And that's not the kind of person I am.
11:36
CA: But during the actual development of Linux itself, that stubbornness sometimes brought you in conflict with other people. Talk about that a bit. Was that essential to sort of maintain the quality of what was being built? How would you describe what happened?
11:53
LT: I don't know if it's essential. Going back to the "I'm not a people person," -- sometimes I'm also ... shall we say, "myopic" when it comes to other people's feelings, and that sometimes makes you say things that hurt other people. And I'm not proud of that.
12:17
(Applause)
12:18
But, at the same time, it's -- I get people who tell me that I should be nice. And then when I try to explain to them that maybe you're nice, maybe you should be more aggressive, they see that as me being not nice.
12:37
(Laughter)
12:39
What I'm trying to say is we are different. I'm not a people person; it's not something I'm particularly proud of, but it's part of me. And one of the things I really like about open source is it really allows different people to work together. We don't have to like each other -- and sometimes we really don't like each other. Really -- I mean, there are very, very heated arguments. But you can, actually, you can find things that -- you don't even agree to disagree, it's just that you're interested in really different things.
13:12
And coming back to the point where I said earlier that I was afraid of commercial people taking advantage of your work, it turned out, and very quickly turned out, that those commercial people were lovely, lovely people. And they did all the things that I was not at all interested in doing, and they had completely different goals. And they used open source in ways that I just did not want to go. But because it was open source they could do it, and it actually works really beautifully together.
13:41
And I actually think it works the same way. You need to have the people-people, the communicators, the warm and friendly people who like --
13:49
(Laughter)
13:51
really want to hug you and get you into the community. But that's not everybody. And that's not me. I care about the technology. There are people who care about the UI. I can't do UI to save my life. I mean, if I was stranded on an island and the only way to get off that island was the make a pretty UI, I'd die there.
14:11
(Laughter)
14:12
So there's different kinds of people, and I'm not making excuses, I'm trying to explain.
14:17
CA: Now, when we talked last week, you talked about some other trait that you have, which I found really interesting. It's this idea called taste.
14:24
And I've just got a couple of images here. I think this is an example of not particularly good taste in code, and this one is better taste, which one can immediately see. What is the difference between these two?
14:39
LT: So this is -- How many people here actually have coded?
14:44
CA: Oh my goodness.
14:46
LT: So I guarantee you, everybody who raised their hand, they have done what's called a singly-linked list. And it's taught -- This, the first not very good taste approach, is basically how it's taught to be done when you start out coding. And you don't have to understand the code.
15:03
The most interesting part to me is the last if statement. Because what happens in a singly-linked list -- this is trying to remove an existing entry from a list -- and there's a difference between if it's the first entry or whether it's an entry in the middle. Because if it's the first entry, you have to change the pointer to the first entry. If it's in the middle, you have to change the pointer of a previous entry. So they're two completely different cases.
15:32
CA: And that's better.
15:33
LT: And this is better. It does not have the if statement. And it doesn't really matter -- I don't want you understand why it doesn't have the if statement, but I want you to understand that sometimes you can see a problem in a different way and rewrite it so that a special case goes away and becomes the normal case. And that's good code. But this is simple code. This is CS 101. This is not important -- although, details are important.
16:00
To me, the sign of people I really want to work with is that they have good taste, which is how ... I sent you this stupid example that is not relevant because it's too small. Good taste is much bigger than this. Good taste is about really seeing the big patterns and kind of instinctively knowing what's the right way to do things.
16:23
CA: OK, so we're putting the pieces together here now. You have taste, in a way that's meaningful to software people. You're --
16:32
(Laughter)
16:34
LT: I think it was meaningful to some people here.
16:38
CA: You're a very smart computer coder, and you're hellish stubborn. But there must be something else. I mean, you've changed the future. You must have the ability of these grand visions of the future. You're a visionary, right?
16:52
LT: I've actually felt slightly uncomfortable at TED for the last two days, because there's a lot of vision going on, right? And I am not a visionary. I do not have a five-year plan. I'm an engineer. And I think it's really -- I mean -- I'm perfectly happy with all the people who are walking around and just staring at the clouds and looking at the stars and saying, "I want to go there." But I'm looking at the ground, and I want to fix the pothole that's right in front of me before I fall in. This is the kind of person I am.
17:21
(Cheers)
17:22
(Applause)
17:24
CA: So you spoke to me last week about these two guys. Who are they and how do you relate to them?
17:31
LT: Well, so this is kind of cliché in technology, the whole Tesla versus Edison, where Tesla is seen as the visionary scientist and crazy idea man. And people love Tesla. I mean, there are people who name their companies after him.
17:47
(Laughter)
17:50
The other person there is Edison, who is actually often vilified for being kind of pedestrian and is -- I mean, his most famous quote is, "Genius is one percent inspiration and 99 percent perspiration." And I'm in the Edison camp, even if people don't always like him. Because if you actually compare the two, Tesla has kind of this mind grab these days, but who actually changed the world? Edison may not have been a nice person, he did a lot of things -- he was maybe not so intellectual, not so visionary. But I think I'm more of an Edison than a Tesla.
18:36
CA: So our theme at TED this week is dreams -- big, bold, audacious dreams. You're really the antidote to that.
18:42
LT: I'm trying to dial it down a bit, yes.
18:44
CA: That's good.
18:45
(Laughter) We embrace you, we embrace you.
18:50
Companies like Google and many others have made, arguably, like, billions of dollars out of your software. Does that piss you off?
18:56
LT: No. No, it doesn't piss me off for several reasons. And one of them is, I'm doing fine. I'm really doing fine.
19:03
But the other reason is -- I mean, without doing the whole open source and really letting go thing, Linux would never have been what it is. And it's brought experiences I don't really enjoy, public talking, but at the same time, this is an experience. Trust me. So there's a lot of things going on that make me a very happy man and thinking I did the right choices.
19:29
CA: Is the open source idea -- this is, I think we'll end here -- is the open source idea fully realized now in the world, or is there more that it could go, are there more things that it could do?
19:43
LT: So, I'm of two minds there. I think one reason open source works so well in code is that at the end of the day, code tends to be somewhat black and white. There's often a fairly good way to decide, this is done correctly and this is not done well. Code either works or it doesn't, which means that there's less room for arguments. And we have arguments despite this, right? In many other areas -- I mean, people have talked about open politics and things like that -- and it's really hard sometimes to say that, yes, you can apply the same principles in some other areas just because the black and white turns into not just gray, but different colors.
20:35
So, obviously open source in science is making a comeback. Science was there first. But then science ended up being pretty closed, with very expensive journals and some of that going on. And open source is making a comeback in science, with things like arXiv and open journals. Wikipedia changed the world, too. So there are other examples, I'm sure there are more to come.
21:04
CA: But you're not a visionary, and so it's not up to you to name them.
21:08
LT: No.
21:09
(Laughter)
21:10
It's up to you guys to make them, right?
21:12
CA: Exactly.
21:13
Linus Torvalds, thank you for Linux, thank you for the Internet, thank you for all those Android phones.
21:19
Thank you for coming here to TED and revealing so much of yourself.
21:22
LT: Thank you.
21:23
(Applause)
表情包