Discussion about this post

User's avatar
MICHAEL ODELL's avatar

I’m clearly late to this copulation of clusters, but from purely technical standpoint, where can one find an authoritative, *detailed* document describing what problems Snap attempts to address and what mechanisms it employs to do so.

I ask because this feels very familiar. When SUN led the way by putting dynamic linking into SunOS, the first versions were absolutely pilloried because of process startup overhead. (App launch delay.) SUN figured out the hot paths and added a couple of small caches in the dynamic linker and presto! Much much better. But it did require some serious sleuthing.

Likewise, when Apple introed sandboxing, the world was going to end. Luckily the devs fought it to a draw before anything slipped out, but the behavior did change fundamentally and only now is it getting to be mostly invisible.

This is all important because the “user”-based protection model we’ve used since forever, even augmented by the operational nightmare of ACLs, is completely insufficient.

Ex: at three different banks I am three completely unrelated people. A malware attachment to a banking app like Quicken

which has access to all three banks could

interfiltrate information between banks to

identify customers ripe for the picking.

Likewise, the trust level in apps is certainly not uniform. Library routines that read data

from files is trusted mot to make clandestine

copies of information. The Apple sandboxing

is the only widely deployed system which

can manage a “least privilege” surface down

to libraries which heretofore have been trusted because there was no alternative.

So even if an app is running as “you”, there

are areas which have historically used the fact it was running as “you” to perform some clandestine compromise. By doing a better job of compartmentalizing the app trust model a great deal can be done to prevent “surprising” app behavior.

I am wondering if the Snap machinery is trying to address these issues and is

plowing its own set of furrows trying to get there.

sorry for the length, but i’ve been working in this space for some time and hope there is something there to learn from.

-mo

Expand full comment
Mattias Janebrink's avatar

I tested the startup of Calculator on a Ubuntu system a year (two? three?!) ago and while the universe version from the repository took little to no time to launch cold the snapped version took several seconds. I have never used snapped packages after that. I love the idea of the Unsnap project. 😂

Also, don't you dare SIDELOAD an AppImage on your Ubuntu system!

Expand full comment
4 more comments...

No posts