Linus Torvalds quietly met with Linux's top 40 or so developers at the Maintainers' Summit, held in concert with Open Source Summit Europe in Scotland. Afterward, we spoke about his return to Linux, the adoption of the Linux Code of Conduct (CoC), and how Berkeley Packet Filter (BPF) is changing Linux.
First, Torvalds is back in the driver's seat.
"'I'm starting the usual merge window activity now," said Torvalds. But it's not going to be kernel development as usual. "We did talk about the fact that now Greg [Kroah-Hartman] has write rights to my kernel tree, and if will be easier to just share the load if we want to, and maybe we'll add another maintainer after further discussion."
So, Kroah-Hartman, who runs the stable kernel, will have a say on Linus' cutting-edge kernel. Will someone else get write permission to Torvalds' kernel code tree to help lighten the load?
Also: How GitHub became the nexus of software automation
Going forward, at least for now, "the merge window plans is to try to keep it all normal (well, with the exception that I'm on the road as the merge window opens, something that I normally try to avoid because the first few days of the merge window tend to be the busiest ones)," he said.
Torvalds stepped away from managing the Linux kernel because he needed to, as he explained it, "change some of my behavior, which had hurt and possibly drove away some people from kernel development." He wanted to "take time off and get some assistance on how to understand people's emotions and respond appropriately."
So, what has he done since then?
Torvalds said, "I expect it to be a continuing process, but for now I have an email filter in place (that might be expanded upon or modified as needed or as I come up with more esoteric swearing -- the current filter is really pretty basic). And I have been talking weekly with a professional, although again right now my travel is messing with that schedule."
Also: Linux Foundation: Microsoft's GitHub buy is a win
Torvalds thinks "to some degree the most important part of that process was that I just asked the maintainers at the KS [Kernel Summit] today to just send me email if they feel I've been unnecessarily abrupt. Or, some other maintainer, for that matter."
He said, "We don't want the CoC [Code of Conduct] to define the tone of the discussion, I think we're actually much better off if we can just try to see the CoC as a last resort that never even gets invoked, simply because we encourage people to try to head any issues off before they escalate."
Torvalds said he didn't directly set up the CoC: "I actually stepped away from the CoC discussions exactly because I did *not* want it to be seen as me personally being involved in the discussion. So I was off-line partly to just let that whole discussion happen without people feeling like I was influencing it." But, he "did end up following email just to not be out of the loop."
Now that the CoC is literally part of the Linux code, Torvalds shared that he doesn't mind the CoC itself. "It's the 'bike shedding' around it and the discussions that I tend to really find not very productive," he said. "Everybody has an opinion on it, and there is very little agreement or objective measures of what the right CoC is."
Looking ahead, Torvalds said, "I want to leave it alone, and wait until we actually have any real issues. I'm hoping there won't be any, but even if there are, I want the input to be colored more by real and *actual* concerns, rather than just people arguing about it."
Also: Git: A cheat sheet TechRepublic
That's also the take of the senior Linux developers. Kroah-Hartman wrote on the Linux Kernel Mailing List (LKML), "As we discussed today in the Maintainers summit, let's leave the Code of Conduct text alone for now."
Kroah-Hartman continued, "Let's let things settle down and not worry about hypothetical situations that might possibly happen in some way or another as we can debate that type of thing endlessly (it's a good skill we have which makes us great kernel developers, but it not always transferrable to other environments). If real issues do come up in the future, we will address them then, as we always have the option to change and revisit things as needed."
But, enough of the personal and social issues of Linux, what about the code?
We spoke about the rise in use of the BPF in Linux. As Jon Corbet, kernel developer and editor of LWN, explained in a keynote at Open Source Europe, BPF is an in-kernel VM. It's different from the others, because it allows user-space processes to load processes into kernel space.
Traditionally, Linux is made of the kernel and user space and never the twain shall meet -- except by well-defined application programming interfaces (APIs).
Also: What happens if you try to take your code out of Linux?
BPF -- which has been used both for network filtering, as it name suggests, and performance analysis -- is now being used for security policy decisions, seccomp, and the forthcoming Landlocked security module. By becoming an increasingly important of Linux, it's breaking down the wall between kernel and user.
Torvalds isn't worried:
"BPF has actually been really useful, and the real power of it is how it allows people to do specialized code that isn't enabled until asked for. Things like tracing and statistics (and obviously network filters) are prime examples of things where people want to do
localized things for one particular machine (or one particular site) that aren't of the "everybody wants the same thing" kind. And that's where the whole dynamic 'build a small program for it and attach it to xyz' comes in really useful."
That last part is the traditional Unix/Linux way of building software.
So, in the end, it sounds like things are getting back to normal in Linux development land. Instead of dealing with social issues, it's back to coding issues.
That said, the Linux community did need a kinder, gentler Torvalds and a fairer, more balanced way of dealing with its contributors. We'll see going forward how well it all works out.