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

Linux

48121 readers
654 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.

top 48 comments
sorted by: hot top controversial new old
[–] dohpaz42@lemmy.world 128 points 1 month ago (5 children)

People need to chill with the language fanaticism. It’s one thing to make jokes and rip on a language for its quirks, but at the end of the day it’s just a language. If you truly don’t like it, don’t use it. I’m going to take a stab and guess that there is enough Linux kernel source to go around to both the c devs and rust devs. Just be glad they’re not trying to rewrite it in JavaScript. 😉

[–] WalnutLum@lemmy.ml 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.

[–] that_leaflet@lemmy.world 32 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.

[–] HumanPenguin@feddit.uk 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.

[–] InverseParallax@lemmy.world -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?

[–] HappyFrog@lemmy.blahaj.zone 3 points 1 month ago

You just have to document your code. Nothing more.

[–] superkret@feddit.org 2 points 1 month ago

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

[–] EleventhHour@lemmy.world 25 points 1 month ago* (last edited 1 month ago) (1 children)

I agree.

I grew up in the age of c/c++ and then Java. I get it: people hate it and it’s time to move on, but jeez, folx, chill. It will happen in time, and there’s no reason to go all civil warsy about it.

Things like this should not be rushed.

[–] InverseParallax@lemmy.world 0 points 1 month ago

Rust zealots are on an unstoppable jihad.

Expecting suicide fork bombers any day now.

[–] vvv@programming.dev 11 points 1 month ago

A JavaScript VM in the kernel is inevitable.

[–] delirious_owl@discuss.online 10 points 1 month ago (2 children)

No, no. We're arguing for TypeScript

[–] dohpaz42@lemmy.world 7 points 1 month ago (1 children)

Typescript is always compiled down to JavaScript, so it’s kinda the same thing, but with “nicer” clothes.

[–] delirious_owl@discuss.online 1 points 1 month ago (1 children)
[–] LeFantome@programming.dev 14 points 1 month ago (1 children)

Rust does not compile down to C. It generates LLVM bytecode the same as Clang does. They both produce native executables. You do not need a C compiler on your system to run Rust binaries.

Typescript produces JavaScript. You need a JavaScript interpreter to execute the output from TypeScript.

Not the same thing.

[–] dohpaz42@lemmy.world 1 points 1 month ago* (last edited 1 month ago) (1 children)

In before the pedants: clang is a c compiler, in that it compiles c code—but it also compiles other languages too. The distinction is that c, c++, rust, etc are compiled directly into byte code , whereas typescript is transpiled into another language (JavaScript) before it is executed. I’ll probably catch heat for this, but you can liken TypeScript to C++ because they both are supersets of another language.

[–] JackbyDev@programming.dev 3 points 1 month ago (1 children)

C++ is actually not a superset of C, believe it or not.

[–] dohpaz42@lemmy.world 2 points 1 month ago

I’ll admit I’m no c/c++ aficionado, but after a little research I see what you mean. Originally, C++ was a superset of C, but C has since diverged to include things that are not in C++. So we are both correct.

[–] phoenixz@lemmy.ca 5 points 1 month ago

Not pure CSS?

[–] bouh@lemmy.world -4 points 1 month ago (1 children)

No, a language is not just a language. I fact, it's a bunch of compilers. How many there are and the hardware they work on is what matters.

And as a matter of fact, rust isn't as much of an industry standard as C++ is.

[–] dohpaz42@lemmy.world 6 points 1 month ago (1 children)

I feel you’ve missed my entire point. My comment was not based on any technical merits of a language. It’s about a persons personal (religious) view of a tool they use to do their job.

I proudly use PHP, JavaScript, Java, Bash, and SQL. They have given me the means to make a long and fruitful 18+ year career. If my boss walked up to me tomorrow and said I needed to learn Python, or Rust, or even brainfuck, I’d learn it and be better for it.

Would it be as easy as my tried and true toolset? Not at first. I still remember the struggles I had when I was first learning my current toolset. It was frustrating. I remember cursing how stupid this or that was (especially PHP and JavaScript). But I learned, and now they’re not as frustrating — because I work with it, and not against it.

Look at JavaScript. Yeah it’s weird sometimes; if you don’t understand how it works. So people slap these transpiled languages or frameworks (like CoffeeScript or TypeScript or whatever) on top, trying to fix the things they think are wrong with JavaScript, and end up making a chaotic mess of the entire community. (And yes we could spend months arguing pros and cons of any merits of transpires and frameworks and why and what not, but then you’re still missing the point).

Anyway, the point is: if it works, then it’s good. Rust does not make Linux worse. If anything, it makes it better because it makes it more accessible to programmers who know Rust but not C. And that’s a good thing. It ensures the Linux kernel will be around longer than whomever ends up being the last C developer.

Those C developers bitching about how they don’t like the idea of rust in their kernel are akin to those old fogies yelling about those damned kids and their loud music or fashion sense.

[–] Sbauer@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

Anyway, the point is: if it works, then it’s good. Rust does not make Linux worse. If anything, it makes it better because it makes it more accessible to programmers who know Rust but not C. And that’s a good thing. It ensures the Linux kernel will be around longer than whomever ends up being the last C developer.

Nobody is going to rewrite the entire kernel in rust. Parts of it are still written in assembler. It’s well over 30 million lines of code, 60% of it drivers. You can’t just go and rewrite that in a different language, hell it doesn’t even compile on the wrong C compiler version. You would need access to the hardware and run tests for every module you change at least or risk breaking stuff in production.

C programmers will always be around since they are necessary to keep the old code running on newer hardware. There are thousands of companies relying on the Linux and BSD kernels, for example every network router, switch etc.

I have nothing against rust, but there is always a danger of having too many programming languages used in the same project, especially if a error in one language can break something in a module written in the other. That’s just a nasty complication, especially for a time critical project like the kernel.

[–] christian@lemmy.ml 81 points 1 month ago* (last edited 1 month ago) (3 children)

Man I've never really thought about how much having the wrong successor could fuck up the whole ecosystem.

[–] jayandp@sh.itjust.works 55 points 1 month ago (1 children)

I'm wondering the same thing for Valve and Gabe Newell.

[–] sibachian@lemmy.ml 11 points 1 month ago

definitely the case for Valve. Corporate vultures will be all over it the second he's gone.

[–] Pilferjinx@lemmy.world 14 points 1 month ago

The things we take for granted are way too high.

[–] qaz@lemmy.world 5 points 1 month ago (2 children)

It seems like you're missing a word

[–] christian@lemmy.ml 7 points 1 month ago

I have tracked down the missing word and returned it to its rightful place. Better late than never.

[–] nephs@lemmygrad.ml 3 points 1 month ago

They apparently have accidentally the whole thing.

[–] PushButton@lemmy.world 75 points 1 month ago (2 children)

We will miss the days Linus was maintaining the Kernel... Who is going to write those poetic emails we all love?

[–] loutr@sh.itjust.works 134 points 1 month ago (2 children)
[–] dohpaz42@lemmy.world 32 points 1 month ago (1 children)

This quote applies to so many situations and so many languages. It’s beautiful. 🧑‍🍳 💋

[–] laurelraven@lemmy.zip 5 points 1 month ago

I legit kind of want to make a print of it for my office

[–] InverseParallax@lemmy.world 3 points 1 month ago (1 children)

Wtf man, I never even pushed that shit upstream!?

[–] loutr@sh.itjust.works 2 points 1 month ago

That's because he planted a backdoor into GIT, and now he reviews your bad commits every night.

[–] galoisghost@aussie.zone 11 points 1 month ago

The “AI” that the new maintainer bakes into the kernel

[–] crowbar@lemm.ee 37 points 1 month ago (1 children)

He should make a tim burton's charlie and the chocolate factory style of test to find his successor

[–] Hexadecimalkink@lemmy.ml 11 points 1 month ago (1 children)

Who are the oompa loompas in this?

[–] whoisearth@lemmy.ca 22 points 1 month ago (1 children)
[–] Lightfire228@pawb.social 7 points 1 month ago

You called?

[–] mlg@lemmy.world 25 points 1 month ago

People fear the same thing about Valve.

One wrong person and we could all end up in the same money milk machine as EA.

I know people complain about Linus hurling insults at merge requests, but his rigidness is what keeps the kernel viable. If it weren't for him, google would have already shit all over it with a mega fork and essentially cornered the market like they did with Android and HTTP3.

Both are technically "open source", yet Google essentially dictates what they want or need for their economic purpose, like ignoring JPEGXL, forcing AVIF, making browsers bloaty, using manifestv3, etc. Android is even worse and may as well be considered separate from Linux because it's just google's walled garden running on the linux kernel.

He is open to new technology, but he understands the fundamental effects of design choices and will fight people over it to prevent the project from fracturing due to feature breaking changes, especially involving userspace.

[–] MigratingtoLemmy@lemmy.world 22 points 1 month ago* (last edited 1 month ago) (1 children)

I would like for these people to never retire but we must all accept change as they come from father time

[–] penquin@lemm.ee 5 points 1 month ago

Where is that damn fountain of life when you need it?

[–] vrighter@discuss.tchncs.de 15 points 1 month ago (1 children)

with his death and the huge focus on trying to protect me from myself, I can see linux becoming even more restrictive than android. He's one of the few sane ones left.

[–] Abnorc@lemm.ee 7 points 1 month ago

I hope not. I’m not ready for the year of the BSD desktop.

[–] werefreeatlast@lemmy.world 11 points 1 month ago

I love that his desk is messy like mine and that he gets pissed at bad code.

[–] bilb@lem.monster 5 points 1 month ago

I will be the next King of Linux.

[–] paraphrand@lemmy.world 3 points 1 month ago (1 children)

What a unique and special position to be in.

It’s not common, and not likely to happen again.

[–] vatlark@lemmy.world 8 points 1 month ago

Well if it doesn't happen again, that means Linux isn't doing well.

'it' being a handoff of ownership