30 Linux Kernel Developers in 30 Weeks: Greg Kroah-Hartman


This week we talk to Linux stable kernel maintainer and Linux Foundation Fellow Greg Kroah-Hartman. This is the fifth profile in our 30-week series that shares the stories of 30 Linux kernel developers. You can see all the profiles to date on our Special Features page.


Greg Kroah-Hartman, but commonly known as “Greg K-H” as no one knows how to pronounce my last name.

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

I currently manage the stable kernel releases for the kernel and am the subsystem maintainer of USB, driver core, staging drivers, serial, tty, char, and a few other minor ones.

Where do you get your paycheck?

I work for The Linux Foundation.

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

I live in North America, in the Northwest part of the country, right outside of Seattle, Washington. I live there, as it’s a great place to live, wonderful weather, and a great place to raise a family.

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

I live in my email client (mutt), and my editor (vim), and couldn’t survive without them. Other tools I use on a daily basis are git and quilt for kernel development, Chrome and Firefox for web browsing, and irssi for irc communication. I usually run GNOME 3 on my desktop, but sometimes get frustrated with it and revert back to OpenBox or i3m. I also test KDE every once in a while just to ensure that I’m not missing anything.

How did you get involved in Linux kernel development?

I was an embedded software developer testing the device I was working on (a barcode scanner) with all different operating systems to ensure that I had gotten the USB firmware correct. Linux had very little USB support at the time, and I realized I could help out and contribute to make it work better.  One thing led to another and I soon got a job doing Linux kernel development full time over 10 years ago and never looked back.

What keeps you interested in it?

Ensuring that Linux works properly on all new hardware that gets created.  As there will always be new devices and platforms, I don’t think I will ever get bored.

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

I think the most amazing thing is that you never know when you will run into someone you have interacted with through email, in person. A great example of this was one year in the Czech Republic, at a Linux conference. A number of the developers all went to a climbing gym one evening, and I found myself climbing with another kernel developer who worked for a different company, someone whose code I had rejected in the past for various reasons, and then eventually accepted after a number of different iterations. So I’ve always thought after that incident, “always try to be nice in email, you never know when the person on the other side of the email might be holding onto a rope ensuring your safety.”

The other wonderful thing about this process is that it is centered around the individual, not the company they work for.  People change jobs all the time, yet, we all still work together, on the same things, and see each other all around the world in different locations, no matter what company we work for.

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

Just start small and find something that interests you.  We have lots of areas that need help and no lack of interesting areas to take Linux into in the future.

What do you listen to when you code?

My local community radio station, www.kexp.org, is what I normally listen to while doing code review and stable kernel maintenance. For times I need to do more “thinking,” I usually listen to one of the great musicForProgramming(); mixes that can be found at: http://musicforprogramming.net/

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

I’m on the linux-usb and linux-kernel mailing lists, along with a number of other Linux kernel related lists, and have been trying to swear off of IRC as I find it a great distraction. You can always find me at almost any Linux Foundation conference, as well as a number of other conferences throughout the year (CUSEC, Linux Plumbers, etc.)

Thanks to Greg for participating in our series. For more information on the role of a Linux kernel maintainer, check out Greg’s last blog entry. It has some really great information. Next week we talk to Dave Jones.