this post was submitted on 13 Feb 2025
320 points (97.6% liked)

Linux

50386 readers
1048 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 56 points 1 week ago (3 children)

If Rust is going to happen, then it'll happen.

How can it happen if individual maintainers say they'll do everything in their power to keep Rust out of the kernel? There's fundamentally no way forward. The R4L devs already gave every commitment they could, but some maintainers fundamentally don't want it.

And before anyone brings it up: no, the maintainers weren't asked to touch Rust code or not break Rust code or anything else.

[–] [email protected] 14 points 1 week ago (1 children)

Fact is Rust isn’t ready for every part of the kernel. C/Rust interop is still a growing pain for Linux and troubleshooting issues at the boundary require a developer to be good at both. It’s an uphill battle, and instead of inciting flame wars they could have fostered cooperation around the parts of the kernel that were more prepared. While their work is appreciated and they are incredibly talented, the reality is that social pressures are going to dictate development. At the end of the day software is used by people. Their expectations are not law, but they do need addressed to preserve public opinion.

[–] [email protected] 32 points 1 week ago (2 children)

Again: what cooperation is possible when the maintainer says "I'll do everything in my power to keep Rust out of the kernel"? When they NACK a patch outside of their Subsystem?

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (2 children)

Can a maintainer really NACK any patch they dislike? I mean I get that Hellwig said he won't merge it. Fine. What if for example Kroah-Hartman says "whatever, I like it" and merges it nonetheless in his tree?

[–] [email protected] 4 points 1 week ago (1 children)

I doubt Greg is pulling in Rust until it has been through the mainline. That said, Linus can merge anything he wants.

[–] [email protected] 2 points 1 week ago (1 children)

It was an example. I don't have a fucking clue how all the maintainers are named.

The main question was: why can a maintainer NACK something not in their responsibility? Isn't it simply necessary to find one maintainer who is fine with it and pulls it in?

Or even asked differently: shouldn't you need to find someone who ACKs it rather than caring about who NACKs it?

[–] [email protected] 1 points 6 days ago* (last edited 6 days ago)

Let me just say that hierarchies are for breaking ties.

The normal process is that Linus prefers we all work through maintainers to cut down on the noise that comes to him. In this case, the maintainer is the reason the noise is coming to Linus. So, it will be up to him to settle it.

[–] [email protected] 1 points 1 week ago

Yes, but asking him in this case was basically a courtesy, the code isn't going into anything he manages. He can reject it, but that's an opinion, not a decision. It can still be merged if the regular maintainer (or someone senior like Linus himself) approves.

[–] [email protected] -4 points 1 week ago (1 children)

Can you quote where that was said?

I've been following this debate for a bit and as far as I can tell it's not so much that they'll do what they can to keep rust out but more to make sure that the people who want to develop in rust are the ones who end up maintaining that part of the code and not the current maintainers.

[–] [email protected] 25 points 1 week ago* (last edited 1 week ago)

Sure: https://lore.kernel.org/rust-for-linux/[email protected]/

I accept that you don't want to be involved with Rust in the kernel, which is why we offered to maintain the Rust abstraction layer for the DMA coherent allocator as a separate component (which it would be anyways) ourselves.

Which doesn't help me a bit. Every additional bit that the another language creeps in drastically reduces the maintainability of the kernel as an integrated project. The only reason Linux managed to survive so long is by not having internal boundaries, and adding another language complely breaks this. You might not like my answer, but I will do everything I can do to stop this.

Can't get more explicit than this.

[–] [email protected] 7 points 1 week ago (1 children)

Then rust isn't going to happen in every area of the kernel yet

[–] [email protected] -3 points 1 week ago

Which means unnecessary duplication of code, because every driver has to track kernel Interfaces separately. Why? What's the advantage?

[–] [email protected] -5 points 1 week ago (1 children)

It will happen via it being better, and being shown to be better. And it will take time to unseat 30 years of C.

[–] [email protected] 17 points 1 week ago (1 children)

Not if they're being prevented from showing to be better by C devs who, literally, "will do everything [they] can do to stop this".

Nobody is trying to unseat 30 years of C.