Assorted questions about snapd use
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snappy |
Opinion
|
Undecided
|
Unassigned |
Bug Description
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 for Solus Linux, 66%/33%.
B) Flatpak already has security and confinement, not to mention Wayland support. Snap only has AppArmor (which not as many Linux distributions have), and doesn't have special Wayland desktop window 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. I can see why Ubuntu would like some things centralized. Here are a few solutions which may be more reasonable than trying to Snap everything:
A) Build Ubuntu out of Flatpaks (like the Linux community in general wants to do), but use Snap for IoT, Ubuntu Core, Servers, and Paid Apps. This is due to Flatpak being best for Desktop apps only.
B) Take the features of Snap, and bring them to Flatpak in a Flatpak fork. In other words, set up a Canonical-powered Flatpak server, and integrate Flatpak into launchpad. In this reasoning, think: The community in general wants Flatpak, therefore, we want to be the place where you want to host your Flatpaks. Besides a Canonical Flatpak server, a 'ubuntu-core' runtime, and the like, a forked version of Flatpak could also have things like buying Flatpaks and registering Flatpak names, features that Snappy has. It could even be modified to run in all places Snap would run.
I have done much research, and the only reason I have found why Snappy should be continued in development is for IoT and server. That's it. Why should we press forward with a product the community generally doesn't want, has various technical/practical problems, and already is being invented in the form of Flatpak? Ubuntu also needs a reputation boost after the Unity8/Mir failure. Why alienate our users again with another reinvention of something others are working on?
Thoughts?
description: | updated |
description: | updated |
description: | updated |
Changed in snappy: | |
status: | New → Opinion |
description: | updated |
Changed in snappy: | |
status: | Invalid → Opinion |
summary: |
- Why? + Assorted questions |
summary: |
- Assorted questions + Assorted questions about snapd use |
We are developing snapd because people we interact with actually like snaps. I applaud flatpak and appimage developers but I don't think we should ask an ill-defined "community" and then choose to close the shop because they voted one or another way. As for the claimed data: who did you ask?, how many people are in this community? how many people understand how flatpak, appimage and snapd work? how many developers vs users did you ask?
Asking community about complex technical decisions is like asking for random people about brexit. Most people cannot grasp the complexity behind the problem, yet alone have an opinion.
In the case of "linux community" there is no such thing, there is no way to enumerate us, let alone make scientifically valid studies.
So really, we develop snapd because we think it's a great way to distribute software, the people that interact with us (users and developers alike) like what they are getting and I have never seen this amount of positive feedback on a project as young as this.