Thursday, July 3, 2025

F43 Change Proposal: Filter Fedora Flatpaks for Atomic Desktops (self-contained)

Wiki - https://fedoraproject.org/wiki/Changes/FilterFedoraFlatpaksAtomicDesktops
Discussion thread -
https://discussion.fedoraproject.org/t/f43-change-proposal-filter-fedora-flatpaks-for-atomic-desktops-self-contained/157262

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.

== Summary ==

For the Fedora Atomic Desktops (and only those), we will keep
pre-installing a set of Fedora Flatpaks by default but filter the
Fedora Flatpak remote to a limited set of applications (the ones
pre-installed from the ISO and the runtimes).

== Owner ==

* [[User:Siosm| Timothée Ravier]], siosm@fedoraproject.org


== Detailed Description ==

With this change, we want to make the availability of a Fedora Flatpak
an explicit decision for the Fedora Atomic Desktops.
Fedora contributors may package any application as Fedora Flatpak, but
those Flatpaks will not be made available immediately to Atomic
Desktops users.
Users that want to have access to all Flatpaks from Fedora can remove
the filter.

=== Why not use Flathub Flatpaks instead? ===

The most popular derivatives of the Fedora Atomic Desktops (Universal
Blue, Bazzite, Bluefin, etc.) do not use Fedora Flatpaks and enable
the Flathub ones by default instead.

Moving the Fedora Atomic Desktops to using Flathub Flatpaks would
potentially require legal work and infrastructure changes.
Completely removing the Fedora Flatpak remote from the Atomic Desktops
would mean that the default installation would appear very bare bone
in terms of available applications.

This change is thus trying to reach a middle ground between those two
options, keeping Fedora Flatpaks where they are convenient and
valuable.

=== What are the problems with Fedora's Flatpaks? ===

The Fedora Flatpaks have disadvantages that are either structural, or
hard to fix:

* They see little maintenance and traction in the community, and are
generally not maintained nor desired by their upstream developers.
* There is no documentation on how to build, maintain, and update a
Fedora Flatpak.
* There are no procedure to remove or deprecate a Fedora Flatpak.
* Building a Fedora Flatpak is different from upstream Flatpak builds
and Flathub ones.
* The OCI format used to transport the Fedora Flatpak has many
downsides at the moment:
** no-deduplication during download between Fedora runtimes,
applications, across other remotes (Flathub, etc.)
** larger memory/disk/CPU overhead
** does not support extra-data (openh264 support):
https://github.com/flatpak/flatpak/issues/3790
** does not offer history / downgrade support, making it harder to
diagnose regressions (as far as the author of this change knows) (see
https://docs.flathub.org/docs/for-users/downgrading for example for
the ostree format used by Flathub)

The only advantages that the Fedora Flatpaks have are:

* Slightly stronger guarantee than Flathub that they are build
entirely from Free Software and directly from the source.
** For the details about Flathub, see
https://docs.flathub.org/blog/app-safety-layered-approach-source-to-user
* Built using the same source as the RPMs, thus benefiting from
patches that are only available in Fedora and not yet upstream.

=== Which Flatpaks will be added to the filter? ===

The list of Fedora Flatpak enabled for the Fedora Atomic Desktops will
be maintained by the Fedora Atomic Desktop SIG, with input from the
desktops working groups (Workstation Working Group, KDE SIG, etc.) and
the Flatpak SIG. We will populate the filter with the list of
pre-installed Flatpaks (and the runtimes) as a starting point.

== Feedback ==

There has been a lot of feedback that Fedora Flatpaks are not what the
community and upstream want installed, enabled and offered by default
as this notably creates a lot of confusion for users when some
features are missing:
* https://pagure.io/fedora-workstation/issue/463
* https://gitlab.com/fedora/sigs/flatpak/fedora-flatpaks/-/issues/39
* and lots of threads on the discussion forum

The Workstation working group discussed the issue and landed on a
decision, which is close to what is proposed in this change:
https://pagure.io/fedora-workstation/issue/463#comment-963702

== Benefit to Fedora ==

* Less confusion for Fedora users of Atomic Desktops
* Less confusion for upstream developers when responding to bug
reports about "their" Flatpak'ed application
* Stronger focus on what makes Fedora better: upstream contribution
and collaboration with other communities
* Less work and pressure for the Flatpak maintainers in Fedora
* More focus and testing on the Flatpaks installed by default on the
Atomic Desktops

== Scope ==

* Proposal owners: Add a filter to the Fedora Flatpak remote for Atomic Desktops
* Other developers: N/A
* Release engineering: N/A
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy: Aligns with the goal of making
the Fedora Atomic Desktops more attractive to new users

== Upgrade/compatibility impact ==

This change is intended to apply to all Fedora Atomic Desktops users
on update. Users that are using Fedora Flatpaks may have to update the
filter to keep receiving updates or move to Flathub packages instead.

== Early Testing (Optional) ==

Do you require 'QA Blueprint' support? N

== How To Test ==

Remove Fedora Flatpak remote, enable filtered Fedora Flatpak remote,
enable Flathub remote. Commands to be added here.

The implementation will likely look like this previous work:
* https://fedoraproject.org/wiki/Changes/Filtered_Flathub_Applications
* https://pagure.io/fedora-flathub-filter

Once the change is implemented, new installation ISOs for Atomic
Desktops will let users tests this more easily.

== User Experience ==

Users installing applications from the GNOME Software and Plasma
Discover store will get fully featured Flatpaks by defaults, usually
maintained directly by their own developers. We will still install a
set of core applications by default on the system as Fedora Flatpaks.

== Dependencies ==

N/A.

== Contingency Plan ==

* Contingency mechanism: Keep things as is
* Contingency deadline: Beta/Final freeze
* Blocks release? N/A (not a System Wide Change)

== Documentation ==

We will have to document how to remove the filter for users that want
to use all Fedora Flatpaks.

== Release Notes ==

To be written.




--
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

--
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

No comments:

Post a Comment