I was thinking about all the discussions around the Fedora Flatpak situation, and I noticed something… is there a justification for Fedora Flatpaks (or our packages in general) to retain upstream’s Application ID?
For example, currently if we search for “OBS Studio” using the flatpak app, we find ourselves in this situation.
$ flatpak search "OBS Studio"
Name Description Application ID Version Branch Remotes
OBS Studio Live stream and record videos com.obsproject.Studio 31.0.0 stable fedora,flathub
Wouldn’t it be a better way to handle all this confusion if we made Fedora Flatpaks to use the org.fedoraproject.<rpm-package-name> App ID so they don’t conflict with upstream when they are also being distributed in Flathub using their own distribution policies? This way we would have the following result.
$ flatpak search "OBS Studio"
Name Description Application ID Version Branch Remotes
OBS Studio Live stream and record videos com.obsproject.Studio 31.0.0 stable flathub
OBS Studio Live stream and record videos org.fedoraproject.obs-studio 31.0.0 stable fedora
I haven’t thought about all the implications, and I know that this might not be simple nor easy considering that many packages already depend on using upstream’s metainfo information… and I imagine this could also affect how RPMs are resolved… But wanted to iterate on this idea to see what other contributors think about it
EDIT: What I mean in the end is that, in my perspective, Flatpak apps distributed by Fedora are different that the ones distributed on Flathub and we should provide better ways to differentiate between sources.
I think that using the remote as a distinguishing factor is not enough considering how that is presented on the different frontends we provide in the distribution, those being GNOME Software, KDE Discover or the flatpak command line.
The ID represents the app, not the packager. No one minds that Fedora’s firefox RPM uses org.mozilla.firefox, for example. The Fedora remote is using app IDs as they were intended, even if that may be surprising to some upstreams that have only been exposed to the concept through Flathub.
Because of how Flatpak’s sandbox works, changing the app ID would require renaming the .desktop file and other exported files, as well as changing any D-Bus interfaces. Also, I don’t think anyone would be happy with duplicate entries in GNOME Software. That would actually make it more difficult for users to distinguish the two versions unless you append ‘(Fedora)’ to the name. They’d also be parallel-installable and would appear separately in the launcher, so you’d need some way to disambiguate them there as well.
Something does need to be done to better communicate the nature of Fedora flatpaks though. A good start would be changing the ‘Report an Issue’ link in Software, which would require patching <url type="bugtracker"> in the appdata. Could that be done automatically for all Fedora packages by default?
Yeah, didn’t thought about the D-Bus part, even if it could be patched, it could be a major problem for this approach
Treating them as the same app is what got us in this mess in the first place and I would personally be happy if I had duplicate entries that I could distinguish instead of the situation that we have to deal with now.
Even if they are the same application, they are built under different environments, using different bases, packaged under different policies and verified under different standards and in some cases target different architectures.
And if we want to talk about GNOME Software, users already can’t distinguish from which source the apps are being installed. This is not even a GNOME Software problem, it’s a Fedora problem, since it also not clear on KDE Discover or by using flatpak through the command line unless you know what you are doing.
Maybe this is actually the problem I was actually thinking about in the first place … I should edit the first post…
I agree that this could be a problem… but why stop on just changing the name? We could even add a badge to the icon, or add a “Made for Fedora” or “Provisioned from Flatpak” marker of sorts (this already happens on KDE Discover when you change sources).