TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Distribution packaging for Linux desktop applications is unsustainable

1 点作者 alexozer超过 2 年前

1 comment

phendrenad2超过 2 年前
It's nice that Flatpak (and AppImage and Snap) exist, but it's sort of sad that we had to resort to this kind of thing to get out of dependency hell. The ultimate cause of the problem was misplaced enthusiasm for both modularity and deduplication. So you've got the standard Linux distro (say, Ubuntu) which comes with a certain version of libxml, and all of the preinstalled apps use this version. Except it isn't backward or forward compatible, so every time you install an app from the package manager, it goes and grabs a different version of libxml and installs it alongside the system one. Soon enough you have dozens of variants of each common library. Now imagine a hapless Linux coder has written a program that works with libxml version 4.0.1 and absolutely breaks horribly with version 4.0.2. And the dependency resolution is lax enough that it automatically loads with 4.0.2 (after all, it's a point release, as per semver). Now look at the opposite extreme: On Windows everything is backward and forward compatible. Nothing is modular, everything is standardized. If you want an XML parser, it's provided as a system library, and apps pull in their own version only if they absolutely must.