On Friday I tweeted this:
Wonder if Linus sees any connection between running an avowedly unpleasant project, and most of younger gen not getting involved. #lca2015
— Angus Gratton (@projectgus) January 15, 2015
This post expands on what I meant.
Last week I was fortunate to be in Auckland attending linux.conf.au. There are dozens of things I could write about from LCA, inspiring talks and fascinating people doing great things. I haven't even started watching my backlog of videos from the conference.
However there's one particular thing that's been weighing on my mind since Friday morning's Keynote Q&A session.
The session replicated a 2003 Q&A session with Linus Torvalds, Bdale Garbee and Andrew Tridgell. Rusty Russell had apparently jumped on stage during the 2003 keynote, so this time they invited him up from the beginning. All four of these men are well accomplished and highly respected in the Linux community. I personally have a lot of respect for all of them and the things they've achieved.
The first audience question was asked by former kernel developer Matthew Garrett:
Over the years, various people including myself have either reduced their involvement in the kernel community or stepped away from it entirely due to the tone on LKML [Linux Kernel Mailing List] and especially your contribution to that. Why do you continue to argue that being really unpleasant to people is a good leadership strategy?
Linus' answer (video here) was a defence of his leadership strategy. His reply includes some click-bait friendly quotes, such as "I'm not a nice person and I don't care about you.". The core of his answer was "I care about the technology and I care about the kernel, and I really think that a lot of projects in the open source community sometimes care about non-technical things too much." Linus said that although non-technical issues were important, "to me... diversity is not about gender, it's not about skin colour, it's about [...] People are different in what they're interested in, people are different in what they're good at, skin colour and gender and all these issues [...] those are details. What is great about open source is that some people are unpleasant but they're technically really good, some people are pleasant and they like bringing other people in [...] you can do what you're good at."
He also said "When you look at bringing in minorities, bringing in females, bringing in people who don't speak English - my argument has been and is that we should look for people who are good at being the people who can be between other people. There are lots of good kernel developers who are great at working with people. They may not even be great technically...."
The distinction between those who are "good at people" and those who are "good at tech" seemed to run through a lot of Linus' answer.
However there are more concerning things that could be implied by this quote, such as that if the kernel project is going to bring in "other" people then they have to bring in go-betweens first, because there's no way the established misanthropes in the Linux kernel community are going to be able to deal with them otherwise.
The second audience question was similar to the first. It was asked by Thomi Richards, a software developer:
I don't work in kernel development, I'm not subscribed to the LKML, but I am in the community and I've noticed a worrying trend. Which is that in the last year there's been more hate, there's been more abuse, more vitriol. On IRC, on mailing lists, on Google Plus. And speaking as a professional this really concerns me. Because I love my job, and I want to love it in twenty years time. But if this trend continues then I will not be in the industry on twenty years time. ... Linus has already answered, but for the others ... do you have any plans to try and improve the community?
The answer this time (video here) largely consisted of telling Thomi that things were getting better, and a discussion of the "emotional" debate around systemd. BDale gave an extended answer about systemd and Debian that I thought was very insightful, although it painted the Debian community leaders as waiting quietly for the fuss to die down rather than proactively leading. Despite this I thought the panel's answers all missed the real essence of what Thomi was asking (Thomi was also unimpressed).
So far this discussion follows some well-worn paths, and I think they lead to something of an stalemate.
It's not the first time we've gone here, the Geek Feminism Wiki documents a widely discussed conversation between Linus and (former) kernel developer Sarah Sharp - regarding appropriate mailing list conduct and Linus' leadership style.
From one side, there are those who believe that Linus' conduct - and those who emulate him - is not conducive to a positive experience for kernel developers and discourages participation. They believe that this is harmful. People who hold this view are often associated with a concern for increased diversity or social justice issues. Even though the questions quoted above didn't explicitly mention these issues, the answers given on stage did mention them.
From the other side, Linus' answers centre around his right to be unpleasant and offensive, and points (at least implicitly) to the success of the Linux kernel as an example of why this isn't a problem for him. There's also an element of realpolitik here - Linus is the project leader so he gets to explain diversity from his perspective, and assign it the importance he considers appropriate.
A short while later this question got asked:
Q: Those of us of a certain age got into computers mostly from the 8-bit computers [...] I'm just wondering what your thoughts are on getting the younger generation into our community? [...] It doesn't seem there's much encouragement for the younger ones to join our community, and fill the ranks as we age."
Tridge : By younger ones you mean under 30?
Q: Yes, I guess.
Linus' answer here was mostly about his kids, and the technical complexity of getting into modern kernel programming (video here). "The world has moved on, and we're old farts for a reason." Regarding kernels, he said "we don't need everybody to do that".
In all three of these questions I see a common thread - people (particularly younger people) not wanting to engage with kernel development or the Linux community in general. It's not even necessarily a diversity issue - Matthew Garrett & Thomi Richards are both younger white men, demographics traditionally over-represented in open source ranks. I'm in that same demographic, and with a background in systems programming and writing hardware-level code I'd be naturally interested in learning to contribute to the kernel. The major detractor for me is the community's demeanor.
I don't mean to play down the importance of diversity in open source. I think these issues are also extremely important and I think Thomi and Matthew do as well. It's just that even if you leave the (traditionally polarising) issue of diversity completely aside, the answers we heard on Friday are still problematic. Considering the diversity angle just compounds the problem with additional layers of alienation.
Meanwhile kernel developers are getting older, senior turnover is slow. The outreach efforts of the Linux Foundation butt up against the head of the project proclaiming that it's OK for him to be unpleasant, and ignoring people who are prepared to say to his face that he (and the example he sets) are the reason they don't want to be involved.
I obviously don't have any evidence that these things are broadly connected, maybe "dissatisfied would-be contributors" like us are statistically insignificant. However I wish at least one of the panel members had acknowledged or rebutted that factor when it was stated in the questions, rather than skipping over it.
Regarding the stalemate, I have no great solutions to offer. Linus is clearly a good technical lead for the kernel, and he also seems comfortable with his role as reluctant leader-celebrity (I saw numerous people getting photos with him at LCA). At the same time he eschews any broader awareness of his non-technical leadership role, beyond self-justification.
Perhaps if the aging kernel developer trend continues then another kernel-level project will eventually overtake while Linux ossifies, but that seems likely to take decades. I don't really want Linux to fail either, after all it contains person-centuries of effort.
And while younger white male software developers are having their opinions panned by the respected older generation on stage, what does this mean for actual marginalised groups? If FOSS is ever going to achieve broad adoption, it has to appeal to more than a privileged few.
I'll be back at linux.conf.au next year for sure, but if Linus gives another Keynote then I might just read his kernel changelog and then sleep in that day.