He is in Toronto this week to attend the annual Linuxcon there, one of many conferences which he attends. There will be celebrations at the conference on Wednesday, though.
It was in 1991 that Torvalds sent out the following message:
From: [email protected] (Linus Benedict Torvalds)
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <[email protected]>;
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them
Linus ([email protected])
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.
Not that any of this has really made a great difference to the way Torvalds regards the world. He is still very much an engineer, and still has his feet firmly on the ground.
Despite having to travel to Toronto and having his eldest daughter back home between her summer job and college, Torvalds, as always, was a gracious subject. He had the same calm approach as when I first quizzed him five years ago.
Unlike some others, he has never sought to capitalise on the fortunes that Linux has reaped for many people; the licensing of the kernel remains the same, everyone can take, and whoever modifies it, must give back their changes if they distribute their modified version. Yes, that initial devotion to standing on the shoulders of giants, still remains.
iTWire: In the 25 years since your first post about Linux, what has been your most memorable moment in the development of the kernel?
Linus Torvalds: There really hasn't been any particular single moment that I can think of that would stand out among the rest.
Honestly, most development is about getting the details right, and there are seldom big revolutionary moments when you do something radically different. So from a pure _development_ standpoint, it's not like there was that one "Eureka" kind of moment.
The things that stick with you tend to be the experiences you have, and there's been a lot of those that were _thanks_ to Linux, but not directly part of Linux development.
And not all of the memorable moments have been "good" moments. For example, I definitely remember the first time I gave a public speech about Linux, and I was a complete nervous wreck about it, because I really, really hated public speaking. But it had gotten to the point where I felt like I was missing out on not accepting speaking invitations, and I had forced myself to just say yes and do it. It was definitely not a great experience, and I still don't like public speaking, but it was certainly memorable and it was something I had to get over and do. And I still remember (veteran FreeBSD developer) Kirk McKusick coming over afterwards saying I did a good job. I'm sure he noticed how nervous I had been, and I really appreciated it.
There's been a number of "experiences" like that that Linux made happen, and that I appreciate. And *most* of them by far have been entirely positive, even if there's been a few less than happy ones too. Linux conferences with live penguins walking around, other crazy things.
What was the moment when you felt really down - if you ever did?
Once again, it's seldom (if ever) been about technical issues and development itself. The thing about technical issues is that you can always solve them. They may be annoying, they may be frustrating, and they may make you want to hit yourself in the head with a mallet, but they don't actually tend to bring you down.
So it has been arguments that turned ugly, and there's been stories written about Linux (and occasionally me) that just tend to bring you down. I've got a pretty thick skin these days, but I still occasionally wince.
The worst situation was probably around the 2000-2001 time-frame when we had serious growing pains, and our (my) processes weren't working, and things just were bad. We got over it, but there's been painful points.
But again, the ugly turns have actually been pretty damn rare, and on the whole I thoroughly enjoy working with some of the smartest people around.
How will you celebrate on August 25?
Heh. I think I'll be on airplanes most of the 25th, coming back from LinuxCon Toronto. There will be a 25-year party at LinuxCon the night before, though.
What additions would you like to see in Linux (the kernel) and distributions in coming years?
I still tend to be excited about new hardware coming out and us using new CPU features etc. And no, with small exceptions, I don't actually tend to have much of a private pipeline into information about new architecture features, so I'll be almost as surprised as everybody else.
Being close to hardware (but still a software person) was why I started Linux in the first place, so I guess that shouldn't be surprising. I still care about that side more than the distro side. I couldn't wait for other people to start packaging Linux with nice user tools around it (and to be fair, it actually happened fairly quickly - the first Linux distros came around fairly early in 1992).
Over the years you have handled an increasing bunch of developers using your own methods and never getting fazed by comments from outside. How do you stay focused in the face of all the criticism?
Oh, I get fazed by comments. Definitely. But in the end, I really do mainly care about the technology and if you don't send me an actual patch or bug report, I won't care about your emails nearly as much. "Talk is cheap, show me the code".
I joke that I may be on the spectrum. At least I _think_ it's a joke.
So what do you when someone says something that fazes you?
I tend to just let it go. I don't stew over things, that way you'll just go mad.
And I avoid the cesspools of the Internet – Twitter, Slashdot, whatever troll-infested things that try to get a rise out of you.
What is your opinion of GPL enforcement? Do you support it or think that it is somewhat over the top?
So personally, I feel that when you have to bring in the lawyers, you've generally already lost. Yes, yes, there is definitely some sleazy use going on that may or may not be legal (but the uses that are the most black and white tend to be in places where copyright law just isn't very strong), but the shady people tend to be self-limiting.
If they are doing something dodgy, they will by definition be quiet about it and not talk about it, so they also won't be able to improve on their product and take advantage of all the great things that real open source brings with it.
So I see the GPL as something where most of the "enforcement" is actually about forming the community around it. So it's a legal document, but to me the legal side is secondary – a way to make sure the bad people have to hide it, and by doing so becoming irrelevant.
Somebody would have to be really obviously violating the GPL and being nasty about it for me to feel that it's worth it to get involved with lawyers. Because while I find that I tend to like most lawyers on a personal level, I definitely prefer having as little as possible to do with them professionally.
But see above on my comment about what I really care about. I have opinions about licences, but in the end, I don't tend to feel nearly as strongly about them as about just getting the technology right. I think licence choice is very much a personal issue, and while I personally prefer the GPL exactly because it "forces" you to co-operate (or at least hide in ignominy), I also see why other people would prefer the BSD licence – or proprietary licences. That's _their_ choice.
And if somebody decides that they want to enforce the GPL, and seriously believe they have a strong case for code they wrote, I think that's their choice too.
What are the major changes that have taken place in development of the kernel over the years? Are there cases where you have had to revert changes? If so, what and why?
We revert things all the time. The reason is almost always the same: it was a well-meaning change, but it broke some hardware or workflow unintentionally, and people couldn't figure out how to get it to not break that existing use case. So we revert it.
Often a second version is better thought out and takes all the issues into account and doesn't have the problem – but occasionally it's a "oh, ok, I guess we can't do that" situation and we just live with what we have. Maybe the good intentions weren't that important in the end.
We do tend to have a lot less "revolutionary" changes than we used to, because obviously the project is fairly mature. We've learnt how to do all the fairly basic stuff fairly well, and so most changes by far are fairly incremental. But it still happens that people re-write some really old code and improve something pretty fundamental: things that have been around forever, and you didn't think would really get people going any more.
We had Luto (Andy Lutomirski) basically rewrite the x86-64 assembler code for the system call entry paths earlier this year, and that just blew my mind. The fact that we still have people who not only sweat the small details, but improve some really core longstanding code just makes me very happy – it just makes me convinced we haven't stagnated.
But the *bulk* of what goes on is things like drivers for new hardware and new architecture code to support new boards and CPUs.
I actually meant what changes in management style or man/woman management you have had to make over the years. And was there a particular way you handled a particular situation which you later thought, "boy, I could have done that differently".
I don't know. We've had big changes in how kernel development is done that obviously impacted how the kernel is managed. The whole git workflow has taken *years* to tune, and that whole process started even before git with BK.
And we've actually started encouraging having maintainers form maintainer "groups" of two or three people, because we've had several groups that liked it and felt that it took off some pressure from the maintainers. So we've evolved how we do things to the point where what we do today is almost totally unrecognisable from what we did 10 years ago, much less 20.
And the thing is, most of this hasn't been "boy, we could have done that differently" as much as fairly gradual changes to the project growing and having more developers.
For me personally, the big changes in management style have tended to be about "control" – learning to let go, and trusting the maintainers to do the right thing. Part of that trust comes naturally from just working with people for a long time, but part of it has been conscious "this isn't working, I'm actually slowing down development by being a choke point".
One particular development detail we have done for a while is the DCO (Developer Certificate of Origin, aka "sign-offs"). That got started due to the whole SCO saga and us wanting to have a way to explicitly track back changes as they flow through email and then into the code repository. That may have had an annoying legal impetus, but we've actually never had to use it for that, but it has turned out to be just wonderful for development (i.e. when somebody bisects a problem down to a particular commit), we use the information and have extended it with a lot of useful "who should be involved if something goes wrong" data.
Over the years, you could always be depended on to make an explosive comment at least twice a year. Recently that trait of yours appears to have disappeared. Or is it that you have mellowed as you approach 50?
Maybe I'm mellowing. But I have to say that we've also not had any big issues to explode about.
The things that make me livid tend to be developers who dismiss our "no breakage" rule, or who just make excuses for bugs.
I don't get upset about bugs per se. Bugs happen. We're not perfect. I may not be *happy* about them, and maybe I'll even curse and rant a bit, but I won't explode about it. Bugs happen. We'll fix them and go on. It's not a big deal.
The things that make me go ballistic tend to be when somebody who introduced a regression then blames something else than his code. Somebody saying "User space was buggy, it should never have worked in the first place" is like a red flag to me. Or "that piece of hardware does things the wrong way, we fixed our code, now it's broken and I'm not going to fix it".
And I don't recall that having happened lately. People have been quite responsible and aware of the "you have to take care of your bugs" rule.
I'm not going to say that our development has been all smooth and problem-free, because that wouldn't be true. Every merge window has its share of new problems and bugs, and we have disagreements on the details, but the *basics* have been working in our process.
If someone had to describe you in a single sentence, how would you like to be characterised?
How I'd *like* to be characterised? "A genius of our time, an Adonis in the flesh"?
Does Donald Trump's candidacy make you more or less motivated to vote in this November's poll?
Oh, I'll vote. I'm not actually sure Trump makes me _more_ motivated, though. I actually personally found Ted Cruz scarier. That laser focus on the death penalty and going for the religious right, and alienating every single person he ever worked with. Eww. Just eww.
I enjoy seeing the occasional voting sticker for "Giant Meteor 2016" with "Just end it already" under them.
But I'll vote for Hillary.
You obviously enjoy doing what you're doing. Do you think of life after Linux?
I go diving a few times a year, and imagine that I could just live like that all the time. And then realise that I'd get bored.
So no. I don't really think about life after Linux.