Kernel community management
I was at Open Source Summit last week (full trip report forthcoming) and like always one of the keynotes was Linus being interviewed by Dirk Hohndel. The topic of the kernel community and community management came up and whether Linus thought the kernel needed to do anything more to grow. Paraphrasing, his response was the success of the kernel community shows that it’s generally doing fine. I disagree with some aspects of this and have actually thought a lot about what community management would mean for the kernel.
Community manager is a job that many modern source projects above a certain size seem to have. If you google for “open source community manager” you’ll find lots of different descriptions of what the job entails. Lots of people who actually have experience with this (i.e. not me) have written and spoken about this work. The big thing for me is that community management is a deliberate choice to shape the community. You have to make the choice to build the community you want to see. Even if you don’t have a community manager, developers are still doing community management every time they interact, because ultimately that’s the community.
A better question than “does the kernel need a community manager” is “does the kernel need community management” to which I give an emphatic yes. The kernel has certainly been a successful project but people have pointed out some issues. Again, community management is about making choices to actively build a community. You can’t have a stream of maintainers unless you actively work to make sure people are coming in. The kernel community is great at attracting other people who want to work on the kernel but that may not be enough. The kernel is way behind in terms of continuous integration and other tools most people expect from open source projects these days. One area we need to grow is people who work on tools to support the kernel. That pool may need to come from outside the traditional kernel development community.
The role of the TAB in community management is an interesting one. If you look at the description on that page, “The Technical Advisory Board provides the Linux kernel community a direct voice into The Linux Foundation’s activities and fosters bi-directional interaction with application developers, end users, and Linux companies.” I know there are some unfavorable opinions (and conspiracy theories) out there about the Linux Foundation. What the Linux Foundation does well is help guide corporations in doing open source which is very different from grassroots free software. There’s a large number of companies who have become very active members of the kernel community thanks to guidance and support from developers like those who are on the TAB. Enabling companies to contribute successfully is a form of community building as a practicality; companies have different needs and requirements than individuals. I do believe the members of the TAB deeply care about the kernel community, including those who aren’t part of any corporate entity. Figuring out how to set that direction may be less obvious though.
Anyone who says they have the magic solution to community management is lying and I certainly don’t have one. I do believe you have to shape your community with intentionality and just focusing on the code will not achieve that.