The mind behind Linux Linus Torvalds

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.

(Laughter)

(Applause)

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.

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.

(Laughter)

It’s like a calming color,

it’s not something
that really stimulates you.

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.

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.

Tell us how you got
to understand open source

and how it lead
to the development of Linux.

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.

(Laughter)

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.

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.”

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 –

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.”

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.

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.

(Laughter)

I don’t really love other people –

(Laughter)

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.

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”?

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 –

(Laughter)

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.

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.

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.

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.

CA: (Laughs)

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.

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 –

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.

LT: Absolutely. Yes.

(Laughter)

CA: That’s amazing.
LT: Yeah.

(Applause)

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.

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?

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.

(Laughter)

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.

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?

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!”

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.

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?

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.

(Applause)

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.

(Laughter)

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.

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.

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 –

(Laughter)

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.

(Laughter)

So there’s different kinds of people,

and I’m not making excuses,
I’m trying to explain.

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.

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?

LT: So this is –

How many people here actually have coded?

CA: Oh my goodness.

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.

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.

CA: And that’s better.

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.

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.

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 –

(Laughter)

LT: I think it was meaningful
to some people here.

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?

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.

(Cheers)

(Applause)

CA: So you spoke to me last week
about these two guys.

Who are they and how
do you relate to them?

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.

(Laughter)

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.

CA: So our theme at TED
this week is dreams –

big, bold, audacious dreams.

You’re really the antidote to that.

LT: I’m trying to dial it down a bit, yes.

CA: That’s good.

(Laughter)

We embrace you, we embrace you.

Companies like Google and many
others have made, arguably,

like, billions of dollars
out of your software.

Does that piss you off?

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.

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.

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?

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.

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.

CA: But you’re not a visionary,

and so it’s not up to you to name them.

LT: No.

(Laughter)

It’s up to you guys to make them, right?

CA: Exactly.

Linus Torvalds,

thank you for Linux,
thank you for the Internet,

thank you for all those Android phones.

Thank you for coming here to TED
and revealing so much of yourself.

LT: Thank you.

(Applause)

克里斯安德森:这是
一件很奇怪的事情。

您的软件 Linux
存在于数百万台计算机中,

它可能为互联网的大部分提供动力。

而且我认为那里

有十亿个半活跃的
Android 设备。

您的软件在
其中的每一个中。

这有点不可思议。

你必须有一些了不起的
软件总部来推动这一切。

我就是这么想的——
当我看到它的照片时,我很震惊。

我的意思是,这是——

这是 Linux 世界总部。

(笑声)

(掌声)

Linus Torvalds:
看起来真的不是很多。

我不得不说,

这张照片中最有趣的部分

,人们最常反应的,

是步行桌。


是我办公室里最有趣的部分

,我实际上不再使用它了。

我认为这两件事是相关的。

我的工作方式是……

我不想有外部刺激。

你可以看到,
墙上是这种浅绿色。

有人告诉我,在精神病院,
他们在墙上使用它。

(笑声)

它就像一种平静的颜色,


不是真正刺激你的东西。

你看不到的是这里的电脑,
你只看到屏幕,

但我
在我的电脑中主要担心的是——

它不一定要大
而强大,虽然我喜欢那样——

它真的有 完全沉默。

我认识为谷歌工作的人

,他们在家里有自己的
小型数据中心,但

我不这样做。

我的办公室是
你见过的最无聊的办公室。

而我一个人静静地坐在那里。

如果猫出现,

它会坐在我的腿上。

我想听到猫的咕噜

声,而不是电脑里风扇的声音。

CA:所以这很令人惊讶,

因为以这种方式工作,

你能够运行这个庞大的
技术帝国——

它是一个帝国——

所以这是对
开源力量的惊人证明。

告诉我们您是
如何理解开源的

,以及它如何
导致 Linux 的发展。

LT:我的意思是,我仍然一个人工作。

真的——我一个人在家工作,

经常穿着浴袍。

当摄影师出现时,我会打扮,

所以我有衣服。

(笑声)

这就是我一直以来的工作方式。

我的意思是,这也是我开始 Linux 的方式。

我没有将 Linux
作为一个协作项目来启动。

我开始它是我当时为自己
完成的许多项目中的一个

部分原因是我需要最终结果,

但更多是因为我只是
喜欢编程。

所以这是关于旅程的终点

,25年后,
我们仍然没有到达。

但这实际上
是因为我自己在寻找一个项目,

并且根本没有开源,
真的,在我的雷达上。

发生的事情是

……项目发展壮大,成为
你想向人们炫耀的东西。

真的,这更像是“哇,
看看我做了什么!”

相信我——当时并没有
那么好。

我把它公开了,

那时它甚至还不是
开源的。

那时,它是开源的,
但并没有

打算使用
我们今天想到的那种开源方法

来改进它。

更像是,

“看,我已经
在这方面工作了半年,

我很想发表意见。”

其他人走近我。

在赫尔辛基大学,

我有一个朋友
是开源软件之一——

当时它主要被称为
“自由软件”

——他实际上向我
介绍了一个概念,嘿,

你可以使用这些开源软件
已经存在的许可证。

我想了一会儿。

我实际上很担心整个
商业利益的到来。

我的意思是,这是
我认为大多数刚开始工作的人的担忧之一

,他们担心有人
利用他们的工作,对吗?

我决定,“什么鬼?”

并且

——CA:然后在某个时候,

有人贡献了
一些你认为的代码,

“哇,这真的很有趣,
我不会想到这一点。

这实际上可以改善这一点。”

LT:它甚至不是
由人们贡献代码开始的

,更多的是人们
开始贡献想法。

其他人
看了你的项目

的事实——我相信
其他事情也是如此,

但在代码中绝对是正确的——

是其他人
对你的代码感兴趣,

看着它 足以真正
给你反馈

并给你想法。

这对我来说是件大事。

那时我才 21 岁,还很年轻,

但基本上我已经编程
了大半辈子。

在那之前的每个项目
都是完全个人的

,当人们
刚刚开始评论,

开始对你的代码提供反馈时,这是一个启示。

甚至在他们开始
回馈代码之前

,我认为那是
我说

“我爱其他人!”的重要时刻之一。

不要误会我的意思——

我实际上不是一个人。

(笑声)

我并不真正爱其他人——

(笑声)

但我喜欢电脑,

我喜欢
通过电子邮件与其他人互动,

因为它给了你缓冲。

但我确实喜欢其他评论
并参与我的项目的人。

它使它变得更多。

CA:有没有
哪一刻你看到正在建造

的东西突然开始起飞

,你想,“等一下,
这实际上可能是一件大事,

而不仅仅是
一个我得到很好反馈的个人项目 ,

而是整个科技界的一种爆发式
发展”?

LT: 不是真的。

我的意思是,对我来说,真正重要
的不是它变大的时候,

而是它变小的时候。

对我来说最重要的一点不是一个人

,而是有 10 人,也许 100
人参与其中——

这是一个重要的问题。

然后其他一切都非常渐进。

从 100 人增加到 100
万人并不是什么大不了的事——对我来说。

好吧,我的意思是,如果你是——

(笑声)

如果你想推销你的结果,
那是一笔大买卖

——别误会我的意思。

但是,如果您对技术

感兴趣并且对项目感兴趣,

那么重要的是获得社区。

然后社区逐渐壮大。

实际上
,我没有一个地方会说,

“哇,刚刚起飞!” 因为它——

我的意思是——相对来说花了很长时间。

CA:因此
,与我交谈过的所有技术专家都非常感谢

您极大地改变了他们的工作。

不仅仅是 Linux,还有一个

叫做 Git 的东西,

它是一个
用于软件开发的管理系统。

简要介绍
一下您在其中的角色。

LT:所以我们遇到的问题之一

,这需要一段时间才开始出现,

是当你……

当你从拥有 10 人
或 100 人从事项目发展

到拥有 10,000 人时,这 -

我的意思是 ,现在我们的情况是
,仅在内核上

,每个版本都有 1,000 人参与

,而且每两个月,
大约两到三个月。

其中一些人做的不多。

有很多
人会做出微小的改变。

但是为了保持这一点

,规模会改变
你必须如何维护它。

我们经历了很多痛苦。

并且有整个项目
只进行源代码维护。

CVS 是
过去最常用的一种

,我非常讨厌 CVS
,拒绝接触它,

并尝试了其他
一些激进而有趣

的东西,其他人都讨厌它。

CA:(笑)

LT:我们处于一个糟糕的境地

,我们有成千上万的
人想要参与,

但在很多方面,
我是那种突破点

,我无法扩大到我可以做到的地步

与成千上万的人一起工作。

所以 Git 是我的第二个大项目,

它只是为
我维护我的第一个大项目而创建的。

这就是我的工作方式。

我不为——

好吧,我写代码是为了好玩——

但我想
为一些有意义的事情编写代码,

所以我做过的每一个项目
都是我需要的,

而且

——CA:真的,Linux
和 Git 的出现

几乎

是您不想
与太多人一起工作的意外结果。

LT:当然。 是的。

(笑声)

CA:太棒了。
LT:是的。

(掌声

)然而,你是一个
改变技术的人,

不止一次,而是两次

,我们必须试着
去理解为什么会这样。

你给了我们一些线索,但是……

这是一张你小时候的照片,
拿着魔方。

你提到
你从 10 岁或 11 岁起就开始编程了,那是你

一半的生命。

你是那种计算机
天才吗,übernerd

,你是学校
里什么都能做的明星吗?

你小时候是什么样的?

LT:是的,我认为我
是典型的书呆子。

我的意思是,我是……

那时我不是一个人。

那是我的弟弟。

我显然

比我弟弟对魔方更感兴趣。

(笑声)

我的妹妹
,不在照片中,

当我们举行家庭会议时

—— 这不是一个大家庭,但
我有几个堂兄弟——

她会事先为我做准备。

就像,在我
走进房间之前,她会说,

“好吧。那是某某……”

因为我不是——

我是个极客。

我喜欢计算机,

我喜欢数学,

我喜欢物理。

我很擅长那个。

我不认为我
特别特别。

显然,我姐姐

说我最大的特殊品质
是我不会放手。

CA:好的,让我们去那里吧,
因为那很有趣。

你不会放手的。

所以这不是关于成为
一个极客和聪明,

而是关于……固执?

LT:那是关于固执。

这就像,

只是开始做某事,

而不是说,“好吧,我完成了,
让我们做点别的——

看:闪亮!”

我在生活的许多其他方面也注意到了这一点。

我在硅谷生活了七年。

我一直
在硅谷的同一家公司

工作。

那是闻所未闻的。

这不是硅谷的运作方式。

硅谷的全部意义
在于,人们在工作之间跳来跳去

,有点搞混了。

而我不是这样的人。

CA:但在
Linux 本身的实际开发过程中,

这种固执有时
会让你与其他人发生冲突。

稍微谈一下。

这对于维持
正在建造的东西的质量是必不可少的吗?

你会如何描述发生的事情?

LT:我不知道这是否必要。

回到“我不是
一个与人交往的人”——

有时我也……当谈到别人的感受

时,我们应该说

“短视”

吗,这有时会让你
说出伤害别人的话 .

我并不为此感到自豪。

(掌声)

但是,与此同时,

有人告诉
我我应该表现得很好。

然后当我试图向他们
解释也许你很好,

也许你应该更具侵略性时,

他们认为我不好。

(笑声)

我想说的
是我们是不同的。

我不是一个人;

这不是
我特别引以为豪的事情,

但它是我的一部分。

我真正喜欢开源的一件事

是它确实允许不同的
人一起工作。

我们不必互相喜欢

——有时我们真的
不喜欢对方。

真的 - 我的意思是,有非常
非常激烈的争论。

但实际上,
你可以找到一些东西——

你甚至不同意不同意

,只是你
对真正不同的东西感兴趣。

回到我之前

说的我害怕商业人士
利用你的工作,

事实证明,
很快就证明,

那些商业人士
是可爱的,可爱的人。

他们做了所有我根本不
感兴趣的事情

,他们的目标完全不同。

他们
以我不想去的方式使用开源。

但是因为它是
开源的,所以他们可以做到,

而且实际上可以
很好地协同工作。

我实际上认为
它的工作方式相同。

你需要有这样的人——人们
、沟通者

、热情友好的

人——

(笑声)

真的很想拥抱你
,让你融入社区。

但这不是每个人。

那不是我。

我关心技术。

有些人关心 UI。

我不能做 UI 来挽救我的生命。

我的意思是,如果我被困在一个岛上

并且离开那个岛的唯一方法
是制作一个漂亮的用户界面,

我会死在那里。

(笑声)

所以有不同类型的人

,我不是在找借口,
我是想解释。

CA:现在,当我们上周交谈时,

您谈到了
您拥有的其他一些特质

,我觉得这很有趣。

这就是所谓的味道。

我这里有几张图片。

我认为这是一个
代码品味不是特别好的例子,

而这个品味更好

,一眼就能看出来。

这两者有什么区别?

LT:所以这就是——

这里有多少人实际编码过?

CA:哦,天哪。

LT:所以我向你们保证,

所有举手的人,

他们都做了所谓
的单链表。

它是教的——

这是第一个不太
好的品味方法,

基本上是
当你开始编码时教你如何完成的。

而且您不必了解代码。

对我来说最有趣的部分

是最后一个 if 语句。

因为
在单链表中发生的事情——

这是试图
从列表中删除现有条目——

并且它是

第一个条目还是中间的条目是有区别的。

因为如果它是第一个条目,

您必须
将指针更改为第一个条目。

如果它在中间,

则必须更改
前一个条目的指针。

所以他们是两个完全不同的案例。

CA:这样更好。

LT:这更好。

它没有 if 语句。

这并不重要——

我不想让你明白
为什么它没有 if 语句,

但我想让你明白

,有时你可以
以不同的方式看到问题

并重写它,
以便特殊的 案例消失

并成为正常案例。

这是很好的代码。

但这是简单的代码。

这是 CS 101。

这并不重要——
尽管细节很重要。

对我来说,
我真正想与之共事的人的标志

是他们有很好的品味,
这就是……

我给你发了

这个不相关的愚蠢例子,
因为它太小了。

好味道比这大得多。

良好的品味是真正
看到大模式,

并本能地知道
什么是做事的正确方法。

CA:好的,所以我们现在将
这些部分放在一起。

你有品味,

在某种程度上对软件人来说是有意义的

你是——

(笑声)

LT:我认为这
对这里的一些人来说很有意义。

CA:你是一个非常聪明的计算机编码员,

而且你非常固执。

但一定有别的东西。

我的意思是,你改变了未来。

你必须
具备这些对未来的宏伟愿景的能力。

你是个有远见的人,对吧?

LT:

在过去的两天里,我在 TED 上确实有点不舒服,

因为有
很多愿景在进行,对吧?

而且我不是一个有远见的人。

我没有五年计划。

我是个工程师。

我认为这真的 -

我的意思是 - 我对
所有

四处走动
,只是盯着云层

,看着
星星说,“我想去那里”的人感到非常满意。

但我看着地面

,我想

在我跌入之前修复我面前的坑洼。

我就是这样的人。

(欢呼声)

(掌声)

CA:上周你跟我
谈到了这两个家伙。

他们是谁,
你和他们有什么关系?

LT:嗯,所以这
是技术上的陈词滥调

,整个特斯拉与爱迪生

,特斯拉被视为有远见的
科学家和疯狂的创意人。

人们喜欢特斯拉。

我的意思是,有些人以他的名字
命名他们的公司。

(笑声

) 另一个人是爱迪生,

实际上他经常
因为行人

而受到诋毁,而且——

我的意思是,他最著名的名言是,

“天才是百分之一的灵感
和百分之九十九的汗水。”

而且我在爱迪生阵营,

即使人们并不总是喜欢他。

因为如果你真的比较这两者,

特斯拉现在有这种
头脑,

但谁真正改变了世界?

爱迪生可能不是一个好人,

他做了很多事情——

他可能没有那么聪明,

没有那么有远见。

但我认为我
更像是爱迪生而不是特斯拉。

CA:所以我们本周在 TED 的主题
是梦想——

远大、大胆、大胆的梦想。

你真的是这方面的解药。

LT:是的,我试着调低一点。

CA:那很好。

(笑声)

我们拥抱你,我们拥抱你。

像谷歌和许多其他公司这样的公司
已经从你的软件中赚取

了数十亿美元

这让你生气吗?

LT:不。

不,这并没有让我生气
,有几个原因。

其中之一是,我做得很好。

我真的很好。

但另一个原因是——

我的意思是,如果没有完全
开源并真正放手,

Linux 永远不会成为现在的样子。

它带来了
我不太喜欢的体验,公开演讲,

但同时,
这是一种体验。

相信我。

所以发生了很多事情
,让我成为一个非常快乐的人,

并认为我做了正确的选择。

CA:开源的想法

——我想我们会到此结束

——开源的想法
现在是否已经在世界上完全实现了,

或者还有更多

可以做的事情,还有更多可以做的事情吗? ?

LT:所以,我有两种想法。

我认为
开源代码在代码中如此出色的一个原因

是,归根结底,

代码往往有点黑白分明。

通常有一个相当好的方法来决定,

这是正确的,
而这不是很好的。

代码要么有效,要么无效,

这意味着争论的空间更小

尽管如此,我们还是有争论,对吧?

在许多其他领域——

我的意思是,人们谈论
开放政治之类的事情——

有时真的很难

说,是的,你可以
在其他一些领域应用相同的原则,

因为黑白
变成了 不仅仅是灰色,

还有不同的颜色。

因此,显然科学领域的开源
正在卷土重来。

科学首先出现。

但后来科学最终
变得相当封闭

,期刊非常昂贵
,其中一些还在继续。

开源
正在科学领域卷土重来

,比如 arXiv 和开放期刊。

维基百科也改变了世界。

所以还有其他例子,

我相信还会有更多。

CA:但你不是一个有远见的人

,所以你不能为他们命名。

LT:不。

(笑声)

这取决于你们来制作它们,对吧?

CA:没错。

Linus Torvalds,

感谢 Linux,
感谢 Internet,

感谢所有 Android 手机。

感谢你来到 TED
并展示了你自己。

LT:谢谢。

(掌声)