Ubuntu Flavor Packaging Defaults

As a developer, it might help to see a bit of the standpoint I have on this issue, as I actually agree with the decision to not include Flatpak by default. I may simply be reiterating what @kewisch has already said, but I don’t have to talk in “official language” so it might be a bit easier to swallow.

It may be easily overlooked, but one of the core features of Ubuntu is that package versions change very, very rarely. If at all possible, bug fixes are taken from the (openly viewable) source code of an application, carefully tweaked to make them compatible with an older version of the software, patched in, tested, and only then deployed. There are a few packages where this is impractical (Firefox for instance), and there are some closed-source packages in the Restricted repo that we can’t backport patches into since we don’t have the code. But for the most part, if you install an app into Ubuntu, that’s the app you get, and that will be the app you continue to use for the rest of that release’s lifespan.

This is a powerful feature since it makes Ubuntu unlikely to randomly break your important data as often as that other OS that you hear get a lot of grief from Linux geeks, but it also requires that Canonical and the Ubuntu community have near-total control over the software repository.

That’s only possible if Canonical actually has the necessary control.

Canonical does have total and complete control over the Ubuntu archive that apt uses. And Canonical has total and complete control over the Snap repository. If something goes wrong and Canonical must step it, they can.

But Canonical has zero control over the Flatpak repositories. They do not host a Flatpak repo of their own (Snap does the near-equivalent job), nor do they control Flathub or any of the other Flatpak repos (at least as far as I know). This means that if something goes awry with a Flatpak, the user is pretty much left to figure it out for themselves.

What’s worse, most of the Ubuntu flavors (and Ubuntu itself) provide free technical support via forums and IRC channels. Most of our users are using software from the Ubuntu repos or Snap Store and we are equipped to help them. We know what to expect from the software our users run and can give targeted and efficient advice on how to resolve issues. Some of us can even kick things into shape in the archives if there’s a legitimate problem with our packages, or we know who to talk to.

With Flatpaks, the situation is much more dismal from a technical support perspective. We have little-to-no clue what quirks the software vendor(s) will have introduced since we don’t work closely with them. We have no way to reach in and fix legitimate bugs aside from filing bug reports and hoping that they will be answered. We’re going to end up with frustrated support staff and even more frustrated users. And all because they didn’t know that if they clicked a particular button in their flavor’s app store, they would be downloading unsupported software.

Yuck. No thanks.

Ubuntu provides plenty enough software for most people in the apt archives and in the Snap Store. In the rare instances that someone needs a Flatpak, they have to go out of their way to enable Flatpak support, which gives them a clue that what they’re doing might not end well. If they enable Flatpak, install an app, it fails, and then they come ask for help, they’ll at least expect it when we say “sorry, we don’t support Flatpaks, that’s why they require extra steps to enable”. They’re exactly like PPAs from an Ubuntu support perspective. And I’m sure we can agree that providing official support for arbitrary PPAs is a bad idea.

That, in a nutshell, is why Canonical and the Ubuntu flavors have gone ahead and agreed to not include Flatpak on the default ISOs, at least as I understand it. As a regular supporter in the IRC channels and many of the Ubuntu-related forums, I heartily agree with this decision.

(For the record, I don’t hate Flatpaks, just like I don’t hate PPAs. In fact I have Flatpak enabled on my personal system and have nn app installed from Flathub that I use. I just don’t expect that the official Ubuntu support venues are going to help me if that app goes berzerk.)

24 Likes