Culture / Linux / Open Source

Linus Torvalds on Diversity, Longevity, Rust, and ARM Chips

3 Jul 2020 9:53am, by

This week saw a special virtual edition of the Linux Foundation’s annual Open Source Summit and Embedded Linux Conference North America, which had originally been scheduled to take place in Austin, Texas.

The now-online event preserved all 230 keynotes (with live Q&A sessions) — and included a unique version of the traditional opening keynote conversation with Linux creator Linus Torvalds and Dirk Hohndel, the chief open source officer at VMware.

In a split-screen remote interview, Torvalds still shared his annual glimpse into the kernel development process — but in a year unlike any other. But for Torvalds, things really haven’t changed that much. “Literally this conference, right here, is the first big change,” he tells the virtual audience watching at home. “I do not like doing videoconferences, I have not done a single videoconference so far during the last four months, and the fact that it seems to be working at all, frankly, surprises me.”

In fact, normally Torvalds is working from home anyways — sitting in front of his computer and reading emails. Hohndel agrees that the Linux community has always been email-based and remote, rarely getting together in-person. And that leads to one of the conversation’s most interesting exchanges.

Diversity in Open Source, New and Old

In a nod to current events, Hohndel mentions that in the cloud native community and the Cloud Native Computing Foundation, he’d observed “a significantly larger share of black contributors and leaders. Kelsey Hightower, Brian Liles, Stephen Augustus, there are so many of them. And I don’t think I’m seeing that in Linux.

“Is that just me not seeing the right people, or are we less racially diverse than some younger foundations simply as a function of the time when we all started almost 30 years ago?” Hohndel asked.

And Torvalds gave a very candid response, first acknowledging “I do suspect you may be correct, that a lot of the people who are in low-level technology are the kind of people who started several decades ago, and that’s how they got into the whole low-level hardware interfaces and getting into operating systems…” But his second reaction is simply that “I literally don’t know.” Because of the remote nature of the Linux community, “I don’t meet with these people. For all I know, half of the kernel community could be not white. I never see them, I don’t do the face-to-faces.

“Is that just me not seeing the right people, or are we less racially diverse than some younger foundations simply as a function of the time when we all started almost 30 years ago?” — Dirk Hohndel.

“I do know that when it comes to the core maintainers that I meet once a year, we are obviously a very homogeneous crowd. But I don’t even know about all the new developers. Every single release, we have over a thousand developers. Quite a lot of them we have over 2,000. And I do not know what the people involved are…

“For all I know, some of the patches being sent out are being sent out by artificial intelligences that people are trying out.”

Kernels in the Cloud?

The Embedded Linux Conference has expanded to the cloud and segment-specific technologies, Hohndel pointed out, asking if this proves that Linux itself is healthy and extending its reach. But Linus takes the question in a surprising direction. “For the last, over a decade, I’ve told people that no, kernels are not the future — that if you’re looking for a new, exciting project to get involved with, maybe you shouldn’t be getting involved with the kernel.” The basics of a modern operating system are “reminiscent” of what was done in the 1960s, Torvalds explains, so kernel development isn’t necessarily working on the cutting edge.

But when Hohndel cites a famous quote from Torvalds that “Linux is boring and that’s how a kernel should be,” Torvalds literally calls a time out.

“Yes I’ve said that the kernels are boring, but I really mean that in the sense that a lot of new technology should be more interesting. To me and to a lot of other people, there is nothing more interesting than interacting at a low level with the hardware and really controlling everything that’s going on. So don’t get me wrong. Kernels are not boring. But on the other hand, most people should consider them boring.”

“For the last, over a decade, I’ve told people that no, kernels are not the future — that if you’re looking for a new, exciting project to get involved with, maybe you shouldn’t be getting involved with the kernel.” — Linus Torvalds

Hohndel notes that many of the Linux community’s leaders are in their 50s and 60s, and asks whether the community needs to start thinking about generational change. Torvalds sees a more nuanced situation, where people “do tend to stay around” and eventually move into maintenance and management. “A lot of the new people, who are not 50 years old and not 40 years old, they are still often in college or just graduated — they are the ones who are often doing the real work. And the fact that we have managers and maintainers who are old and starting to gray, that’s, I think, a completely different issue.”

But Hohndel still looked to the future, asking “Is there a generation in their 30s moving up through the ranks so there’s another wave to take over? We need them, right?”

Torvalds answers emphatically, “We do. And do we have enough? No. It turns out it’s really hard to find people who are maintainers.”

“Maintainership is — it’s interesting, and it’s challenging, but one of the downsides of being a kernel maintainer, in particular, is you have to be there, all the time. Maybe it’s not 24 hours a day, but it is every day. You read email, you react to the email — you have to just be there. And it’s not necessarily a very easy niche to get into.”

Torvalds reflects that they have “a fair number” of maintainers for an open source project — hundreds of them, more than many projects even have participating. “But at the same time, the one gating issue we often have is it’s hard to find people who really look at other people’s code and help funnel that code upstream all the way, eventually, to my tree. And that’s something which I think we need to continue working on… I think it’s one of the main issues we have in the whole kernel maintenance tree.”

Hohndel digs into the nuts and bolts of the process, noting that the Linux kernel is written in C, and advances the heretical notion that “No one writes software in C anymore. Every new project is done in Go or Rust or another new language I’ve never heard of. Is there a risk that we are becoming the COBOL programmers of the 2030s?”

First Torvalds disputes his premise — “I don’t actually think it’s true that nobody writes in C anymore. I think C is still one of the top 10 languages easily, if you look at any of the statistics.” But more interestingly, Torvalds points out that Rust interfaces (“for example”) are already something people are “actively looking at, especially doing drivers and things that are not very central to the kernel itself…”

“People have been looking at that for years now. I’m convinced it’s going to happen one day. It might not be Rust, but it’s going to happen that we will have different models for writing these kinds of things.” He acknowledges that right now it’s C or assembly, “but things are afoot.” Though he also adds a word of caution. “These things take a long, long time. The kind of infrastructure you need to start integrating other languages into a kernel, and making people trust these other languages — that’s a big step.”

A Call to ARMs

Hohndel also asked about the revelation last month that Linus had started using a new AMD Threadripper 3970x system. Torvalds is known for liking complete quiet in his office — so wasn’t he finding the new chip a little noisier?

Linus notes he can get hundreds of pull requests during a merge window, “and I strive to do about 20 to 30 a day, which is about my limit.” Building a kernel on his old machine took more than 15 minutes, so he’s now settling for a more powerful machine that’s still silent — at least when it’s idle, when Torvalds is reading his email or responding to issues. “If it starts making that whooshing sound when the fans really come on when I start building, I’ve decided I can deal with that if I can make my builds go much faster… Now that I have been working with my new machine for a while, when I can hear that it’s working hard, that kind of makes me feel good.”

In fact, if anything, he’d like more of that. “Now I’m starting to think I should’ve gone for the big brother, and gone for the full 64 cores and 128 threads, just because that whooshing sound — the shorter that is, the better off I am.”

“Now that I have been working with my new machine for a while, when I can hear that it’s working hard, that kind of makes me feel good.” — Linus Torvalds.

Torvalds says he’d been waiting a long time for a good ARM desktop system to come along that wasn’t in the cloud. “There is no question that Amazon with the Graviton2 has done much better in the ARM ecosystem in cloud than we’ve seen ARM before. But cloud development is not the kind of development most developers want to do — at least most kernel developers. You want to have a machine in front of you.”

Given the kind of power computing that Linus does, he points out, it’s inevitable that he’d have to hold out for a powerful desktop system. “Laptops are fine,” he says, “but I only use them during travel.

“And right now I’m clearly not doing any travel.”


WebReduce

The Linux Foundation and VMware are sponsors of The New Stack.

At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: feedback@thenewstack.io.

A newsletter digest of the week’s most important stories & analyses.