Linus Torvalds, Linux’s creator, doesn’t make speeches anymore. But, what he does do, and he did again at Open Source Summit Europe in Lyon France is have public conversations with his friend Dirk Hohndel, VMware’s Chief Open Source Officer. In this keynote discussion, Torvalds revealed that he doesn’t think he’s a programmer anymore.
So what does the person everyone thinks of as a programmer’s programmer do instead? Torvalds explained:
I don’t know coding at all anymore. Most of the code I write is in my e-mails. So somebody sends me a patch … I [reply with] pseudo code. I’m so used to editing patches now I sometimes edit patches and send out the patch without having ever tested it. I literally wrote it in the mail and say, ‘I think this is how it should be done,’ but this is what I do, I am not a programmer.
So, Hohndel asked, “What is your job?” Torvalds replied, “I read and write a lot of email. My job really is, in the end, is to say ‘no.’ Somebody has to say ‘no’ to [this patch or that pull request]. And because developers know that if they do something that I’ll say ‘no’ to, they do a better job of writing the code.”
Torvalds continued, “Sometimes the code changes are so obvious that no messages really required, but that is very very rare.” To help your code pass muster with Torvalds it helps to ”explain why the code does something and why some change is needed because that in turn helps the managerial side of the equation, where if you can explain your code to me, I will trust the code.”
In short, these days Torvalds is a code manager and maintainer, not a developer. That’s fine with him: “I see one of my primary goals to be very responsive when people send me patches. I want to be like, I say yes or no within a day or two. During a merge, the day or two may stretch into a week, but I want to be there all the time as a maintainer.”
That’s what code maintainers should do.
“I think that’s one of the main things you want to do is to be responsive so that the people who are sending code, either as patches or as requests feel like their work is — maybe not appreciated because sometimes it’s not — but at least they get feedback.”
This may not sound like much fun. Hohndel reminded him that, after all, Torvalds’ early autobiography was entitled Just for Fun. True, while he’s no longer getting his hands dirty with coding on PCs with 4MBs of RAM and simple libraries and tools, Torvalds is still having fun.
Torvalds said, “In many respects, development has gotten much easier. … We have much better tools, and we have much better documentation, we have a lot more community where people feel that it’s part of their jobs and that’s the primary part of their job to help new people come in.”
Still, Torvalds admitted, “What is maybe slightly not fun is we have to have a lot of rules in place. It was much more freewheeling back in the days and there were more banter and you could try things. There is a lot of seriousness, but the reason I’m still doing it is, it’s the right thing. So right, I may spend most of my time reading email, but part of the reason I do that is [otherwise] I’d be really bored.”
Torvalds also admitted that while he’s pleased with what he’s doing with Linux today, he, like so many of us, has had doubts about his ability. Even he has felt some imposter syndrome.
True, with the exception of the desktop, Linux runs pretty much everything in the world now, but what makes Torvalds “happy about Git is not that its taken over the world. It’s that we all have self doubt, right, we all think ‘are we actually any good?’ And one of the self doubts I had with Linux was, it was just a reimplementation of Unix, right? Can I give you something that isn’t just a better version of something else and Git proved to me that I can. Having two projects that made a big splash means that I’m not a one-trick pony.”
Oh, I think we all know he’s more than that.