A Conversation with Linus Torvalds

371

A celebration of Linux’s 20th birthday wouldn’t be complete without an appearance from Linux creator Linus Torvalds. While Torvalds is famously reluctant to speak, he did take the stage at LinuxCon North America 2011 for a conversation with Greg Kroah-Hartman.

Linus Torvalds and Greg Kroah-HartmanJim Zemlin, CEO of the Linux Foundation, introduced Torvalds and “his junior apprentice” Kroah-Hartman for an informal discussion. They started with a discussion about the 3.0 numbering, and Torvalds mentioned (again) that the reason had nothing to do with features and everything to do with numbering.

“I think I will call 3.11 Linux for Workgroups.”

Next, Kroah-Hartman asked about anything in the past year that Torvalds found interesting. Surprisingly, Torvalds replied that he “doesn’t get that involved in development” but spends his time guiding the process. “I end up being pretty far removed from the day to day development. Most of the code I write… is in the email saying ‘this is the approach I’d like to see… very few commits of mine make it into the kernel.”

Torvalds says that his favorite thing is that, instead of doing new features trying to do the best that we can do. “We’re still working on some areas that need more scalability… enjoy when we’re optimizing for workloads that exist today.”

Kroah-Hartman says that one problem is that there’s a chicken and egg problem. Adding a new feature isn’t complete until it’s tried out, but features aren’t really tried out until they’re added and released. Torvalds says sometimes features shouldn’t be done at all, but if it needs to be done “if it’s catastrophically wrong, you support it and after several years of learning” you fix it. “It is okay to just do it, but you’ve got to realize when you do a new feature if anybody ever starts using it, we need to support it for a timeframe in years and decades. I’m really proud of the fact that the kernel has been good at backwards compatibility. You could take binaries from the 90s and they should still work.”

Kroah-Hartman then mentioned cgroups as a feature for kernels, and said it was something that “everybody liked” as an unintended consequence. Torvalds noted that “every time we do something, it turns out that everybody else wants it too.”

The ARM Situation

Another big topic for Linux is ARM development. Kroah-Hartman asked Torvalds how ARM was looking, and he said “at this point pretty good. Not as bad as when I started to scream at people.”

“I think ARM is very promising platform, it’s easier to grow up than it is for a big machine to grow down. ARM was being very successful and showing signs of growing up” like x86, says Torvalds. At the same time, “the ARM community has never had the notion of a standard platform.” And even though people “love to hate” the PC architecture with a “clunky” and “nasty” architecture, Torvalds said it was a nice platform with a lot of effort concentrated in one area that was easy to support.

ARM, on the other hand, is a “hodge-podge” of companies making “random” pieces of hardware and throwing things against the wall to see what ships. “No concentrated effort to have a framework for things… since we try to support a lot of the ARM architecture, it’s been a painful thing for me to see, look at the x86 tree and ARM tree and it’s many times bigger. It’s not constrained by this nice platform thing, it just has random crap all over it. And it was getting to me.”

Eventually, it totally go to him. “I just snapped, and instead of running around naked with a chainsaw like I usually do, I started talking to people… and a lot of people admitted it’s a problem.”

But judging by the last two release cycles, Torvalds says he thinks things are getting better. Perhaps not, but it looks good for now.

The conversation then turned to applications. Do we still need applications to succeed? Kroah-Hartman asked about Torvalds prediction that applications were needed for “world domination” but then noted that Android has done quite well without having applications initially.

Still, Torvalds says that application developers are very important. They’re not “real men” like kernel developers, he says, but still are “necessary” for Linux to succeed.

What if hardware hits a law related to Moore’s Law? “I think it’s going to be a huge change to the tech industry instead of doubling every 18 years, but maybe 5% every 18 years… that obviously won’t happen all at once, it would change how you sell hardware or develop software.” Performance problems would have to be looked at differently, and “the good news, the performance issues we’re seeing is because mobility is so important. People are downgrading their machines… the software industry is already facing those issues. No idea what it will mean to the hardware industry when you don’t get the same improvements.”

Next Kroah-Hartman asked about the pace of development. Torvalds noted that development has plateaued, and hopes that things continue at about this pace. “I think we may be at the point, we’ve reached a very high rate of development, but maybe we’re now keeping up with hardware changes.”

The next question came from Steven J. Vaughan-Nichols, who asked about Android development. Torvalds says that he doesn’t think it’s going to change much in the short term, but “eventually they come back to a fairly standard kernel… which also involves us merging more of their code.” But probably not for four to five years. He also added that “I’m not at all afraid of forks… even when forks happen there are all these points of pain where two groups have had different issues, and it takes a while for people to join back, but the joining will happen.”

Another question from the audience was “what is the biggest challenge going to be that’s user-facing.” Torvalds says “I’m not a very visionary guy… if I’m feeling very visionary I’m looking two or three releases ahead… and this is also very much an application issue. People know about some application issues I’ve had lately, but when it comes to user issues most of the things you need to worry about are not kernel, we’re just doing infrastructure for what people want.”

The last audience question was about KVM versus Xen, and Torvalds’ reply was that he’s “not a virtualization guy” and prefers playing with real hardware. “I don’t want to get into that flamewar, a lot of kernel developers like KVM because it was designed for kernel developers with the assumption that hardware would do virtualization. There’s a certain affinity for kernel people to prefer KVM, where the Xen approach came from a different mindset… but we support choice, we like both.”

Kroah-Hartman says that the Xen developers made an “amazing effort,” to get into the mainline kernel.

The last question from Kroah-Hartman was “do you want to keep doing this?” Torvalds says that he was actually setting up a second career. “It turns out that I’m getting my divemaster certification in a few days, but as a career choice, divemastering doesn’t pay as well. I think Jim [Zemlin] can rest easy… as long as I want to get my kids through college and not live under a bridge, I will keep doing kernel work.”

After the final question, the audience gave Torvalds a standing ovation in thanks for his work over the last 20 years — which caused him to quickly exit the stage.