CNETAnalysis: The Linux kernel is what everything else runs on top of, so it’s the key to everything that a Linux device can do. It’s in your Android phone. It’s in the computers that run the servers at Google, Amazon and all the other web services that we take for granted. It powers the database that US immigration uses to decide if you are who you say you are, it’s deep under the Alps searching for new particles at CERN, and it’s even on unmanned drones searching for drugs traffickers in the Caribbean. Linux is everywhere. We at Linux Format were lucky enough to speak to Linus Torvalds, the man who wrote the original Linux kernel and still works as its maintainer. We went to his house, we stroked his dog, we almost killed his wife in an embarrassing car crash, but despite that socially awkward automotive incident, he didn’t seem overly annoyed by our presence. Although he could have been rich beyond the dreams of most (and he could still use his position as kernel maintainer to make potloads of cash), he’s more concerned with putting food on the table and a roof over his head. Instead of buying a Hawaiian island or an enormous yacht, he’s happy arguing with people on the internet. And instead of getting his Google Nexus 7 delivered by helicopter straight from Google HQ (he did write the guts of its operating system, after all) he has to sit at home all day and wait for the postman to turn up, just like everyone else. Thanks Linus; we love your work… Announcing Linux Linus Torvalds began work on Linux around April 1991, but he didn’t announce it to the world until 25 August 1991, when he sent this message to the comp.os.minix Usenet newsgroup: 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 ”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@example.com) PS. Yes’ it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have . Linus Torvalds Minix is another Unix-like operating system. It was created by Andrew S Tanenbaum in 1987, but was made available only for use by universities. Linus was a Minix user, but found it had limitations. It was designed to work on 16-bit processors, so wasn’t adapted well to the 32-bit instructions on the increasingly popular Intel 386 processors. So, Linus set about creating a Minix-like operating system that would let him take advantage of the extra features it provided. Another striking feature of this message is how low and humble his expectations were. Linus never set out to change the world, and he just wanted to make something cool that would be useful to him. Too much choice Choice is good – or so the free software mantra goes. But choice leads us to RPM vs Debs, to a proliferation of desktop options, and to the internet being clogged with hundreds of practically identical Ubuntu respins. What does Linux’s end-of-level boss think? LXF: Has the Linux desktop failed because there’s too much choi! ce? [Laug! hter] Linus Torvalds: I don’t think the desktop is doing too well, and there’s technical reasons. You’ve probably seen my rants about how, to some degree, I think the desktop is going in the wrong direction, but the big reason is normal people don’t want to install an operating system. You can’t get a desktop unless you have pre-installs, and that hasn’t happened. There are cases where, if you knew where to look, you could get Linux pre-installed if you bought Dell. But, realistically, nobody has done pre-installs. LXF: But if the KDE teams and the Gnome teams hadn’t spent so much effort creating failed first versions of their desktops? LT: I think that’s maybe more painful for people who… I know people who decided to give up on the Linux desktop even though they’re technical people, just because they got so fed up with Gnome and KDE, so that has been a negative. But at the same time, even if they hadn’t done that, I don’t think you’d get the normal… the grandmas, people who don’t actually like computers, wouldn’t have used the Linux desktop. Even if we wouldn’t have had these painful ‘change everything’ moments. I’m very unhappy with what Gnome and KDE have done, but in the big picture, I think that’s a small, small detail. LXF: We’ve always wondered why you don’t use the Linux trademark to create a default Linux environment. LT: I’m not interested. I never wanted to do anything about the technical side. I’m perfectly happy complaining, because it’s cathartic, and I’m perfectly happy arguing with people on the internet because arguing is my favourite pastime – not programming. But at the same time the trademark, in particular, I want to have as little as humanly possible to do with that because it’s just been a huge pain. It was a pain from the very first, when we had the whole trademark squatter person, but trademarks are ludicrou! sly bad. ! And, in fact, the legal situation in trademarks encourages corporations to do stupid things, because their lawyers feel if they don’t do the stupid things they will lose control of the trademark, and it’s bullshit, but lawyers are paid to be anal about things. So I wouldn’t want to use the trademark anyway. Plus, I actually enjoy the situation where… like some people complain about how Google and Ubuntu don’t say ‘Linux’, but just say ‘Android’ or ‘Ubuntu’. Technical people will complain ‘it’s Linux, and now people don’t know they’re using Linux’. Which is true, a lot of people don’t even know they’re using Linux. LXF: And that doesn’t bother you? LT: And that doesn’t bother me at all, because I’m interested in the technical side. And I actually think it’s the right thing to do, to say: “Hey, we’re doing our OS”. And when they say OS, they mean more than just a kernel, and when I say OS I usually mean just the kernel. But if you’re doing your OS, Linux is a central, but it’s still just a small part of the overall thing – you shouldn’t need to name your stuff just because you use the Linux kernel. So, I actually wouldn’t want to use the trademark thing, plus I think it would be stupid anyway because I think people should just rename their things. LXF: What we were getting at was we think the LSB has been a bit of a failure in kind of defining, I mean RPM is still the default package manager on the LSB, and whether there was some other way… LT: Yeah, but there hasn’t been anything better. The Debian people will point to the advantages of Debs, but technically, they’re different but not better. People have strong opinions about it. Debian people had serious problems with things like signing because the Deb packages didn’t have the capability. So they had some things they did better and some worse. So to so! me degree! packaging isn’t easy, and at the same time nobody really cares. The bugs people have in the packaging format… LXF: Users care. LT: Yes, but I mean, they don’t… the bugs they see aren’t the bugs of the packaging format. The bugs they see are things like “Oops, the package is technically correct, but it doesn’t actually specify all the dependencies”. LXF: But they want to install the latest Firefox, and they don’t want to know what a packaging manager is. LT: Right, and they shouldn’t… LXF: What we’re saying is the LSB would be the ideal way of solving that problem. LT: Yes, and to some degree the LSB tried to do that, but the LSB tried to aim for a smaller thing than Firefox. So the problem, when you mention Firefox or Chrome, they are particularly nasty packages. Which is true of games, too. They need more than just the Linux standard base. They need to be huge. They need sound, and static linking won’t help them. Sound is a systems issue. LXF: But not if it was a standard system. LT: Right, but nobody can force that. If we had tried it wouldn’t have worked anyway. Some of the things that people hated, like PulseAudio… LXF: But it is awful. It’s really powerful, but have you tried to configure it? LT: These days it actually works. LXF: But it’s hideously complicated. LT: So is every alternative. Have you tried Jack? It’s better in some respects, but worse in the hideously complicated aspects. LXF: One of the things Apple gets right is CoreAudio, since the user sees nothing. LT: Right, and that’s the advantage, but it’s the disadvantage too. This was Microsoft’s big advantage. They were the one-stop shop. LXF: Do you think that’s still their advantage, with Windows 8? LT: I think they clearly lost a lot of the advantage. They lost the momentum, their user base hated them for a lot of reasons. People are so happy to jump ship when they can, and Apple is obviously taking a lo! t of that! jumping ship, but they still… I mean, people love to say how Apple is doing great, Apple is like 10% now. It’s much better than it used to be, but Microsoft are still huge. LXF: Maybe it’s a personal thing, but we feel if Linux provided PulseAudio tools as a volume control, and everyone had to conform to that, things would be better. LT: Well, yes, some things would be easier if there was no choice, I agree with you. The benevolent dictator Apart from feeding the sharks with laser beams on their heads in his hollowed-out volcano, what does Linus do with his time nowadays? He could have made billions, like Paul Allen and Bill Gates of Microsoft, Larry Ellison of Oracle, or the late Steve Jobs. Instead, he just wants to fix code. And argue, of course… LXF: We read that you mostly spend your time committing the merges to the kernel. How do you manage to stay enthusiastic when it’s not coding anymore? LT: Most of my merges, technically they take two seconds to do the actual merge. It takes me more time to actually read and copy and paste the Git address, and read what’s going on. I mean, the merge itself takes no time . LXF: Right, but we imagine you having some understanding of what it’s going to do. LT: In most cases, I don’t even care. When I get a merge from a sub-system maintainer for an area that I’m not that into, I mean especially if the sub-system maintainer is a good one. I mean I used to care deeply about networking, 15 years ago. I don’t anymore because David Miller, I trust him and he does a really good job, and networking, to some degree, is not something I’m fundamentally interested in. It’s not like the VM layer, or the MM layer, where it’s really my kind of thing. So I don’t get excited about those. I don’t have to think about it, I look at what he’s doing because I want to have a high-level view of the changes, so two weeks from now when someone sends me a bug report… it’s not that ! I remembe! r that line, but I remember there’s something changed in this area, kind of thing. So most of the stuff, once I’ve found a maintainer who works well, I don’t have to do that much (other) than have an overview idea of what’s going on. LXF: And that’s enough? LT: That’s enough for most of the code. I get more excited about the… I mean when I get really upset about something, it’s when someone does something stupid. Especially from a developer standpoint. It’s seldom even from a code standpoint anymore. It’s like sometimes I send out these emails saying “this code really sucks, don’t ever send me code again because you’re too stupid to live”, but the things that tend to worry me most are things like… somebody sends me big changes outside the merge window and clearly didn’t think the impact outside the code thing through at all. I mean the code is important, but realistically what I maintain these days is not the code but the workflow for people. And that sometimes gets my goat in a big way when somebody does something stupid in a big way, and then I get really excited, and by excited I mean I curse at people. LXF: What happens when Google drops a big Android [update], as it did early this year after being separate, do you get a heads up on this? LT: That was surprising, I expected it to be much more contentious. We discussed this before it happened, and I mean a lot of Google Android issues were not so much Google issues as kernel developer issues. That was one of the big things we discussed at the last kernel summit, it was ‘what should we do about Android?’. And the consensus, and maybe I pushed it through but there were other people who agreed with me, was that hey, the people who didn’t like some of the Android approaches were wrong, and you were proven wrong by acclamation. Android is doing really well and it’s working, and nobody actually had alternative working code that was really! somethin! g Google would accept, because they had issues that nobody else was solving for them.