X
Business

Even Linus Torvalds doesn't completely understand the Linux kernel

In a wide-ranging interview at Open Source Summit, Torvalds talked about programmers, Linux, and open-source development.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

With over 20 million lines of code in the latest Linux kernel, there's a lot to get your mind around. Dirk Hohndel, VMware VP and chief open source officer, asked Linus Torvalds, Linux's creator, at The Linux Foundation's Open Source Summit North America in Vancouver, if he understood it at all. Torvalds replied: "No."

But, that's not as big as it seems. Torvalds explained, "No one knows the whole kernel. But, having looked at patches for many many years. I know the big picture. I can look at a patch and know if it's right or wrong."

Also: Linux creator Linus Torvalds: This is what drives me nuts

He continued, "The one issue I care about is the virtual file system. That's the one area where I'm still very active. I also look at all the critical issues and a lot of the x86 architecture. I used to worry about the scheduler, but I don't anymore."

So, who is watching Linux? It's the Linux kernel's maintainers and sub-maintainers. Torvalds remarked, if he were hit by a bus, Linux would continue, because they're the ones building Linux today. In short, while Torvalds is still programming, primarily on his Subsurface dive program, he's now Linux's manager, not it's developer.

Torvalds added, "I don't worry about technical issues in kernel. I worry about them, but I'm not worried about them. The workflow is way more important than the code. If a bug happens, you know how to deal with it."

This is one of open source's strengths. And it's why Linux developers had fits dealing with the Spectre security holes. "When you have complexity, you can't manage it in a closed environment. You need to have the people that actually find problems and give them the ability to get involved and help you to fix them. It's a complicated world, and the only way to deal with complexity is the open exchange of ideas."

How does Torvalds manage Linux? By relying on maintainers. "I've moved up the developer chain. If you send me a patch, the maintainer did a bad job of explaining who should get it." Linux uses two to three levels of maintainers. They must be responsive to developers. If you maintain a sub-system and you can't get to someone in two weeks, that's too long. When you're a developer, you want to know if it was received and if it was accepted. Maintainers must make sure their developers know quickly. If a programmer doesn't get a response in 48 hours, they should resend it.

Also: Linus Torvalds vs. the internet security pros

At the same time, he said, "Any part of a good driven strategy is to know what to ignore. I was never shy about saying 'I don't care, you can be a sub-maintainer' for areas I wasn't interested. No one can be there 24x7."

In practice, Torvalds said, "If I trust you, I won't look at your code. Sometimes, though, I get a pull request outside their area and I respond. 'Why is he touching that file?' Then I start going, 'No, not going to happen.'"

Torvalds believes in: "Giving sub-maintainers 'rope to hang themselves.' There's no micromanagement. It's worked very well for the kernel. If you can get me to trust you, you can do anything in your area. It's the only way to scale [projects as big as Linux]."

Looking ahead, Torvalds noted that old Linux kernel developers are sticking around, while new programmers are appearing. As for the new ones, Torvalds doesn't think they need to have a college degree in computer science or engineering.

But, "it makes sense to go to college," he said. "I enjoyed my college years immensely. Programming is something you can learn on the side. You learn other things at university."

Hohndel chimed in, "I know fantastic developers who didn't get a computer science or electrical-engineering degree."

Hohndel continued, "You can still drop out of HS and be a great programmer. A self-taught dentist? No."

Also: Git: A cheat sheet TechRepublic

All that said, Torvalds concluded, "It's a huge advantage to get a college degree. I tell my kids, 'Don't drop out of school.'"

Torvalds also spoke about generally other open-source projects. He believes community managers can be useful for open-source projects that start within companies rather than from independent developers. He thinks, though, some corporate open-source projects are putting the cart before the horse by focusing on growing their communities rather than improving their code.

"As the maintainer of a project, your job is to make sure the project works as well as you can make it work and that you are responsive to your developers." The best way for an open-source project to grow is to use the if you build they will come' model.

"When you do that well, developers come and look for you," he said.

Torvalds also touched on many other subjects. For example, when it comes to quantum computing: "I'm a huge Unbeliever. I don't think it will ever happen. If I'm wrong, I'll be dead long before I'm proved wrong. I've been known to be wrong."

On the other hand, he thinks artificial intelligence (AI) is finally on its way, in his view. "Neural network looks very interesting. Early AI was snake oil, but we know neural networks work."

Looking ahead, Torvalds sees Linux and open-source software becoming ever more important. With hardware no longer speeding up as Moore's Law finally comes to its end, software must improve to meet our demands for ever-more powerful programs.

5 best Chromebooks for school in 2018

Related stories:

Editorial standards