Hacker News new | ask | show | jobs
by aboringusername 2179 days ago
For me, this is one of the most interesting aspects to the development of Linux, and one I've been studying for years at various levels.

Even though I don't understand a lick of most of the code, watching the lkml and the process itself is very quite interesting, however, there are a few ways to try and put the kernel in a better position in the future.

Each major release can be considered a "story", for example, the journey of WireGuard from inception to submitting it to the kernel, that's an entire process, involving many, many steps and employs an unlimited number of tools; meeting in person, email, VoIP, Slack and anything you can think of.

Conversations that turn into code are a vital part of kernel development, but I feel is less well known (after all, we just see code shuffling about git repos).

Each bit of code is possibly hours of work, represents many conversations, and yet, git cannot (and does not), preserve the history of how code reaches Linus' tree.

So, how can we improve this situation?

Document, document, document!!

I'd love to see someone like Greg Kroah-Hartman, David Miller, Stephen Rothwell et al document, extensively, how they do their work.

I'm talking about high resolution; screen captures, text, images, audio and anything else that we can preserve going forward, perhaps all neatly tucked away in a git repo and backed up many, many times.

Seriously, we're at risking of losing a core vital understanding of how people do their work, especially those who are core to the Kernel. Of course, people may develop new methods, but I feel the kernel is quite mature and the processes in theory are quite stable too (such as how Greg actually releases a stable kernel once a week).

Of course, not everything can be documented, older software gets older, and someone's favorite email client may not be transferable, but the general process can be.

So yes, this is something to think about and prepare for, otherwise it may hit the kernel quite hard.

3 comments

I always wonder why most projects don't have an onboarding process where you get in touch with the maintainers and discuss the roadmap and how to help even if you personally don't have a specific issue you want to work on. For me I submit pull requests to open source projects when I personally need them and then leave once the work is complete. That's basically the opposite of what it takes to retain maintainers. Maintainers usually write code for the sake of others and not for themselves and they stay for much longer periods of time.
These are some very good suggestions. I think they should take note on how the Kubernetes project operates, with the various interest groups, Slack channels, meeting notes + their recordings on Youtube. I think those channels catch a large part of the history of the development. I'm not sure if Linux uses anything beyond mailing lists.....
I think the heart of what you're getting at lays in the world of ethnographies. Perhaps a cultural anthropologist would take a hand at documenting the process of developing for the Linux kernel, its rich history, and all the minutiae that go into it.
Read up on the field on Science and Technology Studies (STS). STS researchers do this kind of work all the time, since the 1970s.

More specifically, check out the work of Matt Ratto, who defended his 2003 dissertation on this exact topic: https://bit.ly/2YQL1yf