2016년 9월 4일 일요일

git on git

어느새 2.10 버전까지 나왔는데, git 을 항상 패키지로 설치해 쓰다보니 사용중인 버전은 항상 최신에 비해 많이 낮다.  데스크탑도 재설치 했겠다, 이김에 git 도 소스로 설치해서 사용하기로 해보았다.  몇가지 종속성 패키지 설치를 제외하곤 매우 간단하다.  설치도 $HOME/bin/ 밑에 되므로 시스템의 다른 사용자 눈치보지 않고 설치할 수 있다.

$ sudo apt-get install libssl-dev libcurl4-gnutls-dev libexpat1-dev
$ git clone https://github.com/git/git
$ cd git
$ git checkout v2.10.0
$ time make
$ make install
$ git --version
git version 2.10.0

2016년 4월 10일 일요일

TED 리누스 토발즈 영상 자막 번역

오랫만의 블로그 글이네요.

그림 출처: ted.com


TED 에 리누스 토발즈가 나왔습니다:
http://www.ted.com/talks/linus_torvalds_the_mind_behind_linux?language=en
영상을 소개해준 권순선님 포스트에 번역이 있었으면 좋겠다는 의견을 단 분이 계시기에 자막을 번역하려 했는데 번역 지원을 하면 승인을 대기해야 하네요.  최대 5일만에 답을 준다고 하는데, 성격이 급한 관계로, 여기에 먼저 번역을 해봅니다.  인터뷰 방식으로 진행된만큼 구어체를 최대한 살려봤는데, 읽기엔 오히려 불편할지도 모르겠습니다만 일단 그대로 올립니다.  오역이나 등등 제보해 주시면 감사하겠습니다 :)

UPDATE: 번역 지원에 대해 승인이 드디어 떨어졌는데, 그사이 한글 자막 작업을 시작한 분이 계시네요. 해당 번역이 완료되면 곧 정식으로 자막이 나오지 않을까 싶습니다. :)

===============================================================

크리스 앤더슨: 이건 참 이상한 일이예요. 당신의 소프트웨어인 리눅스는 수백만대의 컴퓨터에 있고, 인터넷의 대부분을 운영하고 있죠. 그리고 약 15억대의 안드로이드 기기들이 있을 거라고 전 생각해요. 당신의 소프트웨어는 그것들 각각에 있는 거죠. 이건 참 놀라운 일입니다. 당신은 분명 이 모든 것을 이끌어온 대단한 소프트웨어 본부를 두고 있을 거예요. 제 생각은 그겁니다 -- 그리고 전 그 본부 사진을 보고 충격을 받았어요. 제 말은, 이게 -- 이게 바로 그 리눅스 세상의 본부입니다.

(웃음)

(박수)


00: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.
00:42(Laughter)
00:44(Applause)
00: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.
01:08The 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.
01:26(Laughter)
01:28It's like a calming color, it's not something that really stimulates you.
01:34

여기서 컴퓨터는 보이지 않으실 겁니다, 화면만 보이죠. 하지만 제가 제 컴퓨터에 대해서 신경쓰는 가장 큰 것은 -- 컴퓨터는 크고 성능이 좋을 필요 없어요, 전 그게 좋긴 하지만요 -- 정말로, 완전히, 조용해야 한다는 겁니다. 구글에서 일하는 몇몇 분들을 아는데, 그분들은 자신만의 작은 데이터 센터를 집에 두고 있고, 전 그러지 않아요. 제 사무실은 여러분이 이제껏 보아온 것 중 가장 지루한 사무실입니다. 그리고 전 거기에 조용히 앉아있죠. 고양이가 다가오면, 제 무릎에 앉죠. 그리고 전 고양이의 가르랑거리는 소리를 듣길 원하지, 컴퓨터의 팬 소리는 듣고 싶지 않아요.

CA: 이건 놀라운 일인데요, 왜냐면 이렇게 일하면서, 토발즈씨는 이 거대한 기술 제국을 운영할 수 있다는 건데 -- 이건 제국이죠 -- 이게 바로 오픈 소스의 힘에 대한 놀라운 증거가 아닐까 싶습니다.

토발즈씨는 어떻게 오픈소스를 이해하게 됐고 리눅스 개발을 이끌었는지 이야기해 주시죠.

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.
02:12CA: 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.
02:24Tell us how you got to understand open source and how it lead to the development of Linux.
02:32

LT: 제말은, 전 여전히 혼자 일해요. 진짜로요 -- 전 집에서 혼자 일하는데, 대부분의 경우는 목욕 가운만 입고 있어요. 저 사진의 사진작가가 왔을 땐, 전 옷을 입었고, 그래서 사진에서는 제가 옷을 입고 있는 겁니다.

(웃음)

그리고 그게 제가 항상 일하는 방식이예요. 제 말은, 이게 제가 어떻게 리눅스를 시작했는가이기도 하다는 겁니다. 전 리눅스를 협업 프로젝트로 시작하지 않았어요. 전 그당시 저 자신을 위해 했던 많은 프로젝트들 가운데 하나로 리눅스를 시작했는데, 그 프로젝트들을 진행한 이유는, 부분적으로는 제가 그 결과물을 필요로 하기도 했지만, 그보다도 그냥 프로그래밍을 좋아하기 때문이었죠. 그러니 그건 여정의 끝에 관한 것이었는데, 25년이나 지난 지금에 와서도 우린 아직 도달하지 못한 여정이죠. 하지만 분명한 사실은 전 저 자신을 위한 프로젝트를 찾고 있었고 당시 오픈 소스는 없었단 겁니다, 정말로, 적어도 제 레이더망에는요.

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.
02:42(Laughter)
02:44And 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.
03: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."
03:59And 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 --
04:43

CA: 그리고 어떤 시점에 이르러서는, 누군가가 어떤 코드를 제공했는데, 토발즈씨는 이렇게 생각한거죠, "와, 이건 정말 재밌는걸, 전 이건 생각도 못했어. 이건 분명 이 프로그램을 개선시킬거야."

LT: 그건 코드를 제공한 사람들로 시작되지도 않았습니다, 그보다는 아이디어를 제공하기 시작한 데서부터 시작되었죠. 그리고 누군가가 여러분의 프로젝트를 들여다보기 시작하다는 사실 자체가 그렇고 -- 그리고 전 다른 것들에 있어서도 마찬가지라고 생각하는데, 코드에서는 분명한 사실입니다 -- 누군가가 여러분의 코드에 관심을 갖는다면, 그리고 그에 대한 의견과 아이디어를 주기 충분할 정도로 들여다본다는 사실이죠. 그건 제게 엄청난 일이었습니다.

전 그때 21살이었는데요, 따라서 전 젊었는데, 하지만 그때도 이미 인생의 절반을 기본적으로는 프로그래밍으로 보냈어요. 그리고 그전까지 제가 했던 모든 프로젝트는 완전 개인적인 것들이었기에 사람들이 의견을 주고, 코드에 피드백을 주기 시작한 것은 놀랄만한 것이었습니다. 그리고 그사람들이 코드를 주기 시작하기 전에도, 그건, 제 생각에, 제가 "전 다른 사람들을 좋아해요!" 라고 말한 것도 커다란 순간들 중 하나였습니다. 잘못 말한 게 아니예요 -- 전 사교적인 사람이 아닙니다.

(웃음)

전 정말로 다른 사람들을 사랑하지 않아요 --

(웃음)

하지만 컴퓨터는 좋아하고, 다른 사람들과 이메일로 교류하는 건 좋아하는데, 제게 일종의 버퍼를 주기 때문이죠. 하지만 의견을 주고 제 프로젝트에 관여하는 다른 사람들은 좋아합니다. 그리고 그게 그걸 더욱 더 그렇게 만들었죠.

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."
04:52LT: 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.
05:16I 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.
05:45(Laughter)
05:48I don't really love other people --
05:51(Laughter)
05:52But 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.
06:08

CA: 그럼 그렇게 개발이 되고, 사람들이 받아가기 시작하고, 이렇게 생각하게 되는 순간이 있었나요? "잠깐만, 이건 정말 거대한 무언가가 되어서 친절한 피드백을 받는 개인 프로젝트만이 아니라 전체 기술 세계에 폭발적인 어떤 개발이 될지도 몰라"

LT: 실제로는 안그랬습니다. 제말은, 제게 중요한 포인트는, 정말로, 그게 거대해졌을 때가 아니라, 작았을 때였습니다. 제게 중요한 시점은 더이상 혼자가 아니고 10명이, 또는 100명의 사람들이 참여했을 때였습니다 -- 그건 큰 포인트죠. 그리고나선 모든 것이 점진적으로 되었습니다. 100 명의 사람들이 100만명이 되는 건 그렇게 큰 일이 아닙니다 -- 제게는요. 그러니까, 제말은, 만약 여러분이 --

(웃음)

여러분이 당신이 만든 결과물을 팔려고 한다면 그건 큰 일입니다 -- 제가 틀렸다곤 하지 마세요. 하지만 기술에 관심이 있고, 그 프로젝트에 관심이 있다면, 커다란 부분은 커뮤니티를 형성하는 것입니다. 그러고나면 커뮤니티는 점진적으로 성장합니다. 그리고 제가 이런식으로 생각하는 어떤 하나의 순간은 없어요, "와, 이제 됐다!" 왜나면 그건 -- 제 말은 -- 상대적으로 오랜 시간을 그렇게 생각하게 됩니다.

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"?
06:24LT: 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 --
06:50(Laughter)
06:51If 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.
07:12

CA: 그래서 제가 이야기하는 모든 기술들은 엄청나게 변화해가며 토발즈씨를 인정하게 하는군요. 그리고 그건 리눅스만이 아니고, Git 이라 불리는 것도 있는데, 소프트ㅇ웨어 개발을 관리하는 시스템이죠. 그거에 대해서, 그리고 거기서 토발즈씨의 역할을 짧게 설명해 주시죠.

LT: 우리가 가졌던 문제들 중 하나는, 그리고 이건 나타나는데 시간이 좀 걸렸는데, 여러분이 ... 여러분이 일하는 프로젝트가 10명에서 100명으로 그리고 10,000 명으로 늘어나면, -- 제 말은, 지금 우리가 커널에서 딱 그 상황입니다, 우린 매 릴리즈마다 1,000 명의 사람들이 관여되어 있고, 그 릴리즈는 두달마다, 대략 두세달에 한번씩 됩니다. 그런 사람들 중 일부는 많은 일을 하진 않아요. 매우 작은 변경을 만들어내는 사람들이 매우 많습니다.

하지만 이걸 관리하려면, 그 규모가 관리를 어떻게 해야 하는지를 바꿉니다. 그리고 우린 많은 고통을 겪어왔죠. 그리고 소스 코드 관리만을 위한 프로젝트들이 있습니다. CVS 는 가장 일반적으로 사용되던 것인데, 전 CVS 를 매우 싫어해서 손대는 것도 거부하고 급진적이고 흥미롭던 어떤걸 사용해 봤는데 모두가 싫어하더군요.

CA: (웃음)

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.
07:29LT: 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 releaseand 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.
08:00But 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.
08:30CA: (Laughs)
08:31

LT: 그리고 우리는 이 안좋은 위치에 머물렀는데, 수천명의 사람들이 참여하고 싶어했지만, 많은 점에서, 제가 일종의 중단점이었던 위치로, 전 수천명의 사람들과 함께 일할 수 있는 지점까지 규모를 확장하지 못하고 있었어요.

그래서 Git 은 제 두번째로 큰 프로젝트인데, 제 첫번째 큰 프로젝트를 관리하기 위해 저를 위해 만들어졌을 뿐입니다. 그리고 이게 말 그대로 제가 일을 하는 방식이예요. 제가 코드를 짜는건 -- 음, 전 재미로 코드를 짭니다만 -- 하지만 전 어떤 의미가 있는 코드를 짜고 싶고 그래서 제가 여지껏 해왔던 모든 프로젝트는 제게 필요한 것들이었고 그리고 --

CA: 그러니, 리눅스와 Git 둘 다 너무 많은 사람들과는 일하지 않으려는 토발즈 씨의 소망에서 의도치 않았던 결과로 나타난 것들이로군요.

LT: 바로 그겁니다. 맞아요.

(웃음)

CA: 그거 참 놀랍네요. LT: 그렇죠.

(박수)

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.
08:46So 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 --
09:08CA: 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.
09:17LT: Absolutely. Yes.
09:18(Laughter)
09:19CA: That's amazing. LT: Yeah.
09:21(Applause)
09:22
그리고 적어도 지금까지는, 토발즈씨는 기술업계를 한번만이 아니라 두번이나 바꾼 분이시고, 우리도 그걸 시도해보고 왜 그게 가능했는지 이해해야 하겠습니다. 몇가지 단서는 주셨습니다만, 그렇지만 ... 어린아이 때 토발즈 씨의, 루빅 큐브를 가지고 찍힌 사진이 여기 있습니다. 토발즈 씨는 10살이나 11살 무렵부터 삶의 절반을 프로그래밍으로 보냈다고 이야기 하셨는데요.

그런 종류의 컴퓨터 천재였나요, 있잖아요, 동네짱인 모범생, 학교에서 뭐든 할 수 있는 스타였나요? 아이 땐 어땠어요?

LT: 예, 제 생각에 전 전형적인 모범생이었던 것 같아요. 제 말은, 저는 ... 전 그때 사교적인 사람이 아니었습니다. 저건 제 남동생인데요. 전 분명히 제 남동생보다 루빅 큐브에 관심이 있었던 것 같네요.

(웃음)

제 여동생은, 이 사진에는 없지만, 우리가 가족 모임에서 만났던 적 있어요 -- 저희 가족은 대가족은 아닌데, 사촌이 몇 있어요 -- 여동생은 그전에 절 준비하려 하더군요. 말하자면, 제가 방에 들어가기 전에 그녀는 말하려 했죠, "좋아. 그렇게 그렇게 ..." 왜냐면 전 그러지 않았으니까요 -- 전 괴짜였습니다. 전 컴퓨터에, 수학에, 물리학에 빠져 있었죠. 그것들은 잘 했어요. 전 제가 특별히 예외적인 존재라고는 생각하지 않아요. 분명히, 제 여동생은 제 가장 커다란 예외적인 특징은 제가 집 밖에 잘 나가려 하질 않는 거라고 하더군요.

(웃음)

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.
09:42Were 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?
09:51LT: 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:06My 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: 좋아요, 그거 재밌는데, 그 이야기를 좀 더 하죠. 토발즈씨는 집밖에 나가려 하지 않았다. 그건 괴짜거나 똑똑해서가 아니라, 그건 ... 끈질긴 거 아닌가요?

LT: 끈질긴 게 맞겠죠. 그건 뭔가를 시작하고는 이렇게 말하지 않는거죠, "좋아, 난 다 했어, 뭔가 다른 걸 하자 -- 봐봐, 저거 반짝인다!"

그리고 전 제 삶의 다른 부분에서도 그런 부분이 많은 것을 알고 있습니다. 전 7년을 실리콘 밸리에서 살았습니다. 그리고 전 실리콘 밸리의 같은 회사에서 그 모든 시간을 일했습니다. 이건 듣도보도 못한 일입니다. 이건 실리콘 밸리가 하는 방법이 아니예요. 실리콘 밸리의 포인트는 사람들이 직업들을 바꿔가면서 냄비의 내용물들을 섞어가는 거죠. 그리고 저는 그런 타입이 아닙니다.

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:56LT: 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:09And 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: 하지만 리눅스의 실제 개발에 있어서, 그런 끈질김이 가끔은 다른 사람들과 충돌을 일으킵니다. 그에 대해 좀 이야기하죠. 그건 프로그램의 품질을 관리하기 위해 해야만 하는 필수적인 것이었나요? 그에 대해 뭐가 일어났는지 어떻게 설명해 주시겠습니까?

LT: 그게 필수적인지 어떤지는 전 몰라요. 다시 말하지만 "전 사교적인 사람이 아닙니다" -- 가끔은 저 역시 ...다른 사람의 기분에 있어서는 "근시안"적이 되고, 그게 가끔은 다른 사람을 다치게 하는 말을 뱉게 만듭니다. 그리고 전 그게 자랑스럽지 않아요.

(박수)

하지만, 동시에, 그건 -- 전 가끔 제게 좀 친절하게 굴라고 말하는 사람들을 만나게 되는데요. 그리고  나서 이제 제가 당신은 친절하네요, 또는 당신은 좀 더 적극적이어야 해요, 라고 설명을 하려 하면, 그사람들은 제가 친절하지 않다고 보더군요.

(웃음)

제가 말하고자 하는건 우리가 다르다는 것입니다. 전 사교적인 사람이 아닙니다; 그건 제가 특별히 자랑스러워 하는 건 아닙니다만, 제 일부분입니다. 그리고 제가 오픈소스와 관련해 정말 좋아하는 것은 다른 사람들이 함께 일하도록 한다는 것입니다. 우린 서로를 좋아해야만 하는게 아닙니다 -- 그리고 가끔은 우린 정말로 서로를 좋아하지 않습니다. 정말로요 -- 제 말은, 정말, 정말 가열차게 되는 논쟁들이 있습니다. 하지만 여러분은, 정말로, 여러분이 동의하지 않는데조차도 동의하지 않는다 해도, 그건 당신이 정말 다른 것에 흥미가 있다는 것입니다.

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:53LT: 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:18But, 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:39What 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
그리고 제가 상업적 사람들이 작업물로 이득을 보는 것에 대해 걱정이 되었다고 이야기했던 지점으로 돌아가서, 그런 상업적인 사람들은 매우 매우 사랑스렁누 사람들이었음이 드러났습니다, 정말로 빨리 드러났습니다. 그리고 그들은 제가 전혀 할 흥미가 없었던 일들을 모두 해줬고, 그들은 완전 다른 목표를 가지고 있었습니다. 그리고 그들은 오픈소스를 제가 원하지 않던 방향으로 사용했습니다. 하지만 그건 오픈소스이기에 그들은 그렇게 할 수 있었고, 함께 정말 아름답게 동작합니다.

그리고 전 정말로 그것은 그렇다고 생각합니다. 여러분도 사교적인 사람들, 소통을 하는 사람들을 가져야 합니다, 따뜻하고 친근한 --

(웃음)

당신을 껴안고 커뮤니티로 이끌어줄 그런 사람 말이죠. 하지만 모두가 그런건 아닙니다. 그리고 전 그런 사람이 아닙니다. 전 기술에 관심이 있습니다. UI 에 관심 있는 사람들도 있습니다. 전 제 삶을 위해 UI를 할 수는 없습니다. 제말은, 만약 제가 어떤 섬에 고립되었고 그 섬을 떠나는 방법이 예쁜 UI 를 만드는 것이라면, 전 그냥 거기서 죽을래요.

(웃음)

그러니 세상엔 다른 종류의 사람들이 있고, 전 용서를 비는게 아니라, 설명을 하려 합니다.

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:41And 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:51really 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:12So there's different kinds of people, and I'm not making excuses, I'm trying to explain.
14:17
CA: 자, 우리가 지난주에 이야기를 했을 때, 토발즈 씨는 가지고 있는 다른 특성들에 대해서도 이야기 했는데, 전 그게 참 흥미로웠습니다. 취향이라는 것이죠.

그리고 제가 여기 두개의 이미지를 가져왔습니다. 제 생각에 이건 코드에 있어 특별히 좋은 취향이 아닌 것의 예가 될 것이고, 이건 나은 취향이라 생각됩니다, 지금 보이는게요. 이 두 코드 사이의 차이점이 뭔가요?

LT: 그러니까 이건 -- 여기 얼마나 많은 분들이 실제로 코드를 짜보셨나요?

CA: 오 세상에.

LT: 지금 손을 드신 분들이라면, 단일 링크드 리스트라 불리는 것을 해보셨을 거라고 봅니다. 그리고 그건 가르침이죠 -- 이건, 매우 좋은 취향은 아닌 첫번째의 것은, 여러분이 코딩을 시작했을 때 배우는 방식입니다. 그리고 코드를 이해할 필요는 없어요.

제게 가장 흥미로운 부분은 저 마지막의 if 문입니다. 단일 링크드 리스트에서는 -- 이 코드는 리스트에서 존재하는 원소 하나를 제거하려 하는데요 -- 만약 제거하려는 원소가 첫번째 원소이거나 중간에 있는 원소이거나 하는 것에 따른 차이가 존재합니다. 그게 첫번째 원소라면, 첫번째 원소로의 포인터를 바꿔야 합니다. 그게 중간에 있었다면, 그 앞의 원소의 포인터를 수정해야 합니다. 그러니 그 두가지는 완전 다른 케이스인 것이죠.

CA: 그리고 이게 더 나은 것이죠.

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:24And 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:39LT: So this is -- How many people here actually have coded?
14:44CA: Oh my goodness.
14:46LT: 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:03The 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 entryor 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:32CA: And that's better.
LT: 네, 이게 더 나은 것입니다. 여기엔 그 if 문이 없습니다. 그리고 그건 실제로는 중요치 않습니다 -- 여러분이 왜 여기엔 if 문이 없는지 이해하길 원하는 건 아닙니다, 다만 저는 여러분이 가끔은 문제를 다른 시각으로 바라볼 수 있고 그걸 특별 케이스가 사라지고 일반적인 케이스가 되도록 다시 써볼 수 있음을 이해하셨으면 합니다. 그리고 그게 좋은 코드입니다. 하지만 이건 간단한 코드입니다. 컴퓨터과학 입문 같은 거죠. 이게 중요한 건 아닙니다 -- 물론 디테일은 중요하지만요.

제게 있어서, 제가 함께 일하고 싶은 사람들의 표시는 그들은 좋은 취향을 가졌다는 겁니다, 어떤 거냐면 ... 전 여러분에게 이 간단한 예를 들었는데 이것들은 너무 작아서 적합하지 않습니다. 좋은 취향은 이것보단 훨씬 큽니다. 좋은 취향은 커다란 패턴을 실제로 보고 본능적으로 어떻게 하는 것이 옳은 방법인지를 아는 것입니다.

CA: 좋아요, 이제 조각들이 모두 준비된 것 같군요. 토발즈씨는 취향을 가지고 있는데, 소프트웨어쪽 사람들에게 의미있는 방향의 취향이군요. 당신은 --

(웃음)

LT: 전 여기 계신 분들 중 일부에게도 의미 있다고 생각해요.

15:33LT: 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:00To 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:23CA: 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:34LT: I think it was meaningful to some people here.
16:38
CA: 토발즈씨는 매우 똑똑한 컴퓨터 코더입니다, 그리고 엄청나게 끈질기죠. 하지만 그 외에도 뭔가 더 있을 거예요. 제말은, 토발즈씨는 미래를 바꿨어요. 분명 이런 거대한 미래를 내다보는 능력을 가지고 있을 거예요. 토발즈씨는 선지자입니다, 맞나요?

LT: 전 사실 지난 이틀동안 TED 에서 좀 불편함을 느꼈는데, 진행되고 있는 비전들이 많이 있었기 때문입니다, 맞죠? 그리고 전 선지자가 아닙니다. 전 향후 5년간의 계획이 없어요. 전 엔지니어입니다. 그리고 전 그건 정말로 -- 제 말은 -- 전 걸어다니고 구름을 바라보고 별을 바라보며 "저기 가고 싶다" 말하는 사람들과도 함께함에 정말 행복합니다. 하지만 전 땅을 보고 있고 제 바로 앞에 있는 구멍을 제가 떨어지기 전에 고치고 싶습니다. 이게 저라는 사람의 부류입니다.

(환호)

(박수)

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:52LT: 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: 그리고 지난주에 제게 두사람에 대해 이야기 하셨죠. 어떤 사람들이고 어떻게 토발즈씨가 그들과 관련되나요?

LT: 글쎄요, 이건 기술업계에서 사용되는 일종의 클리셰인데, 테슬라 대 에디슨으로, 테슬라는 미래를 내다보는 과학자였고 대단한 아이디어를 가진 사람이었죠. 그리고 사람들은 테슬라를 좋아합니다. 그러니까, 자기 회사를 그사람 이름으로 지은 사람들도 있잖아요.

(웃음)

다른 쪽에 에디슨이 있는데, 이분은 실제로 종종 평범함으로 비방을 받고는 하는데 -- 제 말은, 이분의 가장 유명한 인용구죠, "천재는 1 펀센트의 영감과 99 퍼센트의 노력으로 만들어진다." 그리고 전 에디슨 쪽입니다, 사람들이 항상 그분을 싫어한다 해도요. 여러분이 실제로 두사람을 비교한다면, 테슬라는 오늘날 세상을 지배하는 것들을 마음속에 담아두고 있었지만, 누가 정말로 세상을 바꿨나요? 에디슨은 친절한 사람이 아니었을지 모르지만, 그분은 많은 것을 해냈습니다 -- 에디슨은 그렇게 똑똑하지는 않았을지도 모르고, 그다지 미래를 내다보지도 못했을지도 모릅니다. 하지만 전 저 자신은 테슬라보다는 에디슨에 가깝다고 생각합니다.

CA: So you spoke to me last week about these two guys. Who are they and how do you relate to them?
17:31LT: 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:50The 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: 자, 이번주 TED 의 테마는 꿈입니다 -- 커다랗고, 과감하고, 대담한 꿈이요. 토발즈 씨는 사실 그에 대한 해독제 같군요.

LT: 전 그걸 좀 끌어내리려 노력하죠, 맞아요.

CA: 좋습니다.

(웃음) 토발즈씨를 포용합니다, 포용해요.

구글을 포함해 많은 회사들이 토발즈씨의 소프트웨어로부터 대략 수십억 달러를 벌어들이고 있습니다. 혹시 그게 얹짢지는 않나요?

LT: 아뇨 아뇨, 몇가지 이유로 전혀 기분나쁘지 않습니다. 이유 중 하나는, 전 잘 지내고 있습니다. 정말 잘 지내고 있어요.

하지만 다른 이유는 -- 그러니까, 이 모든 오픈소스를 하고 그렇게 일이 흘러가게 모든 것들을 두지 않았다면, 리눅스는 지금의 모습이 되지 못했을 겁니다. 그리고 그게 제가 정말로 좋아하지 않는, 공적 자리에서의 연설과 같은 경험을 가져왔지만 동시에, 이것도 경험입니다. 절 믿으세요. 그러니까, 절 매우 행복한 사람으로 만들어주는 많은 일들이 진행되고 있고 전 제가 옳은 선택을 했다고 생각합니다.

CA: So our theme at TED this week is dreams -- big, bold, audacious dreams. You're really the antidote to that.
18:42LT: I'm trying to dial it down a bit, yes.
18:44CA: That's good.
18:45(Laughter) We embrace you, we embrace you.
18:50Companies like Google and many others have made, arguably, like, billions of dollars out of your software. Does that piss you off?
18:56LT: 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:03But 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: 오픈 소스 아이디어가 -- 이게, 아무래도 이걸로 끝내야 할 것 같네요 -- 오픈소스 아이디어가 세계에 완전히 이해되고 있나요, 아니면 오픈소스가 더 나아갈 수 있는, 더 할 수 있는 일들이 있을까요?

LT: 음, 두가지 생각을 가지고 있습니다. 전 오픈소스가 코드에서 잘 동작하는 이유는 마지막에 가서는, 코드는 흑백의 무엇이 되는 경향이 있습니다. 결정하기 충분히 좋은 방법이 있는데, 이건 올바르게 되었고 이건 그렇지 못하다 같은 것이죠. 코드는 동작하거나 아니거나인데, 이 말은 논쟁할 여지가 적다는 것입니다. 그리고 그럼에도 불구하고 우린 논쟁을 갖죠, 그렇죠? 다른 많은 영역들에서는 -- 음, 사람들이 공개 정책과 그런 것들에 대해 이야기 하죠 -- 가끔은 그런 다른 영역들에 대해서는, "맞아요, 그 똑같은 원칙을 다른 영역들에 적용해도 되요" 라고 말하기가 정말 어려운데, 그 흑과 백이 단순히 회색이 아니라 전혀 다른 색으로도 될 수 있기 때문입니다.

자, 오픈소스는 과학에서는 분명한 만회를 하고 있습니다. 과학은 처음부터 오픈소스였습니다. 하지만 과학은 결국엔 상당히 폐쇄적이게 되었는데, 매우 비싼 저널들과 그런 것들로 인해서라고 볼 수 있죠. 그리고 오픈소스가 과학에 다시 돌아오고 있습니다. arXiv 와 공개 저널과 같은 걸 통해서죠. 위키피디아도 세상을 바꿨구요. 그러니 다른 예들이 여럿 있고, 여전히 여러 사례가 나타날 거라 확신합니다.

CA: 하지만 당신은 선지자는 아니고 따라서 그것들의 이름을 짓는건 당신의 일이 아니군요.

LT: 네, 제 일이 아니죠.

(웃음)

그걸 하는건 여러분의 역할이예요, 맞죠?

CA: 바로 그렇죠.

리누스 토발즈 씨, 리눅스와 인터넷과 모든 안드로이드 폰들에 감사를 드립니다.

TED 에 와주셔서 본인에 대해 많은 것들을 말해 주셔서 감사합니다.

LT: 감사합니다.

(박수)

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:43LT: 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:35So, 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:04CA: But you're not a visionary, and so it's not up to you to name them.
21:08LT: No.
21:09(Laughter)
21:10It's up to you guys to make them, right?
21:12CA: Exactly.
21:13Linus Torvalds, thank you for Linux, thank you for the Internet, thank you for all those Android phones.
21:19Thank you for coming here to TED and revealing so much of yourself.
21:22LT: Thank you.
21:23(Applause)