I would tend to say that snaps and clicks are more similar than clicks and debs.
.click packages share the structure of an ar archive containing a marker file plus metadata and data tarballs, there are some pretty big differences:
- Deb packages contain scripts that are run during install time that can do anything. Click packages have declarative metadata describing how they should be exposed to the system.
data tarball of a deb is intended to be unpacked into the root of the file system. A click’s
data.tar.gz is intended to be unpacked into it’s own subdirectory, not mingled with data from other packages.
- Most of the click metadata, such as AppArmor confinement settings, is part of the data tarball, rather than the control tarball.
So despite the different container formats (ar archive vs. squashfs file system), clicks are quite similar to snaps, and are the obvious inspiration.
As for what the inspiration for click packages were, they came out of the Ubuntu Phone project. We wanted a read only system image that could be upgraded as a single unit to the next tested release. It follows from this that user-installed applications cannot be mixed into the base system. The confinement was intended to prevent these applications from interfering with the base system or other applications.
This is very similar to the model used by other smartphone operating systems like Android and iOS.