|

Things I learned from Linus Torvalds- a piece of my unfinished master’s thesis entitled “No One Knows Everything: Innis and Open Source”  by risa

by Risa Dickens

Though he doesn’t know it and wouldn’t like it Linus Torvalds, developer of the Linux operating system and original author of the Linux kernel, is my hero. Not because he has battled heroically against bad guys, or spoken movingly on mountain tops, but because of the way in which he has been a leader for and inventor of this new kind of distributed coordination. And though I’m being a bit tongue in cheek here, I do seriously believe that the success of his behavior makes some inspiring suggestions about how we will make meaning out of this new networked life.


These lessons from Linus are not in chronological order, necessarily. This is not a history, but a list of ways of being that I admire, a compilation of what we have seen him do that suggests there are other, logical ways of bringing change beyond becoming, with power swelling behind you, a mis-understood enforcer.

Be very brave.

Be brave enough to tackle enormous and potentially impossible tasks.

“Early on, Torvalds made an important decision about the size of the kernel that would have major implications for the future evolution of Linux. Some programmers feel that a kernel should be as large as it needs to be, so as to integrate all the major features of the operating system’s foundation in a single body of code. This type of kernel, called a monolithic kernel, was out of fashion among programming theorists and academics in the early 1990′s . They preferred micro kernels, which are as small as possible, providing only the minimal functions for the core of the operating system and “outsourcing” the rest to many (sometimes hundreds of small programs or utilities that run on top of the microkernel. (…) In principle it might be more efficient to to integrate tightly all the tasks of of an operating system in a monolithic kernel; but as kernels increasing in size, they become more difficult to understand and produce bugs that are extraordinarily hard to unravel.
Torvalds overtly bucked the trend by writing a monolithic kernel rather than a microkernel. He thought a monolithic kernel would be easier to hack and tweak, consistent with his vision of Linux as a learning and research tool.” (Weber, 2004, 99)

While I was growing up I remember a moment of realization I had where I understood that technology and software were our species’ way of accomplishing, over time, complex acts of coordination and accumulation.

This realization comes with two memories: one, of driving from Waterloo to my mum’s mother’s house in Toronto, and the light is getting dim because it gets dark in the afternoon here once we’ve past November, and I am looking into the windows of the other cars and thinking, for the first time, that there are other people in those other moving machines; not just driving like we are, but thinking different thoughts, and aiming different places, and going to different jobs tomorrow, and worrying about different things, and they all have mom’s and dads and ideas and plans and misconceptions. And all their cars were made by other people too.

And in the second memory, one year later, we have arrived in Los Angeles where my new step dad has a job at UCLA and there is an election going on and I have lots of questions and I watch all the debates and ads and then I realize that people will vote, and that this wave of small, and more or less informed choices is what moves this whole huge place forward. This extraordinary act of collaboration unfolding over time built the systems I saw all around me- schools and public transport. And I knew about computers from my mother’s master’s thesis-writing days when I had wandered the basement of the University of Waterloo while she typed, and so I just assumed that every system I could imagine to enable this crazy complexity was already contained in code and necessarily, elaborately, interconnected.

So to think that at that time Windows was not yet on the radar; and the Internet had no public face, no World Wide Web; that electronic databases were not used in libraries or local government; and that Torvalds was just a student starting to come up with big ideas, gives me a strange great sense of hope. Because I can’t believe that all this is new. But it is, and so we only now begin to really see what people have imagined we could do with what we’ve made. Linus Torvalds wrote a functioning operating system- literally thousands and, by now, millions of lines of code, in a few months.

“Torvalds had no love for DOS. He strongly preferred the technical approach of the UNIX-style operating systems that he was learning about in school. But he did not like waiting on long lines for access to a limited number of university machines that ran Unix for student use. And it simply wasn’t practical to run a commercial version of Unix on his PC- the available software was too expensive and also too complicated for the hardware.
In late 1990 Torvalds had heard about Minix, a simplified Unix clone that Professor Andrew Tannenbaum at Vrije University in Amsterdam had written as a teaching tool. Minix ran on PC’s, and the source code was available on floppy disks for less than 100$. Torvalds installed the system on his PC. He soon went to work building the kernel of his own Unix-like operating system, using Minix as scaffolding.” (Weber 54)

The labour of many hundreds of people had been compiled, so Torvalds didn’t have to invent packet switching, or the Internet, or the idea of writing layers of instructions that would pull the pieces of hardware into a suddenly-functioning whole machine; he clambered up the Minix architecture, defined himself against the DOS way, and between what was already known was able to imagine something new and good. “Coverity, maker of software auditing tools, recently found that the than a typical commercial software package.” (Vaughan-Nichols, 2005 http://www.eweek.com/article2/0,1759,1745120,00.asp) and studies by the independent Internet Storm Center have shown that while Microsoft Win32 has been cracked within a matter of hours, or within half an hour of being on the Internet, the Linux ones will stand for months, and will only be cracked, in general, by the cracker guessing badly chosen simple user passwords. (http://www.eweek.com/article2/0,1759,1752518,00.asp).

If Torvalds’ system had been used to compete among monopolies for a monopoly position then I wouldn’t be excited, but Torvalds and many others, most notably the Red Hat Linux distributors, saw a possible tweak in business logic, inherent, I think, in the logic of the Internet, that was a way to take this architecture-climbing farther.

Be brave enough to ask for help to accomplish these impossible tasks.

Though it seems such a small change now, I think Torvalds’ kind and pragmatic rhetoric began, from this early moment, to open up the world of software:

“I’m working on a free version of a Minix look-alike for AT-386 computers. It has finally reached the stage where it’s even usable (though it may not be, depending on what you want), and I am willing to put out the sources for wider distribution …This is a program for hackers by a hacker. I’ve enjoyed doing it and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I’m looking forward to any comments you might have. I’m also interested in hearing from anybody who has written any utilities/library functions for Minix. If your efforts are freely distributable (under copyright or even public domain) I’d like to hear from you so I can add them to the system.” (Weber 55)

Be brave enough to admit when you are wrong, and to learn from mistakes.

This is pragmatic as well. By paying attention to each small failure and success as it becomes apparent to the people it matters to; by opening your ideas and actions up to a community feedback loop, a leader who is also just a user/developer can become a recursive mechanism for the community’s and technology’s smart expansion.

“In a way, Torvalds is less a ruler (or a hood ornament, for that matter) than an ambassador, roaming his virtual world and exerting his influence to prevent technical fights from devolving into sectarian battles. Take the factions that want him to make toppling Microsoft a priority: Create a version of Linux as simple for novices to use as Windows, they reason, and you loosen Redmond’s grip on the PC. “That’s the kind of politics you see inside Oracle and Sun,” Torvalds says. “Once you start thinking more about where you want to be than about making the best product, you’re screwed.” (wired: Leader of the Free World)

Torvalds governs only by choosing what he thinks is best of the contributions, and rarely disagrees with what the people who have risen by dint of much good work to being in charge of different aspects, think best from their perspective.

“(H)e’s proved willing to publicly admit his mistakes. More than anything he seeks to avoid taking sides in a way that might splinter his followers. “I’d much rather have 15 people arguing about something than 15 people splitting into two camps, each side convinced it’s right and not talking to the other,” he says. Often, when things are on the verge of getting messy, he’ll consciously avoid making a decision, allowing time for feelings to dissipate. “Eventually, some obvious solution will come to the fore or the issue will just fade away.” (ibid)

Herbert Henry Asquith, Prime Minister of Britain from 1908 to 1916, according to Sir Winston Churchill behaved, as Minister, in this same way. As though clarity could emerge naturally over time out of disagreement, if what you paid attention to was not the party or the speaker but the pragmatic truth between them.

“Repeatedly he prevented the break-up of his government or the resignation of important Minister by refusing to allow a decision to be taken. ‘What we have heard today leaves much food for thought; let us all reflect before we meet again how we can bring ourselves together.’” (Churchill, 124)

Linux evolves in this one coordinated and voluntary direction, and also in dozens of other distributions picking and choosing their own way along.

Be brave enough to fall in love with someone fabulous and fierce.
“He met Tove, a six-time Finnish karate champ, while teaching an introductory computer course at the University of Helsinki. (She responded to his first homework assignment – each student was to send him an email – by asking him out on a date.”(wired again)

I don’t know anything else about their love story, and you might think it’s insignificant, but I think these kinds of love that slip past the border lines of behavior acceptable for each gender open up some ability to see to new horizons.

One thing I know for sure, when I met Elran, on our second date he said, “don’t worry, I know you’re smarter than me and I’m fine with it.” It’s not true, but still, with that, something in me that had always been curled tight on the defensive just opened up and laughed; and from then on I could let myself be wrong with him, and unafraid, and I could ask him questions and learn about the enormous expanse of things he knew and had to teach me. Somehow I feel this realization pulled me out of a place where I had been keeping myself from myself- one of my own monopoly formations- and put me back into a more regular relationship with myself in time. I learned in that moment of shocking sweetness that everyone is smarter about something; that no one knows everything.

Continue to do what seems right to you, even if it’s not how things are done.

Linus runs the development of Linux but refuses to enforce, leading only by virtue of continuing to make good decisions. And though he was already well on his way to being an open source hero, he took a job with the software company, Transmeta. He doesn’t follow simple rules about community good, corporate bad; he is, as Weber says, resolutely pragmatic: following the code. And in his life it seemed logical to get paid for a while, and to live in California, and be guaranteed enough time for Linux and his kids and wife, and so he went ahead and did it, though many were sure it would be the end, somehow, of open source.

This improvisational openness is not the only way open source projects are being run;

“The open source process is an ongoing experiment. It is testing an imperfect mix of leadership, informal coordination mechanisms, implicit and explicit norms, along with formal governance structures that are evolving and doing so at a rate that has been sufficient to hold surprisingly complex systems together. There is no off-the-shelf template for coordination and non-authoritative governance of complexity in the open source setting. (What we have instead) is a diverse set of experiments, a challenging environment that brings out the “bugs in the system,” and an imperfect but recursive and self-conscious error-correcting mechanism that is trying to find solutions that work. Writing computer code is not the same as writing a constitution, and formal governance is still a secondary piece of how open source manages complexity. But the norms and behavior patterns that have made the open source process a technical success are showing promise as well as a means of evolving the governance mechanisms for the process itself.” (Steven Weber 189)

tags:   


Leave a Comment







Text Link Ads

^ top ^