Transcript
Jonathan Bennett (0:00)
Hey, folks, this week we're talking again about Rust and the Colonel, but this time Linus has put his foot down. Then we've got news about Asahi, news about one of those other OS manufacturers wrestling with an encryption law. Gen 2 meta taken to court for torrenting. All kinds of crazy stuff. You don't want to miss it, so stay tuned. Podcasts you love from people you trust. This is Twit. This is the Untitled Linux show, episode 191, recorded Saturday, February 22nd. Linux like sausage. Hey folks, it is Saturday and you know what that means. It's time for Linux geeking out about open source, free software, Linux desktop, some other things. We're going to talk about some of those other OSes today and some other things going on sort of around the world. We're going to branch out just a little bit beyond Linux, but some important stuff and some fascinating stuff. It is not just me, of course. We've got Mr. Rob Campbell and Mr. Jeff Massey. Welcome to both of you.
Rob Campbell (1:03)
Yo, yo.
Jonathan Bennett (1:04)
And we're going to let Rob go first. He's got a story about something we've been talking about for a long time. There's more drama. What's the latest on the kernel? Trying to get rusty.
Rob Campbell (1:18)
So the saga continues with more news about Rust in the Linux kernel. And I think this is going to be the last week I do it. Unless there's something just huge. I'm getting tired of it. But as I said last week, I would feel better about Rust in Linux policy that we discussed if it came from the top, you know, from the Linux guys themselves. And you know, they must be listening. Maybe they're listeners of the show. Hey, Linus and Greg. But you know, they must be listening because this week it comes from the top, as both Linus Torvald and Greg Cage, Greg Cora Hartman, both had things to say. So I'm going to start back it up with a little bit with Christopher Holloway. So he's a kernel maintainer involved with the DMA layer in the kernel, and he's been one of the people who's been critical of Rust in the Linux kernel. He's worried about the kernel becoming unmaintainable due to Rust bindings just creeping up all over the place and then having to be continually updating to keep up with this Rust change and that to be changed and just endless keeping up with us. So that's, that's his concern. And you know, we've, we've discussed our thoughts on the validity of that. But regardless of his objections Hellwig says that Linus told him privately that he would override maintainers vetoes on Rust code within the Colonel. So a couple days later Linus made his views public and he clarified upon Hellwig statement what he actually said and, and saying, you know, maintainers can either choose to take an active role with Rust bindings for areas of the kernel they oversee and become involved or have a hands off approach where it's more complementary to their code. But kernel maintainers can't object to new Rust code as, you know, effectively as a user of, of their C code, you know, meaning if it's not something they're actually maintaining involved in, they can't object to Rust code going into some other part of the kernel. So before this point Linus was quiet on the matter, hoping to see, you know, hoping he'd see something constructive come out of the discussions that were going on. But he got involved when, when he says, things appear to be moving backwards. So Linus's main objection, you know, to, to a recent veto Helwig attempted was the fact that the pull request that Hellwig objected to did not touch any part of his DMA code. So in effect here, Hellwig was merely objecting as a user of that code rather than a maintainer of the, that actual part of the code. And that's, that seems to be what he really had, a problem. You know, you got nothing to do with it, just keep out essentially so let you know. And that's, that's what I'm gonna say about that piece of it. But Linus's number two in charge, Greg Cage, also had something to say about the whole Rust in the kernel debate. So in general Greg shares his reasoning. He believes gradually moving to the Linux kernel to Rust is a good thing. Greg says, quote, the majority of bugs, quantity, not quality or severity we have are due to the stupid little corner cases in C that are totally gone in Rust. Things like simple overwrites of memory. Not that Rust can catch all of these by far. Air paths, cleanups, forgetting to check error values and use use after free mistakes, end of quote. But he points out that, that there are more than 30 million lines of C code in the Linux kernel that aren't going anywhere any year soon. But that isn't a reason to stop new code and new drivers from being written in Rust. He talks about other benefits, you know, to, to the API that'll improve that and providing more time to work on real bugs while you're not trying to find and fix these edge cases, these little C Bugs. But he also admits Rust isn't a silver bullet to solve all of their problems. But to be clear, Greg isn't a Rust developer and you know, he had to, he had this to say about that quote. Yes, the Rust bindings look like magic to me in places. Someone with very little Rust experience, someone and he has very little Rust experience. But I'm willing to learn and work with the developers who have stepped up to help out here to not want to learn and change based on new evidence. Parentheses see my point about reading kernel bugs we have so into that quote there, you know, so, so with this new update here, you know, the leaders of Linux kernel have spoken and they're in favor of Rust. And you know, I really only had time to touch on the key highlights of what these two wrote this week. But if you check out the show notes, you can find links to these which you'll find links to the full Linux kernel mailing list, letters, emails, I guess that they wrote or however we phrase that what they wrote on it. It's a good, it's. It's a good page or so letter that, you know, I don't have time to break down every detail. I got the highlights for you but they're, they're interesting letters to read and to hear what their, their take is on it and it's good to see that they have a view on it. You know, personally, I guess I was almost kind of leaning to. Yeah, it seems like a pain to maintain and I'm maybe concerned that it will cause problems in the future. But then again, I'm not a Rust developer. I barely know much C, I've done some C, so maybe I'm not the one to ask. I don't know what it really takes to put those two together like this, but the Linux gods have spoken.