I think it’s obvious (and has been) that the linux kernel needs more contributors and more maintainers to share the load*. The Linux Foundation spending 2% on kernel development in 2024 (page 18) does something but not nearly enough.
Is there a way that we as a community / third parties / non kernel devs can fund kernel developers and maybe even get a kernel maintainer in there? Maybe something already exists or do we have to start something ourselves?
*: Yes, I understand our overworked maintainer problem (being one of these people myself), but here we have people actually doing the work! - Greg KH
The kernel is fine and healthy. Remember most of the work comes from employees at various companies.
Become a kernel contributor first. I don’t think it’s acceptable to stand outside a community and ask how you can control it by throwing money at it.
I’d say it’s super hard do do it directly. If we can do it, I’d say via an institution like the Linux Foundation.
Low level programming is a specialized job. Even more so if we’re talking about the kernel. So it’s a 0.01% thing in the first place. And getting people to contribute regularly or maintain things is yet another notch up in difficulty. And maintainers better also fulfill the role as a leader, have people-skills and year-long exposure to the codebase, so they know about the intricate details, implications and how it’s all interconnected. They also need to know a lot about security.
And I don’t see a way for a regular person to “craft” such people. We can chip in money, so Linux can spend money where they see fit. Other than that, I’d say we need to create an atmosphere for such people to thrive. Advocate for education. Teach your 8 yo daughter to code, so she might one day become a kernel developer. Foster the overall free software ecosystem. Teach everyone who listens to you, why Linux is important, so we get a broad consensus in society. Think about how you can motivate people to aspire a career in doing good, instead of just making bank with their specialized skills in the commercial market… Think about what’s holding yourself back to do the job, and then address those things.
If we can do it, I’d say via an institution like the Linux Foundation.
That doesn’t seems like a good solution IMO, given how they already spend their money. If you gave 100 bucks today, 2 of that would end up in the kernel. It’s similar to donating to Mozilla to get Firefox funded, but with Mozilla there’s absolutely guarantee that’s where it’ll end up.
We can chip in money, so Linux can spend money where they see fit.
That’s one way to do it, but I find it quite indirect. I’m thinking more of the way similar to how Rust For Linux came in: an external org funded developers to work on an aspect of the kernel. We could do the same but the aspect being funding either existing maintainers or contributors aspiring to become maintainers.
Other than that, I’d say we need to create an atmosphere for such people to thrive.
This, I agree with in general. Specifically for the linux kernel, overworked maintainers mean there’s something wrong and hopefully spreading the load by funding those willing to contribute and maintain could be a way to do so.
Hmmh, my sentences regarding funding were a bit short. I’m always a bit unsure whether that’s our main concern in Free Software. And whether making it more about money is a good idea to begin with. I mean sure, you’re entirely correct. And developers invest massive amounts of time. And they need to make a living. But for a comptetive offer for a lead position we’re probably talking 6-figures a year for full-time work. And that’s a massive amount for community donations. And more money means more stakeholders, more different interests and non-technical motivations to pay attention to. I mean we probably also don’t want companies to leech from our donations. So how should the developer handle drivers from for-profit-companies? Do they incorporate that on our time? What about laying groundworks for things that later-on get used by a large company? I suppose bringing in community money is going to raise a few questions and it’s going to be complicated… I think it’d have to come with no strings attached. And there’s also always the additional complexity with managing money, keeping an eye on where it goes, hiring the people… And that’s going to require more money or volunteer work… I mean I’m not saying it’s wrong or anything. Just easier said than done…
The thing about the kernel in particular is it’s already mostly about money. With very few exceptions most maintainers are employed by someone, even just the Linux foundation, to work on the kernel full time. There’s very little community involvement outside of the random patches here and there that community members submit. I think what OP is getting at is it would be nice if there was a community sponsored maintainer so it wasn’t all just corporate employees but that likely means providing financial compensation.
And a change in project structure. As of now there are Linux Torvalds and Greg KH for the broader picture. Everyone else is concerned with one (or more) subsystems as far as I know. But they avoid messing with other people’s areas of authority. So with the current project structure, we could appoint someone who deals with a specific field, like Wifi drivers. But I suppose we want more influence than just in one niche. There are a lot of topics of interest to the general public. So I don’t see how that would align with the current project structure, either.
One way is to donate to devs who are working on some specific features in the Linux kernel. The two I remember are Hector Martin who lead the Asahi Linux project and Kent Overstreet who is the main dev behind bcachefs, a new CoW FS.
But I guess this only works if there is some dev already working on a feature and is accepting donations. I wish we had community linux project or something similar which was funded by donations and hired kernel devs to work on things the community voted on.
I wish we had community linux project or something similar which was funded by donations and hired kernel devs to work on things the community voted on
This is probably what I’m looking for. I wonder how we can get this started. “Linux Kernel Collective” where you can pledge money to the development of the kernel in general, a specific thing in the kernel, or a specific team - with or without stipulations i.e “I trust you, I just donate” and “please show proof e.g monthly reports”.
Dunno what would need to be done to get that started, if it already exists, or whether something like OpenCollective could be a good starting point.
As a software engineer working a job more focused on paperwork and safety (aviation, it’s good but it’s not code heavy), does anyone have good proven advice on how to start down this track? Maybe it doesn’t resonate or maybe I won’t have the time, but I’m interested in seeing if it’s a good fit by starting somewhere simple and seeing where that goes.