世界を動かす技術を、日本語で。

フラットパックの未来

2025年5月23日原文(lwn.net)

概要

  • Flatpakは多くの指標で成功しているが、 開発の停滞 が懸念事項。
  • 主要開発者の離脱 やレビュー不足が、機能追加や改善の障壁となっている。
  • OSTree/OCI対応、権限管理、サンドボックス など、未解決の技術課題が山積。
  • D-Bus通信やネットワーク分離 にも改善の余地があり、セキュリティ面で課題が残る。
  • 新規貢献者の参入促進・体制強化 が、今後の発展に不可欠。

Flatpakプロジェクトの現状と課題

Flatpakの成功と普及状況

  • Flatpak は、Linuxアプリケーション配布フォーマットとして 開発者・ユーザー双方から高い支持 を得ていることを確認。
  • Flathub でのアプリ公開数増加や、 Fedora など主要ディストリビューションでの採用拡大を確認。
  • Alexander Larsson による初期開発、および GNOME/Red Hat メンバーの継続的な関与を確認。

開発停滞の背景

  • 主要開発者の離脱 (例:Larsson)により、 レビュー・マージの遅延 が顕著となっていることを確認。
  • 新規コントリビューター が参加しにくい状況(フィードバック・レビュー待ちが数ヶ月単位)を問題視すること。
  • 保守・セキュリティ対応 は継続する一方で、 大規模な機能追加・刷新 は進行していないことを認識。

OSTreeとOCIの現状

  • OSTree は一定の成功を収めているが、 ツール類の限定開発停滞 が課題であることを確認。
  • OCIイメージ はツールエコシステムが充実しており、 zstd:chunked圧縮 などの新機能も登場しているが、 Flatpak側での統合が進まず、レビュー待ちが続いていることを指摘。

権限管理とサンドボックスの課題

  • アプリケーション権限の細分化 (例:--device=input)や 後方互換性 確保の難しさを挙げること。
  • PipeWire による音声出力のみの権限付与など、 PulseAudio依存からの脱却 が求められていることを確認。
  • ネストサンドボックス の未対応や、 ユーザー名前空間の制限 が時代遅れとなっていることを指摘。
  • Bubblewrapのネスト利用不可 や、 サブサンドボックスAPIの制約 についても課題認識すること。

D-Busプロキシとネットワーク分離

  • xdg-dbus-proxy によるD-Bus通信の制御が現状だが、 cgroupsベースの動的ポリシー 実現に向けた構想(busdプロトタイプ開発計画)を紹介。
  • Flatpakアプリ間のD-Bus通信不可ネットワークネームスペースの脆弱性 (例:localhostサービスの全アプリ共有)を問題視すること。
  • AusweisAppの事例 など、 セキュリティ上の懸念 を具体例で指摘。
  • ネットワーク専門家の不足 が、ネットワーク分離機能の進展を妨げている現状を説明。

NVIDIAドライバ対応の負担

  • 複数バージョンのNVIDIAドライバビルド によるユーザーのネットワーク負担増大や、 ゲームFlatpakの継続的アップデート の必要性を指摘。

今後の展望と提案

  • 開発体制の強化 :新規貢献者が参加しやすい環境整備、 レビュー体制の改善 を最優先課題として提案。
  • 技術的課題の解決 :OCIサポート統合、権限モデルの後方互換性、サンドボックスの柔軟性向上、 ネットワーク分離の強化 などを推進すること。
  • セキュリティとユーザビリティの両立 :D-Busやネットワークを含む アプリ間通信の安全性 向上を目指すこと。
  • コミュニティの活性化Flathub やLinuxディストリビューションと連携し、Flatpakプロジェクト全体の発展を促進すること。

まとめ

  • Flatpak はLinuxアプリ配布の主流となりつつあるが、 開発停滞や技術的課題 が今後の成長の障壁となっていることを確認。
  • 持続的な開発・体制強化技術的負債の解消 が、今後の安定運用と普及拡大の鍵であることを提案。

Hackerたちの意見

パーミッションの問題は本当に深刻だよね。Tailscaleや仮想インターフェースを作成するものをFlatpakとしてパッケージ化することはまだできないし、そのためのパーミッションがないんだ。macOSにはインターフェースを追加したりルートを変更するためのパーミッションを要求するAPIがあるのに。

そのAPIのおかげで、TailscaleはMacOSではサンドボックスアプリとしてMac App Storeを通じて配布されているんだ。[1] Flatpakの制限は、SilverblueやBluefinのような「アトミック」Linuxディストリビューションで特定のソフトウェアを使うのを難しくしているんだ。これらは読み取り専用のベースシステムを提供して、ユーザーがFlatpakを通じてソフトウェアを取得することを期待しているから。[1] https://tailscale.com/kb/1016/install-mac

Tailscaleはフラットパックじゃなくて、システム拡張にすべきじゃないかな。

たとえ可能でも、Tailscaleをフラットパックでインストールする気はあまりないな。フラットパックは、システムを汚さずに大きな、もしかしたらクソみたいなデスクトップアプリをインストールするための手段だと思ってる。OBSスタジオはその完璧な例だよ - いいアプリだけど、QTを使ってるのはこれだけで、フラットパックのおかげでQTライブラリをシステムにインストールしなくて済んでる。Tailscaleはシステムサービスみたいなもので、ディストロパッケージの方が好ましいな(ちなみにArch LinuxのリポジトリにはTailscaleが含まれてるよ)。

フラットパックのユーザーってわけじゃないけど、Linuxの上にある権限システムはすごい取り組みだと思う。パッケージングと権限のレトロフィットを同時に解決するのは、飲み込むには大きすぎるクッキーのように感じる。権限システムが勢いを失わせて、こういう燃え尽き症候群を引き起こしたのかはわからないけど、すごく複雑に見える。俺にとって、Linuxには細かい現代的な権限システムがないし、パッケージマネージャーがそれを解決してくれるとは期待してない。今でもプロプライエタリソフトウェアを使ってるのは、そうせざるを得ないから。理想的な状況かって言われたら、そうじゃない。でも、完璧な権限を待つよりは、配布システムを持ってベンダーをチェックする方がいいと思う(それは今やってることだし)。配布、パッケージング、アップデートが今一番必要だと思う。

Tailscaleや仮想インターフェースを作るものをFlatpakとしてパッケージ化するのはまだ不可能なんだ。許可がないからね。可能ではあるけど理想的ではない。アプリケーションはflatpak-spawnを使ってサンドボックスから出て、polkit-execでユーザーにルート権限を求めることができるけど、ほとんどすべてのサンドボックス機能を取り除くことになる。

Wickは、Flatpakプロジェクトは素晴らしいように見えるけど、深く見てみると「もう積極的に開発されていないことに気づく」と話し始めたんだ。コードベースを維持したりセキュリティの問題を修正する人たちはいるけど、「大きな変更はもう本当に起こっていない」と言ってたよ。新機能のためのマージリクエストがたくさんあるけど、誰もそれをレビューする責任を感じていないみたいで、それはちょっと問題だよね。Red Hatはここでもっと頑張るべきだと思う。特にRHEL 10でデスクトップパッケージの多くを維持するのをやめて、「私たちからではなくFlathubからパッケージを取得して」とユーザーにアドバイスしているのに(https://docs.redhat.com/en/documentation/red_hat_enterprise_... を見て、Flathubを検索してみて)。もしこれがRed Hatのデスクトップソフトウェアに対する態度なら、Flatpakを実行可能な代替手段にするためのリソースを提供すべきだよ。> ユーザーのLinuxディストリビューションは、--device=inputをサポートしていない古いバージョンのFlatpakを提供しているかもしれないし、Flatpak開発者が使いたいと思っている新機能が使えないかもしれない。Wickは、アプリケーションが新しいパーミッションをデフォルトで使える方法が必要だけど、古いバージョンのFlatpakが使われているシステムでは古いパーミッションモデルにフォールバックする必要があると言ってた。彼がそれを問題として挙げてくれて嬉しいよ。私はFlathubで音声とコントローラーのサポートがあるゲームを維持しているんだけど、限られたパーミッションの粒度のせいで、そのゲームは任意のデバイスアクセスを必要とするものとして表示されているんだ(--device=inputは新しすぎて、Flathubのメンテナがまだパッケージに許可していない)。それに、デバイスのマイクにアクセスできることも必要なんだけど(音声パーミッションはスピーカーだけでなくマイクにもアクセスできる)。Flatpakがパーミッションの後方互換性を追加してくれることを願ってるよ。

Red Hatはその一部を引っ込めたみたいだね。FirefoxとThunderbirdはRHEL 10用にFlatpak専用になる予定だったけど、結局GA用のrpmが出荷されたみたい。Native Messagingの欠如や、ポリシーを中央で展開する能力がないこと、デスクトップエコシステムの他の部分との統合が壊れていることなど、さまざまな原因があったみたい。

いいまとめだね。私はLinux初心者で、これを知らなかったよ: > FlatpakはホストシステムがPipeWireを使っていてもPulseAudioを使っている。これが問題なのは、PulseAudioがスピーカーとマイクへのアクセスを一緒に束ねているから—両方にアクセスできるか、どちらもできないかで、片方だけは無理なんだ。だから、アプリケーションが音を再生するためのアクセスを持っていると、同時に音声をキャプチャするアクセスも持っている。これはかなり大きな穴だね。

時々、LinuxユーザーがWindowsやMacのデザインミスや「自由」の欠如を嘲笑しているのを見かけるけど、こういうこともあるよね。もちろん、Linuxは便利に再定義されて、誰も責任を持たず、すべての問題で指を指し合っているけど、こういうデザインの欠陥を認めることはしないんだ。

これは私にとっても近い話だよ。FlatpakはLinuxでデスクトップアプリを配布する最良の方法だと思う。アプリ開発者、パッケージャー、ユーザーとしてそう言えるよ。かつては10個近くのパッケージを維持していたこともあった。次に何をするのか、どんな魔法のような機能を導入するのか、数ヶ月間楽しみに待っていたんだ。フォーラムで他のユーザーがアプリをパッケージ化するのを手伝ったり、Flathubの提出をレビューしたり(毎回同じ問題だったから)、PRがどうなっているかをチェックし始めたりしてた。静寂。数ヶ月が数年に変わり、さらに年が経つにつれて、私はFlatpakとの関わりを徐々に失っていった。今はほとんどのことにAURを使っているけど(Archね)、この状況が明らかにされるのを聞いてとても悲しいよ。Flatpakは本当に革命的だったんだ。現代のアプリとスムーズな配布をすべてのデスクトップに持ち込んだ—LTSでもローリングリリースでも。でも、数年前に始まった時から本当に何も変わっていないんだ。

同じ気持ちだよ。数年前はFedora + GNOME + フラットパックが魔法の組み合わせだったけど、今はそうでもないね。俺もArchに戻ったけど、パッケージリポジトリが増えてる感じがする。AURもあるけど、必要なものがほとんどないのには驚いてる。

Hacker Newsで議論の続きを見る