Flatpak 将依赖 Systemd
Flatpak Will Depend on Systemd

原始链接: https://www.osnews.com/story/145071/flatpak-will-depend-on-systemd/

Flatpak 目前正在探索向“Flatpak Next”迁移,这是一个旨在实现平台现代化的重新设计版本。该计划的一个关键部分是将权限管理转移到一个名为 `systemd-appd` 的新服务上,这将引入对 systemd 的依赖。 最初,开发人员打算为非 systemd 发行版提供适配方案,类似于 `elogind` 对没有 `systemd-logind` 的系统的支持。然而,这一公告引发了一波有毒的网络舆论。来自反 systemd 极端分子的骚扰以及无益的煽动性回应,导致了沟通的破裂。 因此,Flatpak 开发人员现在不太愿意为非 systemd 发行版提供适配。这种转变威胁到了 Flatpak 作为发行版无关(distribution-agnostic)平台的核心承诺,因为未来的版本最终可能要求必须拥有 `systemd`,从而使该平台与 Void、Guix 或 Alpine 等发行版不兼容。遗憾的是,这种潜在的互操作性丧失在很大程度上是敌对社区行为的副产品,而非技术上的必要。

Hacker News 上的讨论显示,Flatpak 正逐步转向对 systemd 的强依赖,这一转变在 Linux 社区引发了激烈争论。 批评者认为,此举迫使那些偏好其他初始化系统(init systems)的用户和发行版必须使用 systemd,从而进一步推动了 Linux 桌面技术栈的中心化。一些参与者感到沮丧,认为 GNOME、plasma-login-manager 以及现在的 Flatpak 等核心软件正变得与 systemd 生态系统不可分割。 相反,支持者则强调了 Flatpak 当前设计的局限性,并认为通过“Flatpak 2.0”实现架构现代化是必要的。尽管一些用户希望能够像 `elogind` 那样提供兼容性方案,但另一些人担心此举实际上消除了仅存的几个“非 systemd 依赖”的打包格式之一,可能导致 AppImage 成为跨发行版兼容性的唯一选择。这场讨论反映了 Linux 社区长期以来在 systemd 的范畴、模块化以及其在高级桌面组件中整合度日益提高等问题上存在的深层矛盾。
相关文章

原文

If you visit the Flatpak website today, it lists, as the very first advantage of the project: “Build for every distro: create one app and distribute it to the entire Linux desktop market.” If you then move on to the list of supported distributions, you’ll see the usual suspects, but also distributions like Void Linux, Guix, and Alpine. These last three all have one thing in common: they use an init system other than systemd, because Flatpak doesn’t care what init system you use. It seems that for the next major version of Flatpak, however, that’s going to change: systemd will probably become a dependency for Flatpak.

Speaking at the Linux App Summit, Arian Vovk and Sebastian Wick held a great talk about the future of Flatpak. The current version of Flatpak will continue to see a ton of improvements, but at the same time, the limits of what can be done with its decades-old design have become harder and harder to work around. As such, they’re also planning for and working on what they call Flatpak Next, or perhaps Flatpak 2.0, which is effectively a rewrite of Flatpak based on what they’ve learned over the years, making use of modern technologies and ideas that have gained ground since the initial design of Flatpak 1.x.

It’s important to note that everything discussed during the talk is planning, and not a single line of code has been written yet. This means that all of these plans are subject to change, and as the work progresses over the coming years, the end result may turn out very different from what’s been detailed in the talk. In addition, and I can’t stress this enough: if anything in this discussion gives you even the smallest of inklings to go and harass, attack, insult, or otherwise bother anyone involved in Flatpak, systemd, or related technologies, please be so kind as to book an appointment for a yoga class or whatever. It seems like you need it.

Right at the onset of the talk, Vovk and Wick explain that they want to move the permission management from Flatpak into the service layer, through a new service called systemd-appd. Systemd-appd gives applications an identifier and stores their permissions, and then this data can be queried by the rest of the system. In turn, this enables a slew of other features, not least of which is subsandboxing. At the moment, the plan is to introduce this feature in the current version of Flatpak, thereby introducing a dependency on systemd into Flatpak.

From what I understand from Vovk, they were intending to be “super considerate” of distributions and people not using systemd, which I take to mean we’d eventually end up in a situation very similar to systemd-logind, which was extracted from systemd into a separate daemon, elogind, so that distributions using other init systems could still make use of desktop environments depending on systemd-logind. I imagine Flatpak developers wanted to make as many affordances as realistically possible for something similar to happen to systemd-appd, thus ensuring Flatpak would remain available on distributions not using systemd.

Obviously, people who are using distributions like Void or Alpine were concerned about the future of Flatpak on their systems. If Flatpak gains a hard dependency on systemd, Flatpak would no longer work on distributions without systemd, so the talk raised questions – sadly, it seems the questions were directed at someone not technically involved with Flatpak development, and his replies were not particularly helpful and often just downright insulting and inflammatory.

Even though he’s not involved in Flatpak development, enough people assumed that he was, and a toxic brew stirred. Users with genuine, friendly questions about the future of Flatpak on their systems were met with derision and insults, and it spiraled out of control from there, drawing in the rabid anti-systemd Red Hat conspiracy lunatics (and worse). Things got progressively worse for everyone involved, particularly for Flatpak’s developers.

And so we ended up at the situation where everyone’s mad and Flatpak’s developers are “not feeling inclined to spend [their] time on that shit anymore” when it comes to accommodating and making affordances for distributions and people not using systemd. The end result will most likely be that any future Flatpak dependency on systemd will be stricter, and making any independent elogind-like daemon will be much harder than it was going to be. Nobody wins, everybody loses, all because some people thought it necessary and productive to be insulting and inflammatory.

As things currently stands, it’s very likely that over the coming years, Flatpak will gain a dependency on systemd, possibly without any affordances for an independent daemon to replicate systemd-appd functionality on distributions that do not use systemd. In other words, Flatpak would no longer be able to boast that it enables “Build for every distro: create one app and distribute it to the entire Linux desktop market.”, as it would no longer be distribution-agnostic. And that’s a shame, because Flatpak fills a real need for users, regardless of whatever init system they use.

Which is apparently something some people base their entire identity on, because they’re weirdos.

联系我们 contact @ memedata.com