this post was submitted on 10 Sep 2024
91 points (91.7% liked)

Linux

5242 readers
124 users here now

A community for everything relating to the linux operating system

Also check out !linux_memes@programming.dev

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 1 year ago
MODERATORS
 

Linux maintainers are unwilling to get rust into the kernel, so some rust folks decided to start writing a new kernel with same ABI. This allows them to make new architectural decisions. An example being their "frame kernel" (something between a monolithic kernel and a microkernel).

If I may say, it's more legible and the tooling is way better, right off the bat.

you are viewing a single comment's thread
view the rest of the comments
[–] qaz@lemmy.world 8 points 2 months ago (2 children)

Our choice of the weak-copyleft MPL license reflects a strategic balance:

  1. Commitment to open-source freedom: We believe that OS kernels are a communal asset that should benefit humanity. The MPL ensures that any alterations to MPL-covered files remain open source, aligning with our vision. Additionally, we do not require contributors to sign a Contributor License Agreement (CLA), preserving their rights and preventing the possibility of their contributions being made closed source.

  2. Accommodating proprietary modules: Recognizing the evolving landscape where large corporations also contribute significantly to open-source, we accommodate the business need for proprietary kernel modules. Unlike GPL, the MPL permits the linking of MPL-covered files with proprietary code.

Wouldn't the LGPL also allow this?

[–] mmstick@lemmy.world 4 points 2 months ago* (last edited 2 months ago) (2 children)

All source code in Rust is statically-linked when compiled, which thereby renders the LGPL no different from the GPL in practice. For Rust, the MPL-2.0 is a better license because it does not have the linking restriction.

[–] qaz@lemmy.world 1 points 2 months ago

Interesting. Is that because the kernel can't load a a module as dylib (I don't know a lot about kernel development) or because dylibs are also somehow statically linked in Rust?

[–] qaz@lemmy.world 1 points 2 months ago

Huh, I didn't know that. I thought dylibs could just be linked normally. Thanks for the insight.

[–] toothbrush@lemmy.blahaj.zone 3 points 2 months ago (1 children)

I think it would. Its still a bad idea to allow proprietary modules though. It also allows for EEE shenanigans. I hope they reconsider.

[–] mmstick@lemmy.world 1 points 2 months ago* (last edited 2 months ago)

The Linux kernel already allows proprietary modules via DKMS, and a handful of vendors have been using this for decades, so this is no different. Case in point: NVIDIA driver, and Android vendor drivers.