30 Linux Kernel Developers in 30 Weeks: Jonathan Corbet


Our 30-week series profiling 30 Linux kernel developers continues today with a profile of Jonathan Corbet. It’s hard to believe anyone in the Linux community wouldn’t know Jon. He is a contributor to the kernel, a frequent speaker at Linux events and the editor of the most widely-read publication on Linux kernel developments, LWN.net. Jon is also co-author of The Linux Foundation’s annual report “Who Writes Linux” and publishes a number of useful documents, including the Linux Weather Forecast and “How to Participate in the Linux Community.”

Whether or not you know Jon a little or a lot, we hope you learn something new about him in this profile, from how he ended up in Boulder, Colorado to the ski run named after his father, to what he’s running on his desktop and how he suggests Linux newbies get involved in the community.

Jon CorbetName

Jonathan Corbet

What role do you play in the community and/or what subsystem(s) do you work on?

I specialize in making a fool of myself on the Internet, writing and speaking about kernel topics for an audience that knows more than I do. I’m the lead author of Linux Device Drivers and have written a handful of Video4Linux drivers. Occasionally I dirty my hands in some other parts of the kernel; I did a little piece of the work to finally get rid of the big kernel lock, for example.

Where do you get your paycheck?

LWN.net is my main job, supplemented with a bit of consulting here and there.

What part of the world do you live in? Why there?

Boulder, Colorado, USA. I first came here to attend the University of Colorado and kind of never got away. Boulder is a great combination of university town, hippie enclave, high-tech center, and natural paradise; it’s hard to think about leaving.

I’m originally from northern Wyoming, where there’s a ski run named after my father.

What are your favorite productivity tools for software development? What do you run on your desktop?

I tend to have a number of different distributions floating around so I can see what folks are up to; the desktop is currently running Debian Testing. My biggest productivity tool is certainly Emacs, along with claws-mail and a Python interpreter.

How did you get involved in Linux kernel development?

In the early 1980’s, as an undergraduate, I was given the opportunity to “fix” memory management on a VAX running an early BSD release.  Happily, the resulting code is long since gone from all memory, but I’ve stayed close to kernel development ever since. I set up my first Linux system in 1993, but it was a few years later before I had the opportunity to send my first patch in.

By 1997 it seemed clear that Linus’s (in-jest) goal of world domination might actually happen. So I resolved to quit my safe day job (which was getting overly pointy-haired for my taste anyway) and make a go at it.

What keeps you interested in it?

There is always fun in hanging around with groups of smart people, and the kernel community certainly qualifies. The challenges are interesting and the community we have built to address them is nearly unprecedented. Making life better for vast numbers of users is extremely gratifying, but the fun predates the Linux boom.

In the end, it’s an adventure. We’ve changed the world, and we’re not done yet. Who wouldn’t want to be a part of that?

What’s the most amused you’ve ever been by the collaborative development process (flame war, silly code submission, amazing accomplishment)?

Nearly ten years later, I remain struck by what the whole SCO debacle revealed about our community.  As a group, we studied up on legal issues and fought this attack on every front imaginable. Meanwhile, the kernel code base was put under a microscope and millions of dollars were spent trying to find legally questionable code, and there was none to be found. Who would have believed that a loose development process involving thousands of people would be so squeaky clean?

What’s your advice for developers who want to get involved?

Read the documentation in the kernel tree; there’s a lot of information there on how the process works. Read the mailing lists for a while and do your best to understand the discussions and the code. Fix bugs, there is no better way to build respect in the community.

What do you listen to when you code?

All kinds of stuff, but much of it is driven by our local, volunteer-run radio station appropriately called KGNU.  There are very few stations like it anywhere in the world as far as I can tell.

What mailing list or IRC channel will people find you hanging out at? What conference(s)?

linux-kernel for mailing lists. I don’t do much IRC; I just don’t have the time for that, and it’s too disruptive for my style of work. As for conferences: my normal answer would be “all of them,” but I may still be a little scarce for the next year.