Saturday 1 October 2011

Intrerview with Linus Torvalds


LBG (Linux-BG): 20 ago when you started creating the Linux kernel was there another project of yours that could jeopardize the Linux kernel success and make it obsolete? Like for example trying to win the Pesäpallo championship, trying to be the best sled dog racer or ... create a clone of Mine Sweeper.

LT(Linus Torvalds): No. Pesäpallo is indeed big in Finland (although not nearly as big as ice hockey), but I was a city boy, and not really athletically minded.. I spent most of my time in front of the computer, and the only thing that would have displaced Linux would have been another cool programming project.
And in fact, that's how most of my programming was: one small personal project after another. What made Linux so different was not the programming, but the fact that I made it open source, and suddenly other people started commenting on the code and asking for features. So a project that might otherwise have been left behind for a new and more exciting one instead ended up *staying* new and exciting, because I kept getting feedback, and kept having people ask for new features.
In many ways, the fact that after a few months people also started to actually send me patches that actually implemented features was really secondary to me. That may sound a bit odd, since usually people talk about how open source allows people to work together to make something better - and it's true - but the first, and to some degree the biggest, change was how open source ended up motivating me thanks to all the questions and problems that people brought up.

LBG: Back then what were your most optimistic and most pessimistic expectations about the Linux kernel?

I have a hard time answering that question, for the simple reason that I didn't really *have* any expectations for it. It wasn't like I had a plan for where I wanted to take Linux, and that I hoped Linux would meet - it really was this personal project that I did because I needed it myself, and because I liked the programming and the challenge.

And I think that helped Linux. Because I didn't have any huge plans or visions of where it should go, I was quite open to just about any idea. Which is not to say that I said "yes" to everything, but at least I didn't say "no" because I had some very different vision of where things would go. I'd say "no" because something was done in an ugly way, or it didn't work for me, or it had some other problem, but it meant that the project started out very open to new people and new ideas.

The fact that I also didn't have much of a local group around me meant that everything started out very much over email and there was never any "inner group" of people who knew each other from before. Again, that I think helped make for a project that didn't much care what background you had or where you came from.

LBG: What are the most interesting/important new features that will come up in the near future in the Linux kernel?

In many ways (and for many years) I think that the most exciting new features are in user space. The kernel is this layer between the hardware and user space, and we react to changes in both: much of the work is really about reacting to new hardware (which is pretty common) and sometimes new ways that user land software wants to interact with the kernel (which is actually much less common).

So a huge chunk of the kernel work is about drivers for new devices, and different CPU architectures. That doesn't sound all that exciting, but to a lot of people it's really quite interesting to interact with hardware at a very low level, and really be in control of the *machine*. That's why I started doing my own kernel, and I think it's the motivation for a lot of other kernel people too.

Of course, not everything in a kernel is about hardware. There are lots of more abstract things in there too - filesystem layout, networking, and just managing the software infrastructure. But to me, I'm not really looking for "new features" in the kernel, I get the most excited about when we just do our basic work really well.

LBG: Nowadays what percentage of the day do you devote to Linux?

It comes and goes in waves, mostly dictated by release timings. Linux is what I do almost all the time, but there are different "intensity levels". Right now, for example, we're pretty late in the 3.1 release window, and things are fairly quiet. In fact, because of the troubles we had at kernel.org (somebody broke in, and people are being *really* careful, so the whole site is getting re-architected and the whole hardware layout is changing too), I envision that that fairly calm quiet period will go on for a few more weeks - normally I'd be making ready to do a release right about now.

And when I make a release, and open the merge window, things really pick up. Doing ten or twenty merges a day is not challenging per se, but trying to keep track of things and knowing what's going on so that when problems occur (and they *will* occur) I can track it all, that can be quite busy. Not just for the two weeks of the actual merge window, but usually for the couple of weeks afterwards too as issues trickle in and before it starts calming down.

LBG: Can you describe one of your normal working days? Does it involve wearing a black cloak and riding a batlinux mobile?

It's really not very glamorous. I work from home, and have done so for the last almost ten years, so what usually happens is that I just walk up to my office in my bathrobe after having woken the kids up and done coffee for me and my wife. And then I sit in front of the computer for the rest of the day. Sometimes without getting into my batmobile for several days at a time.

So that "black coat" you speak of is actually a pretty ratty bathrobe. They'll have to sex it up a bit if they ever make a movie about it.

LBG: Is the development of the Linux kernel still fun? If you had the chance to alter the past do you want to change something? 

It's still fun. Not in a laugh-out-loud kind of way, but in a "there are still interesting challenges, and I like working with smart people around the world on creating and maintaining something relevant". The details of the challenges have changed: I don't do a lot of programming any more, most of what I do is communication and "management" (but it's really about being a "technical lead" person - I don't do logistics, so I don't really see myself as a manager in the normal sense).

LBG: Linux and git are two very popular projects that you have founded. So it seems that everything that you start turns into "celebrity". Do you plan to start a Desktop project so that finally the next year is the year of the Linux desktop?

No, I'm not really into the whole human interaction thing, and it's simply not my area of interest. And I certainly have my plate full with Linux. Even 'git', which I really enjoyed, was always just a small side project, and I'm very happy indeed that I found a person to be the maintainer for it so quickly. My name is rather tightly tied to git, and I'm proud of that and very happy with the design, but I started it and actually led that project along only for a few months. Junio Hamano has been the main git maintainer for six years now, and he should get all the credit for that.

So I don't really foresee me taking on big projects. I do small things every once in a while, and for a few weeks I've been working on my own little graphical scuba dive log software, but while that is useful, it's a "toy". Nothing like a big popular project that will change how people work.

LBG: Are there other not-so-popular projects that you have founded or take part?

Not very many. Linux really does take pretty much all my time. I started "sparse", which is this semantic analysis tool that at one time helped us track and clean up user pointer handling, but while it's still around, it's been pretty low-key for several years (and I don't maintain it either).

When your interest in in low-level hardware, there really aren't all that many areas you can get excited about. It's pretty much kernels and compilers, and much of compilers is actually fairly far removed from the hardware itself.

LBG: What software do you use for work and for entertainment?

Heh. I don't actually use computers all that much for entertainment, unless you count my work itself as being entertaining. So I'd have to list the gcc compiler as the software I use for entertainment, which sounds pretty sad.

The dive log software I write I guess is "for entertainment", since scuba diving is one of my few non-computer hobbies.

LBG: Are your gadgets working with Linux?

I actually don't have a ton of gadgets around. The ones I do tend to be Linux, though - like the smartphones and the tablets we have. But I'm not really a gadget freak, and apart from our computers (which all do run Linux, of course), there's not a whole lot of stuff around.

LBG: Some time ago we made interview with Al Lowe (http://redhat-linux-certification-institute.blogspot.com/2011/10/Intrerview-with-Linus-Torvalds.html) and we forgot to ask him if people often confuse him with Arnold Schwarzenegger. But we plan not to repeat the same mistake again. Linus, do people often confuse you with Arnold Schwarzenegger?

I can honestly say that at every single body-building competition I have ever been at, people always come up to me and discuss the eerie resemblance.

But outside of that mythical environment, I don't think it has ever happened.

LBG: And finally, what is the one interview question that you have never been asked, but wished you could answer?

I like unexpected questions (although there's a fine line between "unexpected" and "odd", and I think your previous one crossed that line), so the last thing I'd like to do is make up a question of my own..

Linus

2 comments:

  1. Thank you for sharing such type of information.there are very help full information for every one.keep sharing this type of information.

    phen375 fat burner | rapid weight loss | phen375 pills | rated weight loss products

    ReplyDelete
  2. it was really a nice article and i was really impressed by reading this
    article We are also giving Software Course Online Training.the Best- -Online-Training is the one of the leading Online Training institute.

    ReplyDelete