this post was submitted on 21 Sep 2024
316 points (98.5% liked)

Linux

48185 readers
1199 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
 

In a candid keynote chat at the Linux Foundation's Open Source Summit Europe, Linux creator Linus Torvalds shared his thoughts on kernel development, the integration of Rust, and the future of open source.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 54 points 1 month ago (3 children)

The problem is that the Linux kernel is monolithic so introducing rust into it does have certain repercussions about downstream compatibility between modules.

Right now the rust code in the kernel uses c bindings for some things and there's a not-insignificant portion of C developers who both refuse to use rust and refuse to take responsibility if the code they write breaks something in the rust bindings.

If it was pure C there would be no excuse as the standard for Linux development is that you don't break downstream, but the current zeitgeist is that Rust being a different language means that the current C developers have no responsibility if their code refactoring now breaks the rust code.

It's a frankly ridiculous stance to take, considering the long history of Linux being very strict on not breaking downstream code.

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

Yeah sorry, c/c++ guy here.

I get that rust is the new shiny.

But now it means changing any potentially bound c function means I need to be fluent in a language I barely heard of before this year and has a syntax that makes c# look normal.

So, how about no?

[–] [email protected] 2 points 1 month ago

No, you just have to talk to the people who are fluent in rust.

[–] [email protected] 3 points 1 month ago

You just have to document your code. Nothing more.

[–] [email protected] 10 points 1 month ago

A valid point. But the result is that over a pretty short period of time. These C developers will find delays in how quickly their code gets accepted into stable branches etc. So will be forced to make clear documentation into how the refactoring effects other elements calling the code. Or move on altogether.

Sorta advantageous to all and a necessary way to proceed when others are using your code.

[–] [email protected] 31 points 1 month ago

Rust developers are fine with C bindings changing, they just want that to be communicated to them by the C developers before they break.