The linux kernel is very old school in how it is run and originally a big part of the DevSecOps movement was removing a lot of manual overhead.
Moving on to something like Gitea (codeberg) so you have a decent pull request view is quicker/easier than posting a patch to a mailing list.
The branching model of the kernel is something people write up on paper that looks great (much like Gitflow) but is really time consuming to manage. Moving to feature branch workflow and creating a release branches as part of the release process allows a ton of things to be automated and simplified.
Similarly file systems aren't really device specific, so you could build system tests for them for benchmarking and standard use cases.
Setting up a CI to perform smoke testing and linting, is fairly standard.
The previous two points are really each to trigger when a new branch is created/updated, this means review becomes reduced to checking business logic which makes reviews really quick and easy.
Similarly moving on to a decent issue tracker, Jira's support for Epic's/stories/tasks/capabilities and its linking ability is a huge simplifier for long term planning.
You can do things like define OKR's and then attach Epics to them and Stories/tasks to epics which lets you track progress to goals.
You can use issues the way the linux community currently uses mailing lists.
Combined with a Kanban board for tracking, progress of tickets. You remove a ton of pain.
The issue here is open source issue trackers are missing the key productivity enablers of Jira.
The issue is people, the linux kernel maintainers have been working one way for decades. Getting them to adopt new tools will be heavily resisted, same with changing how they work.
Its like everyone outside, knows a breaking the ABI definition from the sub system implementation would create a far more stable ABI which would solve a bunch of issues and allow change when needed, except no one in the kernel will entertain the idea.
CMahaff@lemmy.world 1 year ago
You offered a lot of suggestions, and I’m sure people will disagree over the specifics, but I think your overall point is excellent and not talked about enough. I wonder if anyone has ever even attempted a survey on the ages of maintainers/contributors? I bet it’s skewing older fast.
Nothing wrong with that of course, especially given the project’s age, complexity, and being written in C - but you’re right, at some point you have to attract new talent - people can’t maintain forever.
I’m a 29 year old developer - I didn’t even know you could do git patches via email until recently. And while it’s super cool, it also sounds kinda terrible, especially at the volume they must be receiving? Their own docs are saying the mailing lists receive some 500 emails per day and I can’t imagine the merge process is fun.
So many doc pages are dedicated to how to submit a patch - which is great that it’s documented, and I’m sure it will always be somewhat complicated for a large project - but it also feels like things that are all automatically handled by newer tools / bots which can automatically enforce style checks, etc.
I guess they could argue that the complicated process acts as a filter to people submitting PRs who don’t know what they are doing, but I’d argue it also shuts out talented engineers who don’t have 40 hours to learn how to submit a patch to a project on top of also learning the kernel and also fixing the bug in question.
From what little I read of their git process, does anyone know if there’s anything preventing the maintainer of a subsystem from setting up a more modern method for receiving patches? As long as the upstream artifact to the kernel has the expected format?