Linus Torvalds on Community, Rust and Linux’s Longevity
This week saw the annual check-in with Linux creator Linus Torvalds at the Open Source Summit North America, this year held in Seattle (as well as virtually).
Torvalds took the stage Tuesday in the ballroom at the Hyatt Regency Seattle for the event’s traditional half-hour of questions from Dirk Hohndel, an early Linux contributor (now also the chief open source officer and vice president at VMware) in an afternoon keynote session.
The ceremony opened by acknowledging a special moment in time with a birthday cake ceremoniously delivered to Torvalds to mark Linux’s 30th anniversary, drawing a round of applause from the audience. Hohndel added he was offering 30th-birthday wishes “to all of the kernel developers — it really is a community also.”
Linux turns 30! #ossummit #lfelc pic.twitter.com/n11dcbWHPD
— Deepthi Sigireddi (@ATechGirl) September 28, 2021
The theme of community seemed to keep coming up — notably about what that community has ultimately taught Linus Torvalds.
Freax and Geeks
It started with Torvalds’ memories of the first precious hours of the operating system’s release. While he’d intended to call his newly-minted operating system Freax, “I had already been told that the FTP site that I put it on, that I did not maintain, had a directory called Linux. So I had actually changed the name in the kernel main make file to be Linux at that point.”
He added, “I am eternally grateful for two other people for having more taste than I did.”
But then Torvalds remembered he’d expected to move on to the next new and interesting project, leaving Linux behind in a state where “it’s kind of done. It’s not quite usable. But it’s done enough that it’s not interesting anymore.
“That was clearly then what open source changed. Because suddenly this project — that I probably would’ve left behind, if it was only up to me — I started getting questions about, and eventually patches — that just kept the motivation going. And here we are 30 years later, and it’s still what keeps the motivation going.
“Because as far as I’m concerned, it’s been done for 29 of those 30 years, and every single feature ever since has been about things that other people needed or wanted or were interested in.”
Another Life Lesson
Building Linux had taught Torvalds a lot about computer architecture; his original goal was to learn all the features of his 386-microprocessor computer. But he’d also made some connections, including to people starting a small company in Silicon Valley to clone 386 hardware (which he eventually joined).
Picking up the story, Hohndel pointed out that in Torvalds’ first book, the title even begins with the words “Just for Fun.”
“But at some point, you got your first job offer,” Hohndel said. “You got the first commercial interest in, maybe not Linux, but in you as the developer.”
And Torvalds would ultimately learn another life lesson from the IT workers all around him. He remembered seeing the people around him switching companies “every three years or so. I mean, that’s the Silicon Valley way. It’s not universal, but it is pretty common.
“And I just realized, I don’t like doing that. I have these long-term projects. Not everybody is like that — a lot of people find things that they’ve done for a couple of years, it starts to bore them, and they want to find something new.”
He continued, “I realized that I’m the kind of person who is boring and just wants to do one thing. And I’m a one-track mind.”
A World That Changed
Hohndel recalled just how different hardware was 30 years ago. “My first Linux box had two megabytes — megabyte with an ‘M’, for those younger people here — of memory. So it was a very different world.”
But he also remembers printing out the entirety of Linux’s kernel code. “I don’t recommend doing this today.”
And this led Hohndel to a fascinating question. “When we started, it seemed really easy to get into a project. It all seemed very manageable; it seemed possible to get an overview into a project. If I look around today, and you build a quick little Kubernetes thingy with a couple of microservices and a few containers and use a couple of s3 backends, you have no idea what’s actually running on your computer.
“So if you were starting today,” he asked Torvalds, “what do you think you would be working on?”
Torvalds answered that while he’s a software engineer, he’s more interested in the hardware and compilers that control everything. But then he acknowledged that he grew up in a world where home computers were so simple “that you actually could understand them, which is not true anymore.”
“If I grew up today,” he added, “I’m not sure if I would get close enough to the hardware where I would feel comfortable understanding.”
On the other hand, Torvalds said, today’s world has many more resources, including Raspberry Pi’s and “all these microcontrollers that are much more accessible than they were when I grew up.”
In the early 1990s, he recalled, he had to send away for a 386 architecture manual “because it didn’t exist as a book in the bookstore that I had access to… It had to be ordered from a different country, just to get the manuals for the hardware I had!”
To learn about the 386 today, he said, “You go online, you go to Google, and you type in ‘386 architecture manual.'”
Fun and Rust
When Hohndel asked Torvalds if he has any regrets, Torvalds ended up answering the opposite question.
“I’m very proud of the fact that there’s actually a fair number of people still involved with the kernel that came in in 1991 — I mean, literally 30 years ago.” (Hohndel is one of them.)
The longevity of the Linux community is especially impressive in light of how few contributors there were back in 1991, Torvalds said: “I think that’s a testament to how good the community, on the whole, has been, and how much fun it’s been.”
Yes, fun — and Torvalds still considers that one of the building blocks of the Linux community; “just for fun,” he said, is part of what he still strives for.
It comes up when people talk about the possibility of writing some Linux kernel modules using Rust. “From a technical angle, does that make sense?” Torvalds asked. “Who knows. That’s not the point. The point is for a project to stay interesting — and to stay fun — you have to play with it.”
Even with billions of devices now depending Linux, the project still makes a point of finding fun new directions to explore. “That’s one thing that I’m very proud of, still.”
A picture of the computer running the Ingenuity Helicopter on Mars – a tiny NASA helicopter that became the first powered aircraft to fly on another planet, powered by #linux! #opensource #ossummit #lfelc pic.twitter.com/Anv1oHo6uS
— The Linux Foundation (@linuxfoundation) September 29, 2021
After three decades of developing the operating system in C, Hohndel conceded he was “very surprised to see how open you were to this idea of introducing Rust modules into the new system.”
“I really love C,” Torvalds acknowledged. “I think C is a great language, and C is, to me, is really a way to control the hardware at a fairly low level. So that when I see C code, I can pretty closely guess what the compiler does. It is so close to the hardware that you can do anything with [it].”
Yet Torvalds also saw Hohndel’s analogy that it can be like juggling chainsaws. As a long-time watcher of C, Torvalds knows that C’s subtle type interactions “are not always logical” and “are pitfalls for pretty much anybody. And they’re easy to overlook, and in the kernel that’s not always a good thing.” Torvalds called Rust “the first language I saw which looked like this might actually be a solution”
There are other considerations that C programmers value — like high performance and ease of debugging — but there’s still some openness to experiments with Rust. “People have been talking about Rust in the kernel for a long-ish time by now — and it’s not done yet,” the Linux creator said. “So we’ll see.
“Probably next year, we’ll start seeing some first intrepid modules being written in Rust, and maybe being integrated in the mainline kernel.”
But there’s a limit to just how much experimenting Torvalds is comfortable with. When Hohndel suggested the next summit be held in Fiji, the moderator quipped that that’ll be costly, “so I’d like to make a proposal.”
Thinking about Linux’s 30th anniversary, he suggested, “If we could take the 1991 email, make an NFT, auction it off…” After all, the first tweet was auctioned in March for $2.9 million in ether, a value of $5.2 million now.
Torvalds wouldn’t bite. “I’m staying out of the whole craziness with crypto and NFT’s. I’m like,” he whispered conspiratorially, “Those people are cuckoo!”
The keynote conversation closed with Hohndel asking what they should do for the 50th anniversary of Linux, in the year 2041, when both of them will be in their 70s.
Characteristically Torvalds answered that, just like with the Linux kernel, he doesn’t make plans more than six months out. But the question did draw some reflection. “I’ve been very happy doing the kernel for 30 years,” Torvalds began thoughtfully.
“Somehow I don’t see myself doing kernel programming when I’m 70. But on the other hand, I didn’t see myself doing kernel programming when I was 50 either, a few years back. So… we’ll see.”