This week is the annual migration of Linux kernel developers from all over the world to the Linux Kernel Summit, which is taking place in San Diego and is co-located with LinuxCon and CloudOpen. This group of developers are among the very best in the world, and we're excited to bring you a profile this week that introduces you to another participant in and contributor to the world's largest collaborative development project. Martin Petersen is profiled in this week's 30 Linux Developers in 30 Weeks series.
Martin K. Petersen
What role do you play in the community and/or what subsystem do you work on?
I mainly work on adding support for new storage features so my focus areas are the block and SCSI layers and, occasionally, a bit of ATA.
Where do you get your paycheck?
I work in Oracle's Linux organization.
What part of the world do you live in? Why there?
I grew up in Denmark, but I currently live in Montreal, Quebec. I originally moved to Canada to join a Linux startup back in the dot-com days.
What are your favorite productivity tools for software development? What do you run on your desktop?
My desktop runs Fedora, but it's essentially just an X terminal. All the real work is done on a bunch of remote machines. My tools of choice rarely change: xterm, emacs, perl, mc and git. I lost patience with graphical desktop environments long ago and use the i3 window manager because it lets me organize my terminals nicely.
How did you get involved in Linux kernel development?
I was a student in the early 1990's. Terminals and workstations were scarce at university so being able to run something Unix-like on my machine at home was very compelling. Linux was new and exciting and the obvious choice. I started out tweaking the kernel and X server to work well with the hardware I happened to have in my PC. From there I went on to hack on more exotic platforms like PA-RISC and Itanium.
What keeps you interested in it?
I like making hardware work; that's really what motivates me. Plus the adrenalin rush of finally finding a bug I've been chasing for weeks.
What's your advice for developers who want to get involved?
Find something that is broken and fix it. Actual bugs, not typos or code formatting. At first it may seem crazy to have to invest hours/days/weeks in fixing something. But it is the process of fully comprehending the problem that's the important part, not firing up an editor to make the code change. Reading other people's code can be hard at first but it's a crucial skill to have when working on any community project. You can't study to become a kernel developer; the only way to learn this stuff is by getting your hands dirty.
What do you listen to when you code?
Ideally, silence. In reality I listen to a combination of the phone ringing and cats whining for attention.
What mailing list or IRC channel will people find you hanging out at? What conference(s)?
linux-scsi. I don't hang out on IRC anymore, too many distractions. I tend to attend one or two generic Linux conferences per year outside of the Linux Storage & Filesystem Summit.