Make Flatpak a first class delivery method for KDE Apps
Open, Needs TriagePublic

Subscribers
Tokens
"Like" token, awarded by mart."The World Burns" token, awarded by marzal."Like" token, awarded by user."Like" token, awarded by akselmo."Love" token, awarded by szwendacz."Love" token, awarded by vulongm."Love" token, awarded by nickrichards."Love" token, awarded by flyingcakes."Love" token, awarded by hellokartikey."Love" token, awarded by thiagosueto."Love" token, awarded by martinandersen."Love" token, awarded by tfella."Love" token, awarded by fhek."Love" token, awarded by ognarb.
Assigned To
Authored By
ravier, Jun 23 2022

Description

Motivation

From flatpak.org and its introduction documentation:

Flatpak is a framework for distributing desktop applications across various Linux distributions. It has been created by developers who have a long history of working on the Linux desktop, and is run as an independent open source project.

Applications packaged as Flatpaks are directly available to users of a lot of Linux distributions thus bringing fresh KDE Apps for users independently of their Linux distribution of choice.

Flatpak is also the only application installation method available on the Steam Deck where the KDE Plasma desktop is pre-installed and the primary one for Fedora Kinoite or Endless OS for example.

It also enables developers to easily provide test version of their applications for users to try out, report issue or validate that they have been solved.

Lots of KDE Apps are now available on Flathub and their popularity is growing. For example for Kdenlive, see its page on the Flathub Beta website or the raw statistics

Plan

Short term goals, most are already in progress

  • Bring as many KDE Apps as possible to Flathub.
  • Enable CI in KDE GitLab infrastructure to:
    • Build each KDE App as a Flatpak and publish it in the infrastructure.
    • Auto-update dependencies for KDE Apps packaged as Flatpaks.
  • Improve integration with Flatpak for KDE Apps: Most KDE Apps will work as-is in a Flatpak but some need tweaks or improvements to fully provide their functionality.

Long term goals

Infrastructure:

  • Enable KDE App to be published directly by KDE on Flathub thus centralizing the work on KDE Infra alone and improving the user experience (a single place to file bugs and test new builds that fix those).
  • Join Flathub efforts to enable users to contribute financially to applications that they like so that we can redirect this support to KDE developers.

Security and privacy:

  • Improve the Portals implementations (the generic xdg-desktop-portal and the KDE specific part) to be able to do as many operations without requiring poking holes into the Flatpak sandbox, making applications safer and more portable.
  • Review all the permissions requested by KDE Apps to make sure they match the application usage and users privacy and security expectations.
  • Improve the way we display permissions granted to each Flatpak App in Discover and in the Settings.

Developer experience:

  • Improve our documentation to make Flatpak packaging an integral part of the "Build your first KDE App experience".
  • Improve our development environments (IDEs, KDevelop, Kate, etc.) to make working with applications packaged as Flatpak easy and the default.
  • Improve our development environments (IDEs, KDevelop, Kate, etc.) to make them work well when delivered as Flatpaks.

Community

In general, work for this goal is very distributed as each application need to be looked at independently for fixes or improvements. The work on the CI setup and Infrastructure is more centralized.

There is a team of KDE developers and contributors on Flathub and in KDE that is maintaining KDE Apps on Flathub and already working on some of those goals. The community hangs out in the #flatpak:kde.org Matrix room.

We have some documentation already but it would need some love.

Risks and needs

The primary "risk" for this goal is that we are unable to make progress on it. We've reached a point where maintaining KDE Apps on Flathub is a regular but relatively low effort task thus we should have room to make improvements elsewhere.

Champion

I'm Timothée Ravier, I've been part of the Fedora & KDE communities for a long time and more involved since the last 2 to 4 years.
I'm a member of the KDE team on Flathub and already working alongside the other team members on those goals.
I have (co-)mentored or am currently (co-)mentoring projects related to this goal:

I'm a member of the Fedora KDE SIG and I maintain Fedora Kinoite, an immutable desktop OS based on Fedora, featuring the KDE Plasma desktop and focused on using applications packaged as Flatpaks.

Interest

This section is intended for people other than the Champion to sign up and show support for the Goal.
If you are interested to actively join the effort and do the work, add your name below (this does not count as voting for the Goal):

@flyingcakes (Snehit Sah)
@chococandy (Riya Bisht)
@vulongm (Long Vu)

ravier created this task.Jun 23 2022, 11:22 AM
ognarb added a subscriber: ognarb.
fhek awarded a token.Jun 23 2022, 1:22 PM
tfella added a subscriber: tfella.
ravier updated the task description. (Show Details)Jun 24 2022, 8:11 AM

Added a note about the Steam Deck

ravier updated the task description. (Show Details)Jun 24 2022, 8:18 AM
ravier updated the task description. (Show Details)Jun 24 2022, 8:21 AM
ravier updated the task description. (Show Details)Jun 24 2022, 8:28 AM
fhek updated the task description. (Show Details)Jul 4 2022, 7:39 AM
fhek added a subscriber: fhek.
sitter added a subscriber: sitter.Jul 4 2022, 12:16 PM
flyingcakes updated the task description. (Show Details)Jul 13 2022, 3:33 AM
ravier updated the task description. (Show Details)EditedJul 13 2022, 8:02 AM

Added a note about portals

ravier updated the task description. (Show Details)Jul 13 2022, 8:05 AM
chococandy updated the task description. (Show Details)Jul 13 2022, 10:28 AM
chococandy added a subscriber: chococandy.
nickrichards added a subscriber: nickrichards.
vulongm updated the task description. (Show Details)Jul 15 2022, 2:05 AM
vulongm added a subscriber: vulongm.
user awarded a token.Aug 4 2022, 4:46 PM
marzal awarded a token.Aug 6 2022, 9:13 AM
marzal added a subscriber: marzal.
adam added a subscriber: adam.Aug 21 2022, 6:08 PM

Notes from refinement session:

Some concerns that there might not be enough to do for a full ~2 year Goal, as flatpak has already quite good support. Perhaps this could be done as part of the "it's all about the apps" goal that is not going anywhere, even after we pick the new ones? There was some discussion about "picking sides" in terms of technology being used, this could impact how people vote if they aren't a fan of flatpak fort example.

adam added a comment.Aug 21 2022, 6:09 PM

Personally, the name of the Goal would probably needs some work

adam added a comment.Aug 21 2022, 6:47 PM

The voting starts in a week, if you plan to update the proposal it best to do it soon.

ravier updated the task description. (Show Details)Aug 22 2022, 11:19 AM

Added a long term goal about permission display in Discover & Settings.

In T15633#279769, @adam wrote:

Personally, the name of the Goal would probably needs some work

Definitely open to suggestions!

Suggestions:

  • "Improve Flatpak support in KDE to increase security and privacy"
  • "Better privacy and security for KDE Apps via Flatpak"
  • "Deliver KDE Apps as Flatpaks to users to improve security and privacy"
In T15633#279767, @adam wrote:

Notes from refinement session:

Some concerns that there might not be enough to do for a full ~2 year Goal, as flatpak has already quite good support. Perhaps this could be done as part of the "it's all about the apps" goal that is not going anywhere, even after we pick the new ones?

I think there's definitely enough work to occupy folks for 2 years. We've already been working on it for a while and we've made good progress, but getting to a polished and pleasant experience for users still require work in multiple areas.

There was some discussion about "picking sides" in terms of technology being used, this could impact how people vote if they aren't a fan of flatpak fort example.

I explicitly did not mention any other packaging format in this goal as I think that folks that want to push for another format to be used should do it themselves, potentially as another goal here. Working on this goal also does not prevent anybody else from making other packaging formats work well for KDE Apps.

We have a community momentum to work on Flatpak support and I would like to build on that.

I'll happily answer questions if there are concerns about Flatpak from a technical perspective.

ravier updated the task description. (Show Details)Aug 22 2022, 11:42 AM
fhek updated the task description. (Show Details)Aug 24 2022, 11:24 AM
trufanov moved this task from Ready for voting to Selected on the Goal Setting 2022 board.
trufanov moved this task from Selected to Ready for voting on the Goal Setting 2022 board.
bcooksley changed the edit policy from "All Users" to "Goal Setting 2022 (Project)".Sep 1 2022, 6:52 PM
mart awarded a token.Sep 9 2022, 8:34 AM
mart added a subscriber: mart.
idesmi added a subscriber: idesmi.Jan 29 2023, 9:59 AM