Hacker News new | ask | show | jobs
by sgt 4 days ago
Biggest problem with Linux apps - i.e. distributed with ease the way that Windows and macOS apps are distributed, is the lack of a stable ABI. If you asked me about this 20 years ago I'd say in 2026 there'd for sure be a stable ABI, but no.
3 comments

Everyone parrots this but I don't think it's true. The Linux kernel does famously have a stable ABI (we "don't break user space" after all).

The issue is folks expect this to be at a higher level, so when libc or GTK or Qt etc. have breaking changes, all your apps using the old versions fail. This is a legitimate pain point with traditional distros.. I don't want to sound like I'm downplaying it.

However, this is basically solved by flatpak (and others like it, eg snap) which contain _all_ these dependencies in the package. Layering (ala containers) is used for deduplication so you don't have 20 copies of a given GTK version.

While MacOS provides the windowing toolkit etc. at the OS level, it's otherwise similar to how a .app file works. Installers aren't dropping dynamic libraries and resource files all over your disk, the app is "self-contained."

My reply to the comment below outlines the shape of the problem.

https://news.ycombinator.com/item?id=48434436#48435801

Agreed - it's not the flatpak itself, it's that whole fragmented ecosystem. And unstable ABI doesn't help.
The stable Linux ABI is Win32 provided by Wine.
This isn’t an issue in practice because the software running on Linux is open source. Yes if you want to distribute proprietary binary blobs and have them work forever it’s going to be a challenge, but in that case better to stick with the binary blob operating system.
There's plenty of software running on Linux that is not open source, though.
Such as?

The only proprietary software I have running on my machine is electron apps, which are essentially bloated VMs. As we’ve seen from this thread, this is still apparently too great of an engineering feat for anthropic to tackle. I don’t think I’m unique in this regard.

Tons and yeah of course some are also Electron apps but not all... Proprietary apps I can think of include Chrome, Teams until a few years ago (I think they just gave up), Steam, the JetBrains IDE's, Cursor, Discord, Matlab, ...

Of course a lot of Linux users these days just live their lives through browsers. That's pretty sad.

Chrome: Is electron without electron

Teams: Was electron

Steam: Valve is deeply invested in Linux, this isn't them just shipping an app. Different category.

Jetbrains: Java

Cursor: Electron

Discord: Electron

Matlab: Java

ABI compatibility doesn't matter for any of your examples.

> Different category

Isn’t Steam mostly webviews though ?

> Java

Well.. It’s not that massively different from running Qt apps in Gnome, though?

> ABI compatibility

I’m sure it matters for Swing to an large extent. Of course it the problem of the people developing the UI framework rather than the end app