F38 proposal: Unfiltered Flathub (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://fedoraproject.org/wiki/Changes/UnfilteredFlathub

Note that I am processing this proposal past the deadline because 1. I
think it could reasonably be considered a Self-Contained Change
proposal and 2. the reasons outlined by Mattias in another thread:
https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/thread/PKUEM64L7FDGQBPRKZTHF5EF5FTLVSXG/

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 ==
Fedora Workstation's existing
[https://docs.fedoraproject.org/en-US/workstation-working-group/third-party-repos/
third party repo feature] allows users to enable a selection of
software repos that are hosted by external organizations. This
selection has included a filtered version of Flathub since F35, which
provides access to a small number of Flathub apps. This change would
remove the filtering from our Flathub offering, so that users can
enable a complete version of Flathub using the third party
repositories feature. In the graphical software manager app, Flathub
packages will only be selected by default when no Fedora package is
available.

== Owner ==

* Name: Workstation WG
* Email: mclasen@xxxxxxxxxx


== Detailed Description ==
Since F35, Fedora has included a Flatpak repo definition for Flathub
in the fedora-flathub-remote package. This Flathub remote can be used
by those who enable third-party software repositories through either
GNOME Initial Setup or GNOME Software. Users who do not opt in do not
see any content from Flathub.

The current Flathub remote is filtered by an allowlist, to only make a
limited subset of software from Flathub available.

The unfiltered Flathub change has two parts:

# Remove the allowlist from the Flatpak remote, so that when a user
opts in, they gain access to all Flathub content and not just a small
selection.
# Adjust GNOME Software so that it uses the following priority order
when deciding which package to offer by default:
## Fedora Flatpaks
## RPMs
## Flathub Flatpaks

This will mean that, when using the graphical software manager,
Flathub Flatpaks will only be selected by default when there is no
Fedora Flatpak or RPM.

Other details:

* In GNOME Software, users will continue to be able to manually select
a different source for individual applications.
* The filtering mechanism will remain in place, and it will be
possible to reinstate a filter via a package update, should the need
arise in the future.
* It has been indicated that it is legally acceptable for us to remove
the filtering from the Flathub remote that we make available for users
to opt into.
* The UI for enabling the third party repositories clearly states that
they contain proprietary software.
* GNOME Software shows information about whether apps are open source
or proprietary, so that users can decide whether they want to install
them or not.

== Feedback ==
A previous version of this proposal was rejected by FESCo for Fedora
37. It has subsequently been modified to address the concerns raised:

* GNOME Software will prefer packages that have been through the
Fedora packaging process, over those that have not.
* For developer tools that do not work well in a sandbox, there will
be no Fedora Flatpak, and the RPM will be preferred over the Flathub
Flatpak.

Some other questions and concerns that were raised in the previous discussion:

=== Who owns and runs Flathub? ===

Flathub is owned and run by [https://foundation.gnome.org/ the GNOME
Foundation], which is a 501c(3) organization registered in the USA.
(The GNOME Foundation
[https://foundation.gnome.org/legal-and-trademarks/ owns the Flathub
trademark], and employs one of the sysadmins who works on Flathub.)

As a non-profit, the GNOME Foundation is required to fulfill a
charitable purpose. This is set out in its IRS registration, which
states that the organization's mission is "broadening access to
technology through the development and distribution of... usable free
computer desktop software".

The GNOME Foundation is governed by its Board of Directors, which is
elected by contributors to the GNOME project.

Plans exist to create additional governance around Flathub itself, so
that other desktops and projects have a formal role in the running of
the Flathub service.

=== Isn't Flathub full of repackaged binaries? ===

At present, around 10% of the apps on Flathub have been repackaged
from another format. These other formats include distro packages and
tarballs, as well as binaries. (The previous figure was 12% - the
analysis for this can be read
[https://blogs.gnome.org/wjjt/2022/06/14/how-many-flathub-apps-reuse-other-package-formats/
here].)

Flathub prefers that apps be built from source, and if sources are
available this is what it is expected to be used. Repackaging is only
used when sources aren't available, or when it isn't practical to
build the entire application, due to size constraints.

=== But I don't like Flatpak because ___________ ===

Inevitably, people have opinions about the design choices for Flatpak
- no technology is ever perfect. Nevertheless, Flatpak is a unique
opportunity for Fedora. Some of the key advantages it offers:

* Allows supporting the same app over multiple OS versions
* Is compatible with next-generation image-based operating systems,
like Silverblue
* Vibrant upstream application ecosystem, particularly around Flathub
* Distro and platform neutral with no vendor lock-in
* Support for application confinement/sandboxing
* Fully integrated into the GNOME desktop experience

No other application packaging tool has these qualities and, for all
these reasons, Flatpak is an important part of the long-term plans for
Fedora Workstation.

=== Lack of community presence around Fedora Flatpaks ===

We previously received feedback that there were no good contact points
for Fedora Flatpaks. The newly created
[https://fedoraproject.org/wiki/SIGs/Flatpak Fedora Flatpak SIG] aims
to correct this situation, and will be the group that is responsible
for Fedora Flatpaks in the future.

The SIG will work to improve the general state of Fedora Flatpaks,
including documentation, issue tracking, and coordination.

== Benefit to Fedora ==

Flathub currently hosts nearly 2,000 apps, including many apps which
are not included in the Fedora repositories. This includes popular
proprietary apps, but also many open source apps which are maintained
in Flathub by their developers. This change will make it easier for
Fedora users to access this resource.

For users who already use Flathub, this change will make it easier to setup.

Additionally, out of the box application availability is one of the
key metrics on which Fedora is judged in comparison to other distros.
Having the option to easily enable Flathub will put us in a much more
competitive position with regards to our rivals, and will make it
easier for people to recommend Fedora as a user friendly Linux distro.

This change will also be a significant improvement over the existing
filtered version of Flathub that we offer. This has received a lot of
negative feedback, with users being confused by the limited subset of
Flathub that are included.

== Scope ==
* Proposal owners:
** Remove the allowlist in /usr/share/flatpak/fedora-flathub.filter,
or replace it with one that allows everything
** Adjust the name of the remote to reflect its unfiltered nature

* GNOME Software developers:
** Land this change to fix preference order in g-s:
https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1511
** Make sure that the preference order works as desired on Silverblue
as well, where we always want to prefer flatpaks over layering rpms.
This is being discussed here:
https://github.com/fedora-silverblue/issue-tracker/issues/354

* Release engineering:
** No work needed

* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives:

== Upgrade/compatibility impact ==
Existing Fedora installations with a configured Fedora Flathub remote
will pick up the new, permissive filter.

== How To Test ==

When third-party software is not enabled in GNOME Initial Setup or
GNOME Software, search results from Flathub should not appear in GNOME
Software.

When third-party software is enabled in GNOME Initial Setup or GNOME Software:

* Search results from Flathub should appear.
* The default app selected by GNOME Software should be as follows:

{| class="wikitable" style="margin:auto"
|-
! Fedora Flatpak? !! RPM? !! Flathub Flatpak? !! Default package
|-
| ✓ || ✓ || ✓ || Fedora Flatpak
|-
| ✗ || ✓ || ✓ || RPM
|-
| ✗ || ✗ || ✓ || Flathub Flatpak
|-
| ✓ || ✓ || ✗ || Fedora Flatpak
|-
| ✓ || ✗ || ✗ || Fedora Flatpak
|-
| ✗ || ✓ || ✗ || RPM
|}

== User Experience ==

When opening GNOME Software after opting into 3rd party software, all
the applications that
are available on Flathub will show up in search results.

Where there are overlaps, Fedora content will be preferred over Flathub content.

When opening GNOME Software without opting into 3rd party software,
only Fedora content
will be show up in search results.

== Dependencies ==
No dependencies.

== Contingency Plan ==

* Contingency mechanism: Reinstate the filtering we had in Fedora 36

* Contingency deadline: Beta

* Blocks release? No

== Documentation ==

* [https://pagure.io/fedora-third-party/blob/main/f/doc/fedora-third-party.1.md
fedora-third-party]
* [https://github.com/flathub/flathub/wiki Flathub wiki]
* [https://fedoramagazine.org/comparison-of-fedora-flatpaks-and-flathub-remotes/
Comparison of Fedora Flatpaks and Flathub remotes]

== Release Notes ==

The Fedora Flathub remote now exposes all content from Flathub,
instead of only a small subset. Flathub is not enabled by default. To
enable software from Flathub, turn on third-party software in GNOME
Initial Setup or GNOME Software.


-- 
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux