How to Become Linus Torvalds
by Glyn Moody
Most people in the free software world know about the famous “LINUX is obsolete” thread that began on the comp.os.minix newsgroups in January 1992, where Andrew Tanenbaum, creator of the MINIX system that Linus used to learn about operating system design, posted the following rather incendiary comment:
Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that.
As Linus himself noted in his response:
Well, with a subject like this, I'm afraid I'll have to reply.
Apologies to MINIX-users who have heard enough about Linux anyway. I'd like to be able to just "ignore the bait", but ... Time for some serious flamefesting!
The argument centred around the technical issue of whether microkernels or monolithic kernels were the future. But another heated discussion between Tanenbaum and Linus, which began on 5 February 1992, touches on quite different matters:
An interesting question is whether Linus is willing to let LINUX become "free" of his control. May people modify it (ruin it?) and sell it?
The test comes when a sizeable group of people want to evolve LINUX in a way Linus does not want.
The next day, Tanenbaum summed things up in a pair of memorable images:
I think coordinating 1,000 prima donnas living all over the world will be as easy as herding cats
If Linus wants to keep control of the official version, and a group of eager beavers want to go off in a different direction, the same problem arises. I don't think the copyright issue is really the problem. The problem is coordinating things. Projects like GNU, MINIX, or LINUX only hold together
if one person is in charge. During the 1970s, when structured programming was introduced, Harlan Mills pointed out that the programming team should be organized like a surgical team--one surgeon and his or her assistants, not like a hog butchering team--give everybody an axe and let them chop away.
To Tanenbaum's questions, Linus replied:
Just so that nobody takes his guess for the full truth, here's my standing on "keeping control", in 2 words (three?): I won't.
He then went on to make some perceptive comments about how he ran the Linux project:
The only control I've effectively been keeping on Linux is that I know it better than anybody else, and I've made my changes available to ftp-sites etc. Those have become effectively official releases, and I don't expect this to change for some time: not because I feel I have some moral right to it, but because I haven't heard too many complaints, and it will be a couple of months before I expect to find people who have the same "feel" for what happens in the kernel.
Yes, coordination is a big problem, and I don't think Linux will move away from me as "head surgeon" for some time, partly because most people understand about these problems. But copyright / is / an issue: if people feel I do a bad job, they can do it themselves.
Even more remarkable than the fact that Linus was able to provide such a clear-sighted assessment of the unusual way Linux development worked so early on in its life is the fact that nearly 20 years later, it remains largely true.
Linus *still* has no formal power, no mechanism whereby he can enforce his decisions about the kernel. It's still the case that the “only control” he has is that he knows the code “better than anybody else”, and that if he does “a bad job”, someone else can do it themselves – that is, fork the code.
Linux has avoided that fate because Linus has developed what amounts to a new way of managing large-scale projects involving huge numbers of geographically-dispersed contributors. Although the final decisions rest with him, he takes them in consultation with a wide range of coders. He is constantly involved in discussions on key mailing lists that allow important issues to be raised by anyone. Ultimately, then, he leads in part by being able to sense what the collective will of the Linux development community is on particular issues, and by not straying too far from it.
Now, there is only one Linus, but I believe that general approach is starting to move out into other spheres. In part, that's because adaptations of the open source development methodology – based on a modular, distributed, collaborative development model – are being applied in more and more fields, from content to science and even to government. That approach brings with it a need for a different kind of management: top-down just doesn't work in these circumstances. And so, as well as the novel business model that free software implies, discussed in my last column, it has also engendered a radically new way of running things.
Proof that this is not some abstract idea can be found, I think, in a rather unusual place: the world of microblogging. Although I've only been immersed in this culture for a year and a half, I've been amazed at how the dynamics I've described above seem to operate here too. For example, when I'm choosing whether or not to post something to my (synchronised) identi.ca and Twitter accounts, I'm always aware of the unseen community of my followers, of their opinions, knowledge and interests.
Even though people have kindly decided to follow me, I don't feel that I'm their “leader” in any sense, or that I can post material that somehow lies outside their expectations (or, at least, not too far, or too often). On numerous occasions I have been on the point of writing about something, only to stop and ask myself: but what will my followers think? Sometimes I do post, but on other occasions I have thought that it wouldn't be “right” for them, and deleted it. In a sense, my posting patterns are controlled – however subtly – by that looming background presence of individuals scattered around the world.
The reason why I don't resent this curious loss of power is that these people are a wonderful sounding-board for trying out fully-fledged ideas or even just flying a kite - releasing early and releasing often. The feedback tends to be near-instantaneous and brutally frank – just what I need. Indeed, I find the times when significant numbers of people following me disagree with what I have written to be the most fruitful, since that divergence of views suggests that things are more complex and richer than I thought.
The end-result is that I am often able to understand complex issues better, and more quickly, than I would have without this kind of commentary and correction. Effectively, bugs in the mental “code” running in my brain are located and eliminated thanks to the collective power of my followers' eyeballs trained on their microblogging clients.
This surprisingly direct, even intimate, relationship with thousands of people, most of whom I have never met, is slightly disconcerting, but also strangely exciting. It is perhaps the closest we lesser mortals will get to feeling what it's like to be Linus managing – and being managed by – the extraordinary project that is Linux.