← Back to context

Comment by iknowstuff

1 day ago

There's far more of that, starting with the lack of a stable ABI in gnu/linux distros. Eventually Valve or Google (with Android) are gonna swoop in with a user-friendly, targetable by devs OS that's actually a single platform

The enterprise distros do provide that, somewhat.

That's why, RHEL for example, has such a long support lifecycle. It's so you can develop software targeting RHEL specifically, and know you have a stable environment for 10+ years. RHEL sells a stable (as in unchanging) OS for x number of years to target.

  • And if you want to follow the RHEL shaped bleeding edge you can develop on latest Fedora. I'll often do this, develop/package and Fedora and then build on RHEL as well.

I don't have a whole lot of faith in Google, based on considerable experience with developing for Android. Put plainly, it's a mess, and even with improvements in recent years there's enough low-hanging fruit for improving its developer story that much of it has fallen off the tree and stands a foot thick on the ground.

  • Except that Android doesn't have a fixed ABI either. Google Play requires apps to rebuild targeting the latest Android ABI all the time. They have one year after each release to update or be removed.

  • Mobile in general is a disappointment. iOS is better but not great. It was a real chance to get a lot of things right that sucked on desktop, and that chance was mostly squandered.

    • Mobile is completely hamstrung, all of the effort went into creating as much vendor lock-in as possible rather than into creating a useful pocket computer. There's all this cool tech on and adjacent to mobile that you can't actually use in any meaningful way because every aspect of it is someone's money patch and they don't want to work together.

    • At least iOS made the deep and robust AppKit/Cocoa the foundation of its primary kit and then over the years made sensible QoL changes, resulting in something reasonably pleasant to write for. That, and it doesn’t fight you and make you jump through hoops if you’d rather use some flavor of C, C++, or something else LLVM can handle instead of a JVM-something. That goes a long way.

    • I'm absolutely not a normal user, but I love the experience on the Pinephone, because I can use the same stack as on desktop.

Ubuntu LTS is currently on track to be that. Both in the server and desktop space, in my personal experience it feels like a rising number of commercial apps are targeting that distro specifically.

It’s not my distribution of choice, but it’s currently doing exactly what you suggest.

  • I just installed Ubuntu again after a few years, and it’s striking how familiar the pain points are—especially around graphics. If Ubuntu LTS is positioning itself as the standard commercial Linux target, it has to clearly outperform Windows on fundamentals, not just ideology. Linux feels perpetually one breakthrough release away from actually displacing it.

  • The problem with any LTS release is lack of support for newer hardware. Not as much of an issue for an enthusiast or sysadmin who's likely to be using well-supported hardware, but can be a huge one for a more typical end user hoping to run Linux on their recently purchased laptop.

Isn't that the steam linux runtime? Games linked against the runtime many years ago still run on modern distros.