加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

听Linux之父Linus Torvalds谈谈Linux和他的故事

译者简介:

严睿

严睿(@RiboseYim)

工程师。开源粉、深度阅读患者。

目前就职于中盈优创,从事运营商网络系统项目技术运营,致力于高可用架构改进、DevOps团队建设。

Linux之父Linus Torvalds

2016年2月 TED Talk , Linux之父Linus Torvalds.

呆萌娇羞至尊宝,火力全开段子手。

TED官方没有提供中文字幕,忍不住翻译出来,Just for fun!

开场:神之总部

(主持人)Chris Anderson:
这是一件多么奇怪的事情。你的软件-Linux,运行在许多计算机上,它可能控制了大部分互联网,还不包括15亿部活跃的Android设备。

你的软件运行在所有这些设备上面,某种程度上说真是不可思议。你一定有惊人的软件总部来控制它们。当我看到这张照片的时候,我惊呆了。这就是Linux的全球总部吗?

Linux

God’s bedroom and office

Linus Torvalds: 它看起来真的不怎么酷。不得不说,这张照片最有趣的部分,人们最容易关注的部分,是那个走步机。它是我的办公室最有趣的部分,而且我实际上从来不用它。我相信这两件事是有联系的。

我工作的方式,我不想有任何外部的刺激。你可以看到,墙上的颜色是浅绿色。我听说,精神病院的墙上也用这些颜色。在某种程度上,它们宁静、温和,不会刺激你。

那些你不能看到的东西是计算机,图上你只能看到显示屏,关于我的计算机,我主要担心的是—它的体型和功率都不够大,尽管我希望那样,但它必须保持绝对安静。

据我所知,有些为Google工作的人,在家里就拥有自己的小型数据中心,我不这样做。

我的办公室应该是你见过最乏味的。我独自呆在一片宁静之中。如果猫走进来,它会坐在我的大腿上。我希望能听到猫的呼噜声,而不是计算机的风扇声。

CA: 所以基于这样的工作方式,你能够运营如此庞大的技术帝国,它是一个帝国,这就是一个惊人的证明,关于开源的力量。

话题一:Linux

跟我们说说你是怎么理解开源 ? 开源是怎样引导Linux开发的?

LT: 我的意思是说,我依然一个人工作。真的——我一个人在我的家里,通常是穿着睡衣。当摄影师出现时,我得打扮,然后换上衣服。

其实这就是我过去工作时的情况。我的意思是说,我开启Linux的时候也是这样的。我开启Linux的时候,它并不是一个团队合作的项目。

它只是作为众多的、为我自己服务的一系列项目之一,在一定程度上是因为我需要最终成果,但是更多的原因在于我只是喜欢编程而已。所以它的目标,25年之后,我们依然没有到达。

事实上,我只是为自己在寻找一个项目,这里无关开源,事实上,我完全没有这个目标。

接下来发生的事……项目成长起来,变成了某些你希望向人们炫耀的事情。事实上,比这还要复杂,“哦,快来看我做了什么!” 请相信我——它当时并没有那么美好。

在那个阶段,它的源码是开放的,但是背后没有使用一种开源方法,类似于我们今天改进项目的手段。它更类似于,“看呐,我已经在上面工作半年了,我希望能收到一些反馈意见。”

这时另外一些人开始跟我接洽。在赫尔辛基大学,我有一个朋友,来自开源的一个分支——它后来被称为“自由软件”——确切的说,他介绍了一种概念给我:你能使用流行的开源许可证

对此,我想了一会儿。我确实对商业的因素参与进来感到担忧。我的意思是说,当人们开始参与的时候,这是一个值得忧虑的事情,他们担心一些人趁机捣乱,影响他们的工作,不是吗?

CA:与此同时,正如你所想的那样,有些人贡献了一些代码,“噢,这太有趣了,我从来没有想过可以这样。竟然真的可以让项目获得改进。”

Linux

操作系统简谱

21岁的Linus在Minux上写出了Linux的0.1版,一系列商业公司在开源项目的基础上赚了大钱。

LT: 开始的时候,人们并不是贡献代码,人们更多的是贡献想法。

事实上,有一些人只是看了一眼你的项目,并且我敢肯定别的一些事也是如此,但是关于代码部分,很显然,有一些人会对你的代码感兴趣,到一定程度上就会给你反馈信息,给你提出自己的想法。对我来说这一点至关重要。

那时我21岁,我很年轻,但是我已经用一半的人生来编程了。

在此之前完成的每一个项目都是出于个人目的,这完全出乎我的意料。当人们开始评论、对你的代码提供反馈信息的时候,甚至于他们已经开始反馈代码,那时我想,作为最重大时刻之一,我会说,“我爱这帮人!”。

千万别误会,我真不是一个擅长社交的人。我不是真的爱某些人—

但我爱计算机,我喜欢和其他人通过电子邮件交流,因为这种方法可以为你提供某种缓冲。但是我也喜欢那些发表评论、在我的项目中获益的人。Linux项目使得这些事数不胜数。

所以是否有一个时刻,在项目构建过程中你发现,它突然开始失控了,这时你想:

稍等下,实际上这可能关系重大,不仅仅是作为个人项目获得好的反馈,而是在整个技术世界出现一种爆炸式的发展?

事实并非如此。我是说,对我来说这不是一个大问题,真正的大问题不是说Linux变得庞大,而是它变小了。对我来说,项目变得庞大意味着不只是我一个人,而是10个,或者100个人参与进来,那确实变大了。

然后所有的其它事情都变得缓慢了。从100人发展到一百万人并不是一笔大买卖,对我来说。如果你希望出售你的成果,它就是一笔大买卖。

如果你只是对技术感兴趣,对这个项目感兴趣,大部分的工作其实是发展社区。当社区逐渐成长起来,就不像只有我一个人的时候了,相对而言,发展社区需要很长的时间

话题二:Git

CA: 我访谈过的所有技术专家们,无一例外都极力赞扬你,你改变了他们的工作方式。不仅仅是Linux,还有Git,用于软件开发的管理系统。简单跟我们谈谈Git,你在这个项目里的角色是怎样的。

Git

Git协作模式

LT:我们曾经遇到的问题之一就是,刚开始的时候,当你的项目的参与人数从10个或者100个增长到10,000个的时候。

我的意思是,我们刚刚在内核项目上就遇到了这种情况,每一个单独的发行版本都有1000人参与,每两、三个月就要发布更新。他们中的许多人并不需要做很多工作。许多人只是做了非常、非常小的变更。

Git

版本控制系统演进

但是为了维持这个过程,你不得不维护大规模的变更。我们经历了一个非常痛苦的过程。而且这还只是整个项目源代码维护的部分。

CVS曾经是用来管理代码最通用的工具之一,我非常讨厌CVS,并且拒绝使用它,每一个体验过其它纯粹、有趣工具的人都讨厌它。

LT:我们曾经身处困境之中,当时有成千上万的人希望参与到项目里面来,但是在很多情况下,我自己就是临界点,有了Git之后我就可以突破这个临界点,我可以和成千上万的人一起工作。

所以 Git 是我的第二个大项目,而它只是被创造用来服务我自己维护的第一个大项目。我其实就是这样工作的。

我编程只是为了有趣,我希望能为一些有意义的事编程,我完成的每一个项目,在某种程度上说,都是我所需要的。

CA: 实际上,Linux 和 Git 这类东西的出现只是一个意外结果,你其实并没有希望它们能为这么多人服务。

LT: 当然。是的。

CA: 这很惊人。

LT: 是的。

话题三:忆童年

CA:到目前为止,作为曾经改变技术世界的人,你已经做到了不止一次而是两次,我们试图理解你什么能够做到这一点。你给我们提供了一些线索,但是……这里有一张你小时候的照片,拿着一个魔方。

你曾提到说,在只有10或11岁的时候,你已经成为程序员,相当于你人生的一半。

linux

魔方少年

你是那种计算机天才吗?正如你所知,übernerd,你是学校里的全能明星吗?你小时候是什么样的?

LT: 呃,我想我属于那种典型的书呆子。我的意思是,我那时不是一个喜欢社交的人。那是比我小的兄弟。我可以肯定地说,那时我对魔方的兴趣比对小兄弟大。

我更小的妹妹,没有在这张照片上,当我们召开家庭会议的时候,那不是一个庞大的家庭,但是我有几个兄弟姐妹,她会提前完成家庭作业。例如,当我进入房间之前她会说,“好吧。那是so-and-so …”

我是一个极客。我沉浸在计算机,数学,物理学,我擅长这些。我不认为自己是故意为了显得与众不同。但是,我妹妹说过,我最大的异常特征是我从不参与众人的行动。

CA:好吧,那我们就来讨论这点,因为这很有趣。你不从众。所以这不是关乎成为一个极客,也不关乎成为一个聪明人,这是关于固执?

LT: 那确实关于固执,就像,开始做某些事情的时候,并不会说,“好吧,让我们来做些别的事——看,当当当当!”

我想在我人生中的其它部分也是如此。我曾经在硅谷生活了7年多。在硅谷,我为同一家公司全职工作。这是难以置信的。这不是硅谷的工作方式。硅谷的共识是人们需要在不同的职位上跳来跳去。但那不是我这种人的风格。

CA:但是实际在Linux的开发过程中,固执的性格有时也会让你和其他人的关系陷入紧张状态。谈谈这点吧。这是维持构建质量的必要因素吗?你是如何来判断事态发展的?

LT:我不确认它是否完全必要。回到刚才说到的“我不是一个善于社交的人”,有时“我的浅薄”会影响其他人的感受,就像你刚才所说的情况会伤害其他人。并且,我并不以此为荣。

但是,与此同时,有些人告诉我说我应该更友好一些。然后我试图向他们解释说,也许你们是友好的,也许你应该更好斗些,他们和我一样变得不友好了。

我试图表达的想法是我们每一个人都是不一样的。我不是一个社交达人;这不是我特别为之自豪的事情,但这是我的一部分。并且我真心觉得,开源的理念之一就是非常鼓励不同的人一起合作。

我们不见得需要互相喜欢对方,并且有时我们真心互相瞧不上。我们经常会有非常、非常热烈的争论。但是你能够,事实也确是如此,你会发现——你不必特意消除分歧,这只是因为你们感兴趣的事情不同罢了。

回到我早期说过的观点:我担心商业人士会利用你的工作成果,它已经发生,那些商业人士是非常、非常可爱的人。

他们完成了我完全不感兴趣的事情,他们完全是基于不同的目标。他们使用开源的方式只是我刚好不想走的路。但是因为项目是开源的,所以商业人士可以那样做,这实际上使得大家可以完美并存。

事实上,我认为它们的工作方式相同。你需要有善于和人沟通的交流者,像那些热情和友善的人。

我真想把你拉进开源社区。但不是每个人都做得到,那样就不是我了。我关心技术,也有些人关心图形界面。我不会去做图形界面来拯救我的人生。

我是说,如果我被困在岛屿上,同时唯一的脱困方式是做一个漂亮的图形界面,那我肯定会死在那儿的。

需要有不同风格的人,我也不是为了找借口,我只是尝试做一些解释。

话题四:论品味

CA: 当我们上周交流的时候,你谈到自己有一些别的特质,有些我发现真的非常有趣。你管它叫品味。

我这里刚刚拿到一些图片。我想这是一个例子,关于在代码领域缺乏好的品位,这个品位更好,那个能立刻看出来。这两个代码之间有什么区别?

代码 程序员

LT: 这里有多少人真的写过代码?

CA: 天哪!

LT: 我向你说明一下,每一个举起手的人,已经完成的动作,我们称之为单向链表。它的调用——这里,第一种方式不代表好的品位,当你开始编程的时候,完成动作是基于它被告知如何做。而且,你不得不去理解这段代码。

对我来说最有趣的部分是最后的if语句。因为发生的事情在一个单向链表里面——这是试图从列表里移除一个已经存在的实体,第一个或者中间的实体,这里是不同的。

因为如果它是第一个实体,你不得不将指针移到第一个。如果它在中间,你不得不将指针移动到它的前一个实体。所以它们是两种完全不同的情况。

CA: 所以哪个更好?

LT: 这个更好。它没有这个if语句。其实它不是真的很要紧,我不期望你能理解为什么它没有这个if语句,但是我希望你能理解,当碰到一个问题,通过不同的方式可以被重写,以至于一个特殊的情形被移除,然后变成了一个常规的的情形。

这就是好的代码,但这是简单的代码。这是CS 101。这些不是重点,虽然,细节非常重要。

对我而言,我真正希望能在一起工作的人,他们的标志是有好的品位,怎么说呢。。。我举这个其实不相关的例子。

好的品位要比这些范围大得多。好的品位是真的能看见大格局,并且本能地知道最佳实现方式。

CA: 好的,所以我们把这些卡片都放在一起。你有品位,在某种程度上,这对于软件界人士意义深刻。

LT: 我想它对这里的一些人意义深刻。

话题五:论远见

CA: 你是一个非常聪明的计算机程序员,同时你极端地固执。但肯定有一些事情除外。我是说,你已经改变了未来。你一定有能力看到那些未来的宏伟蓝图。你是一个有远见的人,对吗?

LT: 实际上,在TED的最近两天,我感觉略有不适,因为这里有很多眼睛盯着你,不是吗?其实我不是一个有远见的人。我甚至没有一个5年计划。我是一名工程师。

并且我觉得它真的,我是说——我非常开心和所有人一起,盯着云彩和星星,说,“我想要去那儿。”

但是我看了看地面,我只想去修复那些坑,它们就在我眼前,我快要掉下去了。我就是这样的人。

话题六:评论特斯拉和爱迪生

CA: 上周我们谈到的两个家伙。你如何评价他们?

LT: 好的,其实这是科技界的老段子,对比特斯拉和爱迪生,特斯拉是有远见的科学家、有疯狂创意的人。人们爱特斯拉。我是说,特别那些以特斯拉冠名公司的人们。

另外一个人是爱迪生,是一个常常被批评为乏味的人,并且我的意思是,他最有名的格言:

天才等于百分之一的灵感加上百分之九十九的汗水

而且我是属于爱迪生阵营的,尽管人们不是一贯都喜欢他。因为如果你的确对比这两个人,特斯拉在那个时代抓住了一些创意,但是,是谁实际上改变了这个世界?

爱迪生也许不是一个很好的人,他做过一系列事情,他也许没有那么高智商,也不够有远见。但是我想我更像爱迪生而不是特斯拉。

CA: 我们TED本周的主题是梦想——宏伟的,醒目的,大胆的梦想。你还真是这些梦想的解毒药。(药不能停啊,哈哈)

LT: 我正在试图给这些梦想降降温,是的。

CA: 非常好。

(满堂欢笑) 我们热烈欢迎你,热烈欢迎你。

话题七:开源&商业&未来

类似Google和许多其它一些公司,利用你的软件,据估算,大概赚了 10亿美元。这惹你生气了吗?

LT: 不。不,它没有惹我生气,有几个原因。其中之一是,我干得很好。我真的干得很好。

但是其它原因是——我是说,如果没有全力投入到开源,并且真得放开手,Linux永远也不可能是现在的样子。并且它带来的一些经历我真的不喜欢,如公众谈话,但是与此同时,这也是一种经验。相信我。

因此,有一系列事情的发生使我保持快乐,我想我做出了正确的选择。

CA: 开源的理念——就是这些——现在开源的理念在全世界都充分发挥作用了吗,或者说它还可以做得更多,还有哪些事是可以做的?

LT: 关于这方面,我有两个想法。时至今日,开源机制能够运转良好,其中一个缘故是代码可以将所有的事情都转化为黑和白。通常这样利于作出决定,这样做是正确地,这样做是不好的。

代码要么执行,要么不执行,因此意味着更少的争议空间。尽管我们有许多争议,对吗?

在很多其它领域,人们讨论的关于开明政治之类的事情——有时就很难说得这么简单,是的,你也能将同样的原则应用到其它领域的一些地方,因为黑色和白色一起不只是变成灰色,而是很多不同的颜色。

很显然,开源理念在科学领域已经掀起一场复古运动。科学一开始就是这样的。但是后来科学变得非常封闭,伴随着非常昂贵的期刊以及其它一些东西。

但是开源理念在科学领域掀起了一场复古运动,比如arXiv和open journals(开放、自由的学术成果发布平台)。Wikipedia 也改变了这个世界。还有其它的很多案例,我相信将来还会有更多。

CA:但是你不是一个有远见的人,所以还轮不到你来给它们命名。

LT: 不是的。

该轮到你们来创造它,对吗?

CA: 的确如此

Linus Torvalds, 感谢你对 Linux ,对互联网的贡献,感谢你对Android 手机的贡献。感谢你来到TED ,感谢你的坦率,感谢你的真诚。

LT: 谢谢。

软件 linux linux linux linux linux linux

文章出处:高效运维

转载请注明:运维派 » 听Linux之父Linus Torvalds谈谈Linux和他的故事

3
3.5k
0