TED日本語 - リーナス・トーバルズ: Linuxの背後にある精神


TED Talks(英語 日本語字幕付き動画)

TED日本語 - リーナス・トーバルズ: Linuxの背後にある精神

TED Talks

The mind behind Linux
Linus Torvalds


リーナス・トーバルズはテクノロジーを2度変革しました。インターネットを支えるLinuxカーネルで1度、そして世界中の開発者が使うソースコード管理システムのGitによってもう1度。TEDのキュレーターであるクリス・アンダーソンとのこの珍しいインタビューで、トーバルズは仕事や技術や人生に対する彼独特の考えの元になっている性格的特徴について驚くほどオープンに話しています。トーバルズは言います。「私はビジョナリーではなく、エンジニアです。歩き回って雲ばかり眺めている人々と一緒にいるのはまったく問題ありません。でも私の方は地面を見ていて、目の前にある穴をどうにかしたいと思っています ― 落っこちる前に」


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.



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.


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.


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.


I don't really love other people --


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


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.


CA: That's amazing. LT: Yeah.


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, ubernerd, 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.


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.


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.


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


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.


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


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.



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


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.


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.


(クリス・アンダーソン)奇妙な話です あなたのソフトウェアであるLinuxは 何百万というコンピュータの中にあり インターネットのかなりの部分を 動かしています さらに実際に使われている Android端末が 15億台くらいあって その1台1台にも あなたのソフトウェアが入っています これはすごいことで その開発本部ともなれば さぞ大層な施設なんだろうなと思っていたので この写真を見たときは びっくりしましたよ これが その ― Linux 世界本部なんですよね?



(リーナス・トーバルズ)大したものには 見えませんよね この写真の中で 最も興味深く 多くの人が反応する部分は あのトレッドミル・デスクです 私の仕事場で一番 興味深いものですが 私はもう使っていません この2つは関連 していると思います

私の働き方として ― 外的な刺激を なくしたいんです 壁が薄緑色なのが 分かるでしょう 精神病院で壁に使っている色だと 言われましたけど


落ち着く色です 刺激されることがありません

ここにコンピュータ本体は写ってなくて ディスプレイしかありませんが 私が自分のコンピュータについて 主に気にかけるのは そんなにパワフルでなくとも良く ― それはそれでいいんですが まったく静音である 必要があります Googleで働いている 知人がいて 彼らは自宅に小さなデータセンターを 持っていたりしますが 私はやりません 私の仕事場は およそ退屈なものです 私はそこに独り 静かに座っています 猫が入ってくると 私の膝にのります 猫が喉を鳴らすのを 聞くのはいいですが コンピュータのファンの音は 聞きたくありません

(クリス)驚きですね そのような働き方をしながら この巨大な技術の帝国 とも呼ぶべきものを 運営できる というのは オープンソースの持つ力の 見事な証明と言えるでしょう

どのようにしてオープンソースを 理解するようになり それがLinuxの開発に 繋がったのでしょうか?

(リーナス)私は今も 独りで仕事しています 独り自宅で 時にはバスローブ姿のままで あの写真では カメラマンが来たので ドレスアップしていますが ―


私はいつもそんな風に 働いてきました Linuxを始めたのもそうです Linuxは共同プロジェクトとして 始めたわけではありません 自分のためにやっていた ― 沢山のプロジェクトの 1つとして始めたものです 欲しいものを 作ろうとしてのことですが それ以上にプログラミング自体を 楽しんでいました 道のりの最後の目的地には 25年経っても まだ たどり着いていませんが 私は自分自身のための プロジェクトを探していたのであって オープンソースというのは 私の視野には入っていませんでした

そのうちに ― プロジェクトが大きくなって 人に見せたくなりました それは 「ねぇ 僕の作ったもの見てよ!」 というのに近く 当時は本当に 大したものでは ありませんでした 公開はしましたが その時点では オープンソースではありませんでした ソースは公開していても 現在のような 改良していくために オープンソース手法を取る という意図はありませんでした それはむしろ 「半年これに取り組んで きたんだけど 意見を聞かせてほしい」 というものでした

すると他の人たちが 寄ってきました ヘルシンキ大学で 当時は主に「フリーソフトウェア」 と呼ばれていた オープンソースをやっている 友人がいて 彼が教えてくれました オープンソースライセンスを使うといいよと そういうのが既にありましたから 私はしばらく 考えていました 商業的な利害が出てくることを 懸念していたんです 始めようとする人の多くが抱く 不安の1つは 自分の成果を誰かに食い物に されるんじゃないかということです 私はやることにしました 「どうとでもなれ」と そうしたら ―

(クリス)そうしたら誰かが ソースコードに寄与してくれて 「へえ 面白いな こんなの予想してなかった これで改良できるぞ」と

(リーナス)当初の貢献は ソースコードではなく むしろアイデアでした 誰かが自分のプロジェクトを 見てくれるというだけでも ― 他のことでも そうだと思いますが プログラミングではなおさら 自分のプログラムに 誰かが興味を示し フィードバックやアイデアを 返せるくらいに ちゃんと見てもらえるなんて 私にとっては 大したことだったんです

当時21歳でしたが 既に人生の半分は プログラミングをしていました それ以前のプロジェクトは 完全に個人的なもので 自分のコードにコメントや フィードバックをもらえるというのは 驚くようなことだったんです ソースコードを 受け取るようになる前に そういう 私にとって 大きな瞬間があって 「人間っていいな」 と思ったんです どうか誤解しないで 私は決して人付き合いの 良い人間なんかじゃありません


人が本当に好き というわけではありません


私はコンピュータが好きで 人とのやり取りには メールを使うのを好みます 一種のクッションに なってくれるので でも自分のプロジェクトに コメントし協力してくれる人は好きです そのおかげで ずっと大きなものになったんです

(クリス)「この瞬間」というのは あったんですか? 成長していき 軌道に乗り始めるのを目にして 「待てよ これは素敵なコメントをもらえる 個人プロジェクトというのに留まらず テクノロジーの世界全体で 爆発的に発展するような すごく大きなものに なるかもしれないぞ」という

(リーナス)ないですね 私にとって大きな変化は それが巨大なものになったときではなく 小さなものに なったときでした 独りでやっていたのが 10人とか100人という人が 関わるようになった ― それが私にとって 大きな変化でした それ以外は 徐々に起きたことで 100人から100万人というのは 大したことではありませんでした いや 大したことかも しれませんが


もし成果を売ろうと 思っていたなら 大したことでしょう しかし関心があるのが テクノロジーや プロジェクト自体であるなら コミュニティができるというのが 大きな部分で それからコミュニティが ゆっくり成長していきました 何か特定の「すごい 大成功だ!」 と思う時点が あったわけではありません 結構長い時間が かかっているわけですし

(クリス)私が話した 技術畑の人はみんな 仕事の仕方を大きく変えたと あなたのことを高く評価しています それにはLinuxばかりでなく Git というのもあります ソフトウェア開発管理のための システムです それに関して あなたの果たした役割を 教えてください

(リーナス)私たちの抱えていた問題は しばらくして 現れ始めたことですが 10人とか100人という人が プロジェクトに 取り組んでいるところから 1万人へと 成長するというのは ― 現在ではカーネルだけでも 各リリースに 千人が携わっていて それが2、3ヶ月に1度あります 多くのことを しない人もいます ごく小さな変更をする人が 沢山いるんです

そのような規模の変更を どうやってまとめたものか ― それが長らく苦痛でした ソースコード管理だけのための プロジェクトがいろいろあります CVSが最も一般的に 使われていたものでしたが 私は大嫌いで 触るのも拒否し 何か根本的に違う 面白いやり方を試みましたが みんなは嫌がっていました


協力したい人が 何千人もいるのに 私が一種の ブレークポイントになり つっかえているという まずい状況でした 何千人と一緒に 作業できるほど 私は伸縮自在では なかったんです

Gitは私にとって2番目の 大プロジェクトですが それはただ自分の最初の大プロジェクトを 維持管理するために作ったんです それが私の 仕事の仕方なんです ただ楽しみのために プログラムを 書くこともありますが 私は役に立つプログラムを 作りたいんです だから 私のプロジェクトはどれも 私自身が必要としていたものでした

(クリス)つまりLinuxにせよGitにせよ あまり多くの人と働かずに 済むようにしたいという あなたの欲求から予期せず生まれた 結果だったわけですね



(クリス)いやはや驚きです (リーナス)まったく


(クリス)あなたはテクノロジーを 1度ならず 2度まで変革したわけですが なぜそんなことが出来たのか 知りたいですね いくつか手がかりを もらいましたが ― これは子供時代のあなたの写真で ルービックキューブをやっています 10歳か11歳の頃から プログラミングをしていた ということでしたが

あなたはコンピュータの天才 というかオタクだったのか 何でもできる 学校の人気者だったのか どんな子供だったんですか?

(リーナス)典型的な オタクだったと思います 当時は ― 人付き合いの良い人間では ありませんでした あれは弟ですが 明らかに弟なんかより ルービックキューブに 関心がありました


妹の方はこの写真に 写っていませんが 親戚の集まりがあったとき そんな大家族ではなく 従兄弟が2人いたくらいですが 妹が前もって私に 心の準備をさせたものです 部屋に入る前に 「こういうわけだから・・・いい?」と なにしろ 私は技術馬鹿で コンピュータとか 数学とか 物理が好きでした 得意でしたが 飛び抜けていたとは 思いません 妹によると 私の最も非凡な点は ― 決して諦めないことだそうです

(クリス)そこをもう少し聞きましょう 面白そうだ 諦めない それは技術の達人ということでも 頭が良いということでもなく 頑固ということ なんでしょうか?

(リーナス)頑固でしょうね それはつまり 何かを始めたとき 「もういいや 何か他の イカしたものをやろう」 とはならないんです

私の人生の 他の面でもそうです 私はシリコンバレーに 7年住んでいて その間ずっと シリコンバレーの 同じ会社で働いています そんなの聞いたことがない シリコンバレーは そういう所ではありません シリコンバレーの要点は 人が職から職へと跳び回って まぜこぜになることでしょう でも私はそういうタイプの 人間ではないんです

(クリス)しかしLinuxの開発においては その頑固さが他の人との 摩擦を生じることも あったわけですね その点について伺いましょう あなたが作っているもののクオリティを維持するために それは不可欠なことなんでしょうか? あなたから見ると どういうことなんでしょう?

(リーナス)不可欠なのかは分かりません 人付き合いの良い人間でない という話に戻りますが 私は時々 ― 何というか 他人の感情に 「ド近眼」になることがあり それで他の人を傷つけるようなことを 言うこともあります その点を良いことだとは 思っていません


一方で もっと人に優しくすべきだと 言ってくる人がいるので 説明してやろうと思って 君は人に優しいのかしらんけど もっと押しが強くなった方がいいよと言うと それがイヤな奴と取られるんです


私が言いたいのは 人は違うということです 私は人付き合いが良くなく その点 良いこととは 思っていませんが それが私なんです 私がオープンソースの 本当に好きな点は 異なる人々が一緒に働けるように してくれるということです 互いを好きな必要はなく 本当に互いに嫌っている こともあります とても激しく議論を することもあります 何しろそれは ― 意見の違いを 認め合ってさえなく ただすごく違ったことに 関心があるということです

さっき 自分の成果を 食い物にする 営利的な人々への怖れ という話をしましたが すぐに分かったのは そういう商業的な人たちが 実に感じの良い人たちだということです 私がまったくやろうとも思わない 様々なことをやり 私とはまったく違う 目的を持っています 彼らがオープンソースを使おうとする やり方は気に入りませんでしたが オープンソースなので 彼らはやることができて 実はその組み合わせが 見事に機能するんです

同じ仕組みなんだと思います そういう人たちも必要なんです 人付き合いの上手い人たち コミュニケーター 温かくてフレンドリーな こう ―


本当に抱きしめて仲間に 迎え入れてくれるような人々です みんながそうではなく 私は違います 私は技術に関心があり ユーザインタフェースに 関心がある人もいます 私は 命が助かるためだろうと やれませんが もし無人島に取り残され 島を抜け出せる唯一の方法が 小綺麗なユーザインタフェースを作ることだとしたら 私はそこで のたれ死ぬでしょう


違う種類の人間が いるということです 言い訳しようというのではなく 説明しようとしているだけです

(クリス)先週話したとき あなたの別な特質について 触れていて 私はそれを とても面白いと 思ったんですが センスと呼ばれるものです

2つ画像がありますが こちらのプログラムは あまりセンスが良くない例で こちらの方が センスが良いのは 一目で分かるのだと この2つの違いは 何なのでしょう?

(リーナス)皆さんの中で プログラミングしたことのある人は どれくらいいますか?


(リーナス)手を挙げた皆さんは 単方向リストを作ったことが あるかと思います こちらの あまりセンスの良くないやり方は 初歩のプログラミングで 教わるものです このコードは別に 理解できなくて構いません

ここで最も興味深い点は 最後の if 文です 単方向リストで起きるのは ここでは既存の要素を 削除しようとしているんですが 要素が最初か 最初以外かで 処理が異なるということです 最初の要素の場合は 先頭要素へのポインタを 書き換えなければなりませんが 中間要素の場合は 手前の要素のポインタを 書き換える必要があります まったく異なる 2つのケースがあるわけです


(リーナス)こちらの方が良いです if 文がありません なぜ if 文がないのか 分からなくて構いませんが 分かってほしいのは 問題を違った見方をして 書き換えることで 特殊ケースを 一般ケースに 変えられることが あるということです そういうのが良いコードです これはごく単純な プログラミング入門のコードで 重要なものではありません 細部は大事ですけど

私が一緒に働きたいと思うような人の 目印になるのは 良いセンスを持っている ということです このつまらない例は 小さすぎて あまり意味が ありませんが センスの良さというのは もっと大きなものです センスが良いというのは 大きなパターンを見て取って 直感的に正しいやり方が 分かるということです

(クリス)ちょっと整理しましょう あなたには良いセンスがある ― ソフトウェア界隈の人には 意味を持つような あなたは ―


(リーナス)この中にも わかる人はいるはずですよ!

(クリス)あなたはプログラマとして 非常に聡明で どうしようもなく頑固だと でも他にも 何かあるはずです あなたは未来を変えました 未来についての大きなビジョンを お持ちなんだと思います あなたはビジョナリーなんですよね?

(リーナス)この2日間TEDにいて 少し居心地が悪く 感じていました ビジョンの話が たくさんされていますが 私はビジョナリーではありません 5カ年計画なんて 持っていません 私はエンジニアです 歩き回っては 雲を見つめ 星を見上げ 「あそこに行きたいものだ」と言う人々と 一緒にいるのは まったく問題ありません でも 私の方は 地面を見ていて 目の前にある穴を どうにかしたいと思っています 落っこちる前に 私はそういう人間なんです



(クリス)先週 この2人について 話を伺いましたが 彼らは誰で どのようにお考えなんでしょう?

(リーナス)この テスラ対エジソンというのは テクノロジー分野では 言い古された感がありますが テスラはビジョンを持った科学者 すごいアイデア・マンとして見られていて みんなテスラが大好きです その名を会社名にしている 人たちもいます


もう一方のエジソンは もっと凡俗で 悪く言われることが多いです そして彼の 最も有名な 言葉というのが あの 「天才とは1%のひらめきと99%の努力」です 私はエジソンの側なんです みんなは あまり 好きでないかもしれませんが 2人を比べたとき テスラは近頃の人の 心を掴んでいますが 実際に世界を変えたのは どちらでしょう? エジソンは いい奴では なかったかもしれません いろいろやっています そんなに知的でなく ビジョナリーでは ないかもしれません でも私はテスラよりは エジソンに近いと思います

(クリス)今回のTEDのテーマは 大胆で野心的な 大いなる「夢」ですが あなたは その反対ですね

(リーナス)私は少し 引き戻そうとしています


(笑) 歓迎しますよ

Googleやその他の企業は あなたのソフトウェアで 何十億ドルも儲けています そのことを不快に思いますか?

(リーナス)ちっとも 理由はいくつかあります 私自身上手くやっていて 別に問題ないというのがひとつ

別の理由は もしオープンソースにして 自由に使えるようにしていなければ Linuxが今のようになることは なかったということです それによって 苦手なことも経験することになりました 人前で話すとか しかし これも1つの 経験だと思っています 本当に だから私を幸せな人間にする 沢山のことが起きていて 自分は正しい選択を したと思うわけです

(クリス)これは 最後の質問になりますが オープンソースの考えは 現在の世界ですっかり実現されているのか それとも もっとやれることが あるのでしょうか?

(リーナス)どちらとも言いかねますね オープンソースがプログラミングにおいて こうも上手く機能するのは 結局のところプログラムは 黒白つけられるもの だからだと思います これは良い これは良くない というのを判断できる 適当な方法があることが 多いのです プログラムは動くか動かないかの どちらかで 議論の余地が あまりありません それでも結構 議論していますが 他の領域でも オープン・ポリティクスなどについて 議論されていますが 同じ原理を他の領域にも 適用できるとは 言い難い場合があります 黒か白かが グレーになるだけでなく 他の色まで出てきます

科学におけるオープンソースが 復活しているようです はじめはオープン化していたのに やがて閉じたものになってしまい 非常に高価な学術誌の問題 なんかがあります arXivや オープンアクセス・ジャーナル のようなものによって 科学分野でオープンソースが 復活しつつあります ウィキペディアもまた 世界を変えました 他にも例はあります 間違いなくもっと出てくるでしょう しかし私は ―

(クリス)あなたは ビジョナリーではないので 予想はあなたの役割では ないでしょう



それをするのは あなた方でしょう?


リーナス・トーバルズ Linuxをありがとう インターネットをありがとう Androidをありがとう

TEDに来て ご自身のことを こんなにも 話していただき 感謝しています



― もっと見る ―
― 折りたたむ ―


  • 主語
  • 動詞
  • 助動詞
  • 準動詞
  • 関係詞等