We're just back from a week of in-person collaboraiton at Linux Kernel Summit, Linux Plumbers Conference, LinuxCon, CloudOpen and more events that took place last week in San Diego. Today we catch up with Julia Lawall for our 30 Linux Kernel Developers in 30 Weeks series. Julia talks to us about how she got involved in Linux development and what keeps her involved.
What role do you play in the community and/or what subsystem(s) do you work on?
I develop the program matching and transformation tool Coccinelle. Coccinelle can be applied to any C code, but I mostly apply it to the Linux kernel.
Where do you get your paycheck?
Inria. Within Inria, I participate in the IRILL, a research center on free and open source software.
What part of the world do you live in? Why there?
Paris. A very beautiful and very livable city.
What are your favorite productivity tools for software development? What do you run on your desktop?
Emacs, ocaml, xfce.
How did you get involved in Linux kernel development?
My background is in program analysis, program transformation and functional programming, but I was always interested in understanding how computing systems work at all levels. A colleague suggested looking into the problem of porting device drivers from Linux 2.4 to Linux 2.6. I studied lots of changes that were made in the 2.5 series, and we designed Coccinelle according to the needs of the kinds of changes I observed.
What keeps you interested in it?
The seemingly infinite variety of things that can be wrong in the code and the high quality of feedback from the Linux community.
What's the most amused you've ever been by the collaborative development process (flame war, silly code > submission, amazing accomplishment)?
An amusing combination of a comment and some code is the following:
/* Don't leak any random bits. */
memset(elfregs, 0, sizeof (elfregs));
What's your advice for developers who want to get involved?
Use tools to find some simple bugs. Or look at problems other people have fixed, and try to find other occurrences. When you find some bugs, look around at the code nearby. Often you can find other interesting things.
What mailing list or IRC channel will people find you hanging out at? What conference(s)?
Coccinelle mailing list. Kernel janitors mailing list. I mostly attend academic conferences in operating systems, programming languages, and software engineering. I have also attended the Linux Plumbers Conference a few times and learned a lot.