- Flatpak は現在、開発者とユーザーから人気を集めているが、プロジェクト自体の 開発停滞 が問題として浮上している
- 中核開発者の離脱と ボトルネック により、新機能の反映やコードレビューが 遅延 している状況にある
- OCIイメージ対応・権限の細分化・オーディオアクセス制御など、さまざまな 強化機能 が提案されたが、実際の反映は遅々として進んでいない
- プロジェクトの長期的な発展のため、コンテナ技術標準(OCI)の導入 と Rustベースの再実装 案が議論されている
- ポータル改善、ドライバー対応、ネットワークサンドボックス化 など主要課題の解決が、Flatpak成長の鍵となっている
Flatpakプロジェクトの概要と現状
- Flatpak は2007年から類似プロジェクトとして始まり、2015年に XDG-App として初公開され、2016年に Flatpak へ改称された経緯を持つ
- コマンドラインツール、ビルドツール、ランタイム構成要素 を提供し、cgroups、namespaces、bind mount、seccomp、Bubblewrap などによってアプリケーション隔離(サンドボックス化)を実現している
- OSTree を基本配布方式とし、最近では OCIイメージ対応 も搭載して Fedora などで活用されている
- Flathub アプリストアの成長やディストリビューションでの採用など成功を収めている一方、プロジェクト内部では 活発な開発の鈍化 を経験している
開発停滞の現状と主な原因
- 保守やセキュリティパッチ水準の活動は続いているが、大規模な新機能 の開発やコードレビューは 長期間停滞 している
- 主要開発者の離脱(Larsson など)によりレビュアーが不足し、新規コントリビューターの流入や大規模変更が難しい環境になっている
- Red Hat などが貢献している Flatpakプリインストール(Preinstall) 機能も、レビュー遅延と担当者離脱により、統合完了まで数か月を要する事例が繰り返されている
OSTree と OCIイメージ対応
- OSTree は Flatpak にうまく適用されたが、非標準的で限定的なツール という問題があり、保守以外では積極的な発展が見られない
- OCI にはコンテナイメージ向けの 幅広いツールエコシステム が存在し、Flatpak 開発チームにとっては、導入により保守負担と重複作業を減らせる効果が期待される
- zstd:chunked のような効率的圧縮フォーマット対応も新規 PR として提案されたが、遅延・未統合 の状態が続いている
権限管理とサンドボックスの細分化
- Flatpak は サンドボックス化 によるシステムアクセス制限に重点を置いており、最新の Flatpak では 権限の細分化(例:
--device=input)がサポートされている
- Linux ディストリビューションごとに Flatpak のバージョンが異なるため、新しい権限機能が広く適用されにくい問題 と バージョン互換性 の問題が発生している
- オーディオ権限については PulseAudio 対応の限界により再生と録音の分離が難しく、これは PipeWire などによる改善の必要性が指摘されている
- ネストされたサンドボックス への対応不足により、Web ブラウザーなどで内部的に別のサンドボックスを活用できない
D-Bus とネットワークのサンドボックス化
- Flatpak は D-Bus に直接アクセスせず、xdg-dbus-proxy を通じたフィルタ済み通信方式を使用している
- Wick は フィルタリングポリシーを D-Bus ブローカーへ移し、ポリシーの動的適用と cgroup ベースのアクセス制御 を実現したい考えを示している
- ネットワーク名前空間の実装不足により、localhost ポートが露出 している場合に Flatpak アプリ間で 意図しない通信が可能になる おそれがある(実例: AusweisApp)
- NVIDIA ドライバー は各ランタイムごとに個別提供されており、過剰なネットワークトラフィックと更新の難しさ を引き起こしている。Valve のモデルを参考に、ホスト共有や静的コンパイル案 が模索されている
ポータル(Portal)の活用と改善の必要性
- ポータル は D-Bus ベースの外部リソースアクセス API であり、ファイル、印刷、URL など多様な役割を担う
- Documents ポータルなどはファイル単位では有効だが、GIMP・Blender など高い操作性が求められるアプリでは 細かすぎる権限モデル が制約として働く
- パスワード自動入力、FIDOキー、音声合成などの新API 提案とともに、開発難度の緩和や Rust による再実装 のアイデアが議論されている
Flatpakの未来(Flatpak-next)
- 今後 Flatpak がこれ以上開発されない状況を想定し、OCIエコシステムへの大転換(イメージ、レジストリ、ツール、ポリシーなど幅広い活用)が長期的観点から議論されている
- Rust ベースの再実装など、コンテナエコシステムの一元化 により、管理負担、保守、拡張性の面で利点が見込まれる
質疑応答まとめ
- OCI移行時の既存 Flatpak アプリの扱い についての質問には、Flathub のビルド自動化などにより大きな問題はないと回答している
- OCIレジストリにおけるメタデータ不足の問題 については、非イメージデータ向け標準が整備されつつあるものの、実際の反映には開発と統合が必要とされる
- PipeWire の直接対応 計画については、技術的議論が進行中であり、PipeWire のポリシーベース統合が方向性とされている
結論
- Flatpak は 配布およびサンドボックス標準プラットフォーム として地位を築いたが、レビューと新規開発の停滞、権限・ネットワーク・ドライバー問題、将来の標準移行 など多くの改善課題を抱えている
- OCIベースのコンテナ技術と Rust 活用 は、Flatpak 発展の新たな原動力として浮上する余地がある
- 主なポイントは レビュアー確保、標準化、エコシステム拡張、ユーザー体験改善 などに要約できる
2件のコメント
アクセス権を完全に遮断するのではなく、どのディレクトリにアクセスしているのかを明確に示す方式のほうがよいと思います。
Androidはその点では悪くないのですが、こちらは権限のまとめ方が大きすぎて、必要のないレベルの権限まで一緒に許可しなければならないので…
Hacker Newsの意見
--device=inputの未対応、スピーカーだけ開いてマイクは遮断するといった細かな権限設定ができない現実を実際に経験した/tmpディレクトリにアクセスできず、添付ファイルを保存して他のアプリで開くのが極めて不便になるサンドボックス環境への不満が挙げられる。コンピュータの主人は開発者ではなくユーザーであるべきで、こうした過剰なセキュリティは生産性低下につながると考えており、Useless Machineにたとえているgit config、フォントフォルダなど)については、すべてのインスタンスが同じアクセス権を持てるようオプション化するハイブリッド方式が実用的だと提案flatpak-spawn、polkit-execなどの迂回策は可能だが、この場合サンドボックス保護はほぼ放棄することになる