Twenty years ago, Finnish graduate student Linus Torvalds launched a revolution–but he didn’t know he was doing so at the time. He posted a notice on a computing message board saying he was creating a kernel, or central utility, for a “free” computer operating system. He planned on using components from the GNU open-source software portfolio and using a popular open-source license called GPL, so people could freely use and contribute to the software. He named his operating system Linux and invited anybody who wished to contribute code. This was “just a hobby,” he wrote.
Today Linux is one of the most important pieces of software on the planet. It runs the computers for major Web sites including Facebook, Amazon.com and Google; powers 75% of the stock exchanges worldwide; and is a core technology in 95% of the world’s supercomputers. Linux runs in many mobile phones and is a core ingredient of cloud computing.
And Torvalds? He’s a fellow at the Linux Foundation, which is the organization that coordinates Linux development and promotion. He works at his home office in Portland, Oregon, presiding over the continuing development of the kernel. Torvalds agreed to answer a few questions by email about Linux and what he’s up to. He declined to address big open-ended questions, such as what Linux has accomplished. He leaves such judgments to others.
Question: On the 20th anniversary, how do you feel about Linux and your role in its development?.
Torvalds: I’m very happy with how things are going. Twenty years into it, it’s still interesting and it’s still challenging. And it’s different, and it’s never gotten to be some boring daily grind. And while my role in it has changed from being a core developer to be more of a manager (but without the logistical side to it. I don’t need to “take care” of people, only worry about the technical side), I still feel that I add value, so I’m happy.
Here’s a video commemorating the anniversary from the Linux Foundation:
Question: What’s your role in Linux today?
I spend almost all my time reading email and merging patches. The merging is technically very simple and quick. The real work is
being aware of what goes in and complaining when something looks odd. And somewhat regularly sending out a nasty email–often involving cursing– saying “this doesn’t work” because somebody sent me something that I think they really should have thought about much more before trying to push upstream.
I do very little actual development, although there are a few areas I end up being involved in. Even then, much of that involvement is often trying to prod others to be aware of specific issues. I’ll send out small patches to other maintainers to do things a certain way or
Most of what I do really ends up being about the “framework” of Linux development. I make releases, I enforce the merge window when we take big chunks of new code and I do the weekly release candidates until I feel that there’s no point in delaying the next release any more.
And I talk to journalists.
Question: What new capabilities are you working on?
Torvalds: So for the last few months, the area I’ve been personally working on has been the new lockless pathname lookup code. Looking up filenames is one of those really core things that the Linux kernel does, and it was an area where we didn’t scale as well as we could have. We fixed it.
And that’s also a good example of the kinds of things I do. All told, it was a multi-year project. And I wasn’t the person to write the code (it was done mostly by Nick Piggin), and I’m not the VFS maintainer (that would be Al Viro), but I’d been involved in getting Nick to do it, and I ended up also being the person who put my foot down and merged the code when there was some bickering about details. And afterwards, I’ve been involved in the fall-out from some of the subtleties. But at no point was I a “main developer.”
The other area I have occasional direct involvement in is memory management, but that’s been thankfully fairly quiet for a good while.
Question: Is the corporate community helping out robustly with programming resources?
Torvalds: The kernel has this rather unusual (but I think very successful) relationship with the corporate culture. There are a lot of companies involved that are very interested in kernel development, but all the core developers that I work with I work with as individual developers, not as “company representatives”. I trust them as people, not as “company xyz sends me this patch”. In fact, many of them started Linux work before they got hired, and I suspect many of them see themselves as Linux kernel developers first and company employees second.
But the very fact that as a kernel developer it’s pretty easy to find a well-paid job at a company that is interested in that area of the kernel is a huge help to people. It is what allows these developers to work on Linux full-time. And I really think it’s been a very successful model. And don’t get me wrong. It’s not all about some core kernel developer that finds his “corporate sugar daddy”. Many other developers come into Linux because they were already working for a company that had Linux interest. And one thing that (as a developer) is often easy to overlook is the importance of all the other infrastructure that corporate involvement brings with it: the technical support, the access to early hardware, the Q&A, the marketing etc etc.
The other thing that corporate involvement helps with is a kind of sensitivity to what the market wants/needs, which can easily get lost if the project is too much about “by the geeks, for the geeks”. That has always been a pretty important factor in corporate involvement, even from fairly early on. It balances out some of the tendencies by technical people to get bogged down in technical issues that don’t even really matter.
So I think a large part of Linux’ success has depended on having both the wild and crazy open source technical side and having a balance with companies that have had their commercial issues. So corporate involvement has been important on many levels.
Question: What’s your reaction to the use that Linux is being put to in mobile communications?
I used to despise cell phones, and I still don’t like them as phones. I dislike talking on the phone in general. I much prefer the precision of email or the actual direct contact of face-to-face. And cell phones to me were just a way to make an irritation something that you now could make constant and have with you everywhere.
But now, I carry mine with me all the time. I still don’t talk to my phone. That would be just crazy. But I can track my email, and I can listen to music and I love the fact that it’s Linux underneath.