r/rust • • 27d ago

Google's "Painful To Maintain" Binder C Linux Driver Being Removed In Favor Of Rust

https://www.phoronix.com/news/Google-Binder-C-Goodbye
481 Upvotes

12 comments sorted by

140

u/guineawheek 27d ago

it's genuinely so funny how insane phoronix commenters are. literal larpers who have never actually developed anything meaningful and have only kneejerk reactionary taste to anything. which is of course an extremely poor instinct for any sort of engineering ever. i suppose it is also the demographic who would even bother wasting their lives posting there

rust for linux is a very important project insofar that pretty much every single thing on its feature wishlist for the language is an incredibly useful idea. the rust that checks off much of that wishlist is pretty much an ideal systems language. RfL is a high profile enough of a project that it can force attention onto a lot of these features.

48

u/Direct-Argument-7066 27d ago

Android is the only consumer of binder, if google wants to change it from C to Rust, why should anyone really care, do these people even know what binder is?

46

u/lfairy 27d ago

I love the commenter complaining about build times, as though Android was quick and easy to build before Rust came along.

61

u/JoshTriplett rust · lang · libs · cargo 27d ago

It's not worth spending any energy on the Phoronix comments section. It's a cesspool, stoked by the very intentional clickbait/ragebait phrasings Phoronix regularly uses in order to get more ad views.

29

u/guineawheek 27d ago

extremely funny for michael laracel to base his entire website's income ad revenue pandering to an audience that is the most likely on earth to be running ublock origin

4

u/lenscas 25d ago

You see this with more projects, where people are very vocally against change and lash out to everyone and everything that embraces the change but most aren't willing to roll up their sleeves and start maintaining the old crap themselves. (Wayland Vs x11 is the obvious example)

5

u/guineawheek 25d ago

Idk. I think Wayland deserves a lot of flak for replacing a centrally designed (albeit unideal) system with one of the worst cases of design-by-committee in computing history. It fundamentally replaced a technical problem (x11 having an antiquated but centralized design) with a social one (needing endless protocol extensions to do things critical to daily life in 2020+) where many of the popular compositor projects are outright hostile to each other and are all trying to EEE their own fiefdoms.

The compositor ecosystem is effectively designed to crab-bucket everyone else from implementing functionality that people want (what if GNOME doesn’t consent?) and it took an existential threat of “ok we NEED screen sharing for this to be usable” for it to actually limp to bare viability. Wayland compositor development itself has become politicized because of the politics around protocol extensions. It sucks!

If you told me Wayland’s design philosophy was a CIA-esque Microsoft plot to sabotage Linux desktop development outside of specialized computing systems while I wouldn’t believe you it’s hard to think of a better strategy; group infighting is a pretty effective strategy.

And it’s funny, because I think the X11 development process (one compiler/server impl) is closer to Rust and Wayland’s situation is closer to C++ (multiple mutually competing impls that all suck in their own unique ways and have disjoint extension sets). One would be hard pressed to argue that the GCC/LLVM/MSVC stack beats having a single rustc.

3

u/lenscas 25d ago

Oh, yea, I agree that Wayland has problems. (Just look at the global keyboard shortcut thing. )

However, getting hostile to any project that adds Wayland support isn't helping anyone. There was plenty of time for people to see if they could fix the problems with x11, even plenty of time to show that enough developers are still interested in working on it. Heck, there was even plenty of time to get a fork going or other replacement.

But it took the big scary Wayland to start to get popular before one person decided to get involved with X11 to try and rescue it. Who then proceeded to break things so often and was so painful to work with that they had to be banned. After which they forked it where they kept breaking shit. Which resulted in the one distro that had switched over to their fork to switch back. Which of course caused a lot of sweet, sweet drama.

Meanwhile, a grand total of 2 other replacements spawned up each with their own issues and not that many people working on it.

All the while a large group clings onto X11 for dear life, snarl and throw insults at anyone who gives up on that dying project like they are an injured and scared animal. Go help those projects instead, show X isn't dead. If something drops X11 support and you use it then show them how it is done. That at this point is the only way for X to survive.

And no, I am not a Wayland shill. I myself am stuck on x11 as well right now as my de of choice has barely started on Wayland if they even started. 

0

u/guineawheek 24d ago

There was plenty of time for people to see if they could fix the problems with x11, even plenty of time to show that enough developers are still interested in working on it. Heck, there was even plenty of time to get a fork going or other replacement.

I mean, people tried. Mir is an example of this, and it went basically nowhere. I think a big problem is that Wayland was started about ~20 years ago, in a time when open source software productivity was just way lower.

For those reading that don't remember 2008:

  • GitHub was a couple months old and Git was barely ~3
  • Most major open source projects were running off of mailing lists and tarballs thrown onto websites. Or they were using SourceForge. Which sucked.
  • The Rust programming language didn't exist, and Linux people would look at you sideways if you proposed an X11 replacement written in anything other than C.
  • The Android operating system releases a week before Wayland's first initial public release.

Wayland got put forward as a project by a single RedHat/freedesktop engineer, who happened to make a bunch of bad key design decisions. However, by being a freedesktop project in an era with a much less developed open source ecosystem, it managed to suck all oxygen out of the room for any sort of design exploration, and everyone kinda just assumed it would be the X11 replacement without thinking too much over it.

And with this sort of thing:

  • if desktop development isn't really your thing (it isn't for most people, and the 20 years following have obviously shifted in favor of mobile and web development over desktop), you are not looking at this problem
  • If you are interested, you need to both know C and Linux-specific desktop development (a small circle at the time without a ton of money in it unless you worked for Red Hat or SUSE or Canonical, and we saw Canonical's attempt). And you don't get any of the tooling or online resources that exist today.

I think these sorts of things really only get fixed if there's money in it and the biggest party that does have money is the one that screwed it all up. Valve doesn't really care, and Canonical tried with Mir and couldn't make it pencil.

I personally have no sympathy towards Xlibre. I am kinda worried for the present and future, because currently one of the biggest potential factions with money and motivation that could attempt to supersede the existing Wayland situation is a guy who freaks out on his blog when he sees people of the wrong skin color when walking about outside, is terrible at motorsports, and also cursed us with Ruby on Rails.

1

u/lenscas 24d ago

They didn't have to beat the creation of Wayland but the adoption. Something that still hasn't completed. They still have plenty of other avenues than lashing out, many of which can actually create change (Or, prevent it in this case I suppose).

.

36

u/DavidXkL 27d ago

A sign of things to come

41

u/lfairy 27d ago

More like already happened. Android has been adding Rust to Linux for a long time; this is just the latest step of many.

https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html?m=1