overview

Advanced

Linus Torvalds, Geek of the Week

Posted by archive 
By Richard Morris
17 July 2008
Source

Linus Torvalds is remarkable, not only for being the technical genius who wrote Linux, but for then being able to inspire and lead an enormous team of people to devote their free time to work on the operating system and bring it to maturity. We sent Richard Morris off to interview Linus, and find out more.

Linus Torvalds, an acknowledged godfather of the open-source movement, was just 21 when he changed the world by writing Linux

Today, 17 years later, Linux powers everything from supercomputers to mobile phones. In fact ask yourself this: if Linux didn't exist, would Google, Facebook, PHP, Apache, or MySQL?

Linus is the son of the journalists Anna and Nils Torvalds, He was attracted to computers from an early age and attended the University of Helsinki from 1988 to study Computer Science. In 1991, he purchased a PC. As the computers at the university were Unix-based, he bought a copy of Andrew Tanenbaum’s MINIX operating system. He was dissatisfied with it, and set about writing his own Unix clone from scratch, unaware of the enormity of the task.. After four months work, in his bedroom in his mother’s apartment, he announced, in the MINIX newsgroup comp.os.minix …

<blockquote> “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.” </blockquote>

Torvalds called it Linux (short for Linus' MINIX). He took a break from his studies to work full-time on the project. By the end of October he was able to announce, ‘It has finally reached the stage where it's even usable’, and released Linux under the GPL (GNU General Public License). It soon became the focus of the largest collaborative ‘open source’ project ever undertaken, including geek superstars Fred van Kempen and Alan Cox.. Linus led the development work, not just by his technical brilliance, but by his engaging and genial personality.

Linus went on to spend a total of ten years at Helsinki University, as student, researcher and instructor. His M.Sc. thesis was titled 'Linux: A Portable Operating System'

From 1997 to 1999 he was involved in 86open, helping to choose the standard binary format for Linux and Unix.

After a visit to the Transmeta Corporation in late 1996, he accepted a position at the company in California, where he worked from February 1997 through to June 2003. He then moved to the Open Source Development Labs, which has since merged with the Free Standards Group to become the Linux Foundation where he works today. He continues to work on Linux’s kernel, creating code under the GNU GPL (General Public Licence) and leaving other people to package and distribute it.

Unlike many open source legends, he likes to maintain a low profile and generally refuses to comment on competing software products - happily he’s decided to relax his rules and talk to us.

RM: 'In your famous debate with Tanenbaum on micro versus monolithic LT: kernels you say that "From a theoretical (and aesthetical) standpoint [micro kernels are better]". Could you foresee a day where the practical matches the theoretical and aesthetical and the Linux Kernel does become obsolete?'

LT: 'I can certainly imagine the Linux kernel becoming obsolete - anything else would just be sad, really, in the big picture. That said having now worked in the OS area for the past, what, 17 years or so, I don't think it's micro kernels per se that would make it happen.

IOW, having done "traditional" kernels for that long, I've become convinced that they are done the way they are done traditionally for the same reason wheels are round - it's just the right way to do it: The same way that wheels are round because it's practical and they just roll better that way, you don't want to split a monolithic kernel up into many smaller things. In a kernel, you basically need to know what all the pieces are doing to make certain global decisions, and that's hard if you split things up too much.

But what can make a big deal to what is the best way of doing things is simply hardware changes or changes in what users do and how they interact with their computers. And while I don't see any big fundamental shift in how things are done, I think that is ultimately what may make Linux obsolete. -not in the near future, though. Software and hardware have an amazing inertia, and ways of doing things tend to stay around for decades. So I'm not exactly worried. '

RM: 'Many significant projects such as Apache, PHP etc do not use the GPL license. Do you think this damages the free software source community or do you think the heterogeneity of open source licenses has allowed more people to contribute to the overall effort? '

LT: 'I think heterogeneity is good. People don't agree on their goals and their motivations, and they shouldn't. There's no real reason why everybody should agree on a single license - it's not only unreasonable to expect people to all agree to begin with, but different areas of endeavor may simply have fundamental reasons why they want to do things in different ways. For example, I obviously believe that the GPL (and v2 in particular) is a great model for working together - letting everybody share the code, but also making sure that nobody can then try to take advantage of other peoples work - you "pay" for the source code by giving source code back. I call it the "tit-for-tat" model, and it works well not only in the software world, but is fairly well known in economics and game theory too.

But the fact that I like it for the kind of endeavor I'm involved with doesn't mean that others can't have other goals. For example, if you're a standards body, and you want to use open source as a way to distribute a reference model, you may not be interested in the "tit-for-tat" part, but you want to just spread the reference code as widely as possible so that people start out with a certain basic proficiency, but you also want to make that reference the base for proprietary code-bases. So in that second situation, you might want to do an Apache or BSD license.

So even from a purely rational standpoint it makes sense to have different licenses. And no, I'm not claiming that programmers are always purely rational. There's a lot of ego involved, and a lot of personal quirks, which may explain exactly why there are so many subtly different licenses to try out.

But hey, choice is good! And there really isn't a lot of confusion, since there really are just a handful of very popular and common licenses. '

RM: 'Recently we interviewed Dr Richard Hipp of SQLite fame, what do you think about his decision to remove all restrictions on the use of his code and place it in the public domain? Why didn't you do the same with Linux - surely then the code would really be free? '

LT: 'That word ‘free’ is actually a word I try to avoid using, because it means so many different things. And no, I don't mean just the trivial difference between ‘free of cost’ (as in ‘gratis’) and ‘freedom’. Even in just the ’freedom’ meaning, different people have so many different ideas of exactly what and who should have the ‘freedom’. It's one reason I use the term ‘Open Source’, and one reason I'm actually known to butt heads with the FSF. They make a big deal about the "freedom" term, and they define it in just very particular way.

So what is ‘freedom’ to you? Is it ‘anarchy’ - the freedom to do anything you damn well want to do? If so, the BSD license is certainly much more free than the GPL is. Or is it any number of other ways to describe what "freedom" might mean? Often in very emotional terms, to boot? I'm not really interested in that kind of discussion. It's what I call "mental masturbation", when you engage is some pointless intellectual exercise that has no possible meaning. So when I try to explain my choice of license, I use the term ‘Open Source’, and try to explain my choice of the GPLv2 not in terms of freedom, but in terms of how I want people to be able to improve on the source code - by discouraging hiding and controlling of the source code with a legal copyright license, everybody can build on the work of each other, and it basically encourages a model where people end up working together.

And don't get me wrong - I'm not saying that in a ‘sing cwm-by-ya around the camp-fire’ kind of way. It's very much an 'everybody for themselves' model, where people are encouraged to work on the things that they think matter for their needs. But the GPLv2 is there to keep it from anarchy: it doesn't block competition and people working at opposite ends, but it does block people from trying to be anti-social and hurt each other.

People need social rules. The same is true of projects. And you need some rules that can be enforced, so that people know up-front what they are getting themselves into. And note how I'm not saying that the BSD license is bad, or that putting something into the public domain (which is even more of a free-for-all) is bad. If it was what Hipp wanted for his code, then it was the right choice. So I think that anarchy is certainly ‘more free’ than having rules, but it is also pretty certainly also less productive, and I think that at least a certain class of programmers are going to be less interested in the project exactly because they don't see the rules in place to protect their work.

So not everybody likes the GPL, but a lot of people like it exactly because it puts certain safeguards in place. Are they the safeguards you would want? That will have to be your personal choice before you join a project that uses that license, but we can certainly look back and say that they seem to be conducive to productivity and success of the project.

RM: 'Do you think software patents are a good idea?'

L:T 'Heh - definitely not. They're a disaster. The whole point (and the original idea) behind patents in the US legal sense was to encourage innovation. If you actually look at the state of patents in the US today, they do no such thing. Certainly not in software, and very arguably not in many other areas either.

Quite the reverse - patents are very much used to stop competition, which is undeniably the most powerful way to encourage innovation. Anybody who argues for patents is basically arguing against open markets and competition, but they never put it in those terms.

So the very original basis for the patents is certainly not being fulfilled today, which should already tell you something. And that's probably true in pretty much any area.

But the reason patents are especially bad for software is that software isn't some single invention where you can point to a single new idea. Not at all. All relevant software is a hugely complex set of very detailed rules, and there are millions of small and mostly trivial ideas rather than some single clever idea that can be patented. The worth of the software is not in any of those single small decisions, but in the whole. It's also distressing to see that people patent ‘ideas’. It's not even a working "thing"; it's just a small way of doing things that you try to patent, just to have a weapon in an economic fight. Sad. Patents have lost all redeeming value, if they ever had any. '

RM: 'What do you think of Microsoft's efforts to take part in the open source community? Do you think they are sincere in their efforts or do you see it as some sort of embrace-extend-extinguish approach? '

LT: 'I have no real way to judge that. I personally think that parts of Microsoft certainly are sincere, and other parts are almost certainly not. It's a pretty big and bloated company, and when one hand says it wants to participate in open source, I doubt the other hand knows or cares about it.'

RM: 'If Microsoft were to approach you to go and work in their Open Source labs would you consider it?'

LT: 'I'm not a Microsoft hater, so I'm not going to say ‘No! Never! I will fall on my sword before I give in to the Dark Side!’ That said I find it unlikely that MS would ever offer anything that I would consider relevant. Money? Hey, they have it, and I like it, but I obviously don't value it over everything else. And they are unlikely to offer the things I really value. '

RM: 'What part of an Operating system do you think is the most difficult to write?'

LT:


That's actually an interesting question, just because my answer is that it's never any particular part.

Yes, all the details tend to be complicated too, but the real job is to make it all work together. Compared to that, any particular detail you might want to point at may be a technical challenge, but ultimately not anything that really puts people off. For example, one area that we had a really hard time with (and that still causes problems, even if it's gotten much better) is power management and the whole suspend/resume that people do on laptops.

And it was hard not so much because any particular detail was really intractable, but because it touches every single subsystem in the whole kernel (and many out in user land too!), and that was really what ended up making it so challenging.

RM: 'Which Linux distro do you use? '

LT: 'I've used different distributions over the years. Right now I happen to use Fedora 9 on most of the computers I have, which really boils down to the fact that Fedora had fairly good support for PowerPC back when I used that, so I grew used to it. But I actually don't care too much about the distribution, as long as it makes it easy to install and keep reasonably up-to-date. I care about the kernel and a few programs, and the set of programs I really care about is actually fairly small.

And when it comes to distributions, ease of installation has actually been one of my main issues - I'm a technical person, but I have a very specific area of interest, and I don't want to fight the rest. So the only distributions I have actively avoided are the ones that are known to be "overly technical" - like the ones that encourage you to compile your own programs etc.

Yeah, I can do it, but it kind of defeats the whole point of a distribution for me. So I like the ones that have a name of being easy to use. I've never used plain Debian, for example, but I like Ubuntu. And before Debian people attack me - yeah, I know, I know, it's supposedly much simpler and easier to install these days. But it certainly didn't use to be, so I never had any reason to go for it. '

RM: 'Do you think that products such as open office can gain acceptance by being clones of more widely used commercial products or do you think they need to innovate before they will gain acceptance?'

LT: 'I think that ‘innovation’ is a four-letter word in the industry. It should never be used in polite company. It's become a PR thing to sell new versions with.

It was Edison who said ‘1% inspiration, 99% perspiration’. That may have been true a hundred years ago. These days it's ‘0.01% inspiration, 99.99% perspiration’, and the inspiration is the easy part. As a project manager, I have never had trouble finding people with crazy ideas. I have trouble finding people who can execute. IOW, ‘innovation" is way oversold. And it sure as hell shouldn't be applied to products like MS Word or Open office.

So no, I don't think people need ore innovation. I'd rather see more people sell their product on some plain old-fashioned ‘being good’.

And yes, I think open office certainly can compete. Software is a harsh area, in that the incumbent who has been in the area for many years not only has mind-share and PR and is seen as the ‘innovator’ (‘You keep using that word. I don't think it means what you think it means’), but even more so, they simply have more years of experience under their belt.

And unlike ‘innovation’, the ‘years of effort’ definitely matter in this market.

Of course, quite often, ‘years of effort’ also tends to mean ‘years of bloat’, so after a certain point, it's less helpful than it used to be. I think that's what you're seeing now with MS Office vs Open Office - the advantage of years of effort that MS has is starting to not be able to overcome the costs of bloat and self-satisfaction.'

RM: 'Do you think the year of the desktop will ever happen? If it is going to happen what does the community need to do to make it happen?'

LT: 'I don't think there is a ‘year’. What happens is that usage expands. Every year. And I don't think it's so much about the kernel per se. Yes, you need a kernel on the desktop, but the things that should be looked at from a desktop standpoint is probably not so much the kernel as it is things like Firefox and Open Office usage, and the development of Gnome and KDE. '

RM: 'Is the GPL a religious issue for you or was it chosen on a whim?'

LT: 'Neither, really. It isn't religious - see my explanation above how I actually try to avoid the whole issue of ‘freedom’ because it's such a pointless argument - but it certainly wasn't a whim either. The GPLv2, still almost two decades after the choice, is still my license of choice.

Of course, I also cannot really claim that it was hugely premeditated or went through lots of planning. The GPLv2 wasn't my first license - I started Linux with a stricter license that said you had to give source code back and you couldn't sell it at all.

So the fact that I ended up with the GPLv2 was certainly due to various lucky circumstances and ‘because it was there’, but it wasn't a ‘whim’ in the sense that I didn't know what I was getting into.

Many other things have been more of a ‘whim’. I think I did a fairly good and informed job on the choice of license, but a lot of my other early choices were certainly not very informed. I never thought Linux would grow to be as big as it became - even in my wildest dreams. And the whole thing about starting to write my own OS to begin with - that was certainly a whim.'

RM: 'John 'Maddog' Hall used to say that 5.2 billion people had yet to choose their operating system and as such there was all to play for. It was just a matter of getting to them before Bill and Steve did. How has that been playing out? Have India and China and Indonesia now chosen their OS? Or have the universities of the BRICs begun to appreciate the benefits of .NET over Mono ?'

LT:


'I do think that open source has a huge role to play in many places, not even so much because of cost (the incremental costs of any software copy is basically zero, so Windows can certainly make cheap copies for the developing world available) as it is for building up their own infrastructure and software knowledge.

That's one of the advantages of open source, after all - you're not just buying into a "black box", you're actually buying into a whole infrastructure that you can study and really make your own.

And I do think it seems to be playing out that way in some places. Especially parts of South America, for whatever reason (probably largely cultural). But I certainly don't think this is an all-or-nothing thing, so as those countries grow their computer usage, I don't think it's going to be radically different from any other area.'

RM: 'Is the proliferation of Linux distributions, a good or a bad thing on balance? Would he rather there was more focused effort on fewer distributions. '

LT: 'Me personally, I'm a believer in choice. Yes, it can be confusing, and yes, it can cause the market to look more fragmented, but on the other hand, it also begets competition. And competition is good - and it's good even within a project. It's what makes people try different things, and it ends up being very motivational.

So I don't personally think we'd have gotten anywhere without all those wild-and-wacky distributions. I'd rather have a bit of spirited discussion and even infighting than a staid landscape with a single vendor (or a couple of vendors who carve out the market).'

RM: 'It's almost as if the 'distro economy' of Linux is like the Taiwan model; i.e. the Taiwanese economy is unlike Japan, Korea and Mainland China insofar as there is a constant organic churn and limit to the growth of individual companies and yet it is still highly innovative technologically. Red Hat and SuSE once promised to be the Ford and GM of Linux but where are they now? Ubuntu came from nowhere and beat them easily. Will the same happen to Ubuntu?'

LT: 'I think that's very healthy. And I do know that the whole model means that you have to run just to keep up (in evolution, it's called the ‘Red Queen's Race’ when you have to run just to stay in place - from Alice in Wonderland).

And that's good. It keeps us all honest. And I very much say ‘us’, because I think similar effects happen inside each project too: maintainers cannot just rest on their laurels and coast along on their projects, because if you don't do the job well, somebody else can come in and do it for you - and it happens occasionally to open source projects and people talk about forking. '

RM: 'Has the boom in Linux certification in the last few years had a positive effect on enterprise trust in the platform? Or did greater enterprise adoption cause the demand for certification? It seems arguable that trust in the platform has increased inversely as the support-engineer's status has been lowered from mystic guru to humble technician?'

LT: 'Hmm. I actually don't see it in those terms, because I don't think they are at all opposing viewpoints, but quite the reverse - just the natural progression of enterprise economics.

Yes, enterprise trust and adoption spurs interest in areas that enterprises pay for, so enterprise trust obviously results in more demand for certification. But yes, it's also a positive feedback cycle, where the availability of certification then feeds enterprise trust. And "trust" is really just another form of "familiarity" - the market will adopt forms that enterprises are familiar with in order to increase that familiarity. So I don't see any dichotomy there. It's not an either-or, quite the reverse. As to support engineers and "lowered status", I think that's actually part of the same thing. The least that enterprise market wants is surprises: it wants steady, plodding, more-pf-the-same, long-term plans. In other words, it wants familiarity and trust, and it wants the _same_ familiarity and trust down the line. Not surprises.

So the last thing that market wants is "mystic guru". Linux has been around for long enough that the market trusts the model, and even likes being associated with that wild-and-crazy uncontrollable open source crowd (because everybody wants to think they are hip, even the least hip of us!), but they definitely also want the plodding boring engineer.

So it's not that things have gone from "mystic guru to humble technician", it's that the enterprise market has added the humble technician, because at the end of the day, that market really wants ploddingness.

And I realize that "ploddingness" isn't likely to be a real word, but it should be, and it's what the enterprise market wants. They also want to know that they have the mystic guru on their side (they know that long term, you do need some imagination), but for the everyday grind, they'll take the humble technician, thank you very much.

So that part isn't a one-against-the-other thing either, it's again more of a ‘I'll have both of them, please’ thing. '

RM: 'I can’t end without asking you about the Steve Ballmer quote. You know the one where he said 'Linux is a cancer that attaches itself in an intellectual property sense to everything it touches.' What do you think he meant by this?'

LT:


'I have a hard time really seeing what the heck Ballmer is doing. First the monkey dance, then the chair throwing. At some point he called Linux 'un-American', apparently because he doesn't like the competition. Then the cancer thing. And now this fixation with Yahoo! When will it end?

So what can I say? I think he tried to say that open source grows very aggressively and takes over (which is good - if you're into that whole expanding markets thing), but he wanted to put it in terms of something that grows out of control and is bad for what it is growing in. Thus: cancer.

So I can certainly see the logic of choosing that word. '

RM: 'Do you think it makes any sense?'

LT: 'Do I think it makes sense? No. Of course open source grows aggressively: what's not to like? Low cost, great quality, and a lack of being shackled to some commercial company that you can't really trust further than the fact that they'll happily continue to take your money. Sure, it grows.

And yes, it does grow at the cost of Microsoft, but that's called ’competition’. It doesn't make it 'cancer' any more than it ever made it 'un-American'.