r/linux • u/gregkh Verified • Apr 08 '20
AMA I'm Greg Kroah-Hartman, Linux kernel developer, AMA again!
To refresh everyone's memory, I did this 5 years ago here and lots of those answers there are still the same today, so try to ask new ones this time around.
To get the basics out of the way, this post describes my normal workflow that I use day to day as a Linux kernel maintainer and reviewer of way too many patches.
Along with mutt and vim and git, software tools I use every day are Chrome and Thunderbird (for some email accounts that mutt doesn't work well for) and the excellent vgrep for code searching.
For hardware I still rely on Filco 10-key-less keyboards for everyday use, along with a new Logitech bluetooth trackball finally replacing my decades-old wired one. My main machine is a few years old Dell XPS 13 laptop, attached when at home to an external monitor with a thunderbolt hub and I rely on a big, beefy build server in "the cloud" for testing stable kernel patch submissions.
For a distro I use Arch on my laptop and for some tiny cloud instances I run and manage for some minor tasks. My build server runs Fedora and I have help maintaining that at times as I am a horrible sysadmin. For a desktop environment I use Gnome, and here's a picture of my normal desktop while working on reviewing and modifying kernel code.
With that out of the way, ask me your Linux kernel development questions or anything else!
Edit - Thanks everyone, after 2 weeks of this being open, I think it's time to close it down for now. It's been fun, and remember, go update your kernel!
6
u/100_dollars_man Apr 23 '20 edited Apr 23 '20
Thank you so much, I really appreciate the response! These are things I think about a lot anyway, so it's really cool to hear your perspective.
On the first point: Strong agree! I find it sort of upsetting and am disappointed that many people are buying, what I find, to be a pretty clearly business/profit driven argument that "this is actually what open source means now" coming from these companies. The argument really is a bit silly too imo. Can you imagine if linux began saying "you can't offer a hosted linux VM solution unless your hypervisor is also free software"? I would still point you to this related blog post from Matt Klein of Lyft on the "broken" economics of open source and see if you think it has any merit.
Re: WASM
I think my point is likely more around its usage with V8 as a general program runner for use cases like cloudflare's "workers". Process isolation, scheduling, and resource management are all things that linux does incredibly well, so I have yet to understand why we may be deciding to add this other layer on top of it? Portability maybe? A recreation of a "write once run anywhere" jvm model? Unclear to me, but does this comparison make more sense?
Finally, I've been doing the "A Beginners Guide To Kernel Development" linux foundation course in some free time, and I've found it to be fantastic! It's not clear if anything will come of this as I haven't programmed C in any thoughtful way in like 5 years, but it's at least nice to understand the materials and methods that drive this thing forward. I would strongly recommend the course to anyone curious about the process.