Comment 0 for bug 1711249

Revision history for this message
gjsman (g.s.) wrote : Why?

Hello,

This is not really a bug, but it is important to address nonetheless. The question is: Why? Why are we developing Snap packaging, when the rest of the Linux community is going with Flatpak?

I know what you are thinking: I hate Snap, or really love Flatpak. Neither are true, and both are interesting and novel. The problem comes from mere practicality reasons. Namely:

A) According to most surveys, Linux developers and the Linux community (in general) want to use Flatpak more than Snap. In one survey, 66%/33%.
B) Flatpak already has security and confinement going through SELinux, not to mention Wayland support. Snap only has AppArmor (which not as many Linux distributions have), and doesn't have special Wayland confinement right now.
C) Ubuntu has tried in the past to go their own way with technology, against the general Linux community's wishes. Mir was arguably a failure. Unity8 was also a failure. Snap is going against the general Linux community again, and it seems like it is going to follow the same pattern. Why would anyone use Ubuntu when the core part of it doesn't work like everyone else?
D) Flatpak is decentralized, versus Snap's centralized design. This is a win for OEMs, Embedded Software, and Paid apps, but much fear around Snap comes from people afraid of letting Canonical pretty much run the show, alone by themselves. Do Red Hat, Linux Mint, and the like really want Canonical and Ubuntu to own the core servers for distributing apps?
E) gcalc, a Calculator app, totaled a whopping 58.2 MB in my testing from Ubuntu's own snapcraft.yaml settings, which is unacceptable. Corebird is another example. 2MB in APT, 12MB in Flatpak, 112MB in Snap.
F) Snap is out-of-date as an APT package in almost all other distributions other than Ubuntu. Flatpak is up-to-date (or nearly) in almost all.

Does this mean Snap doesn't have a place in the Linux world? Wrong, but I think a different approach is necessary. Namely:

A) Snap is good for server applications and big technology companies such as OEMs or Embedded Devices (e.g. IoT). However, it isn't as good (yet) for things like Desktop programs. Therefore, it may be best to not force Snap upon the masses for desktop, and rather build Snap for these specific use cases.
B) Ubuntu, instead of snapping the entire OS, should build Ubuntu out of Flatpaks and promote the Flatpak standard, and integrate Snap for said specific use cases.

In other words:

- Flatpak: Core OS, Desktop Apps (like everyone else wants)
- Snap: Server, IoT, Enterprise, Paid Apps

Thoughts?