Andrea Bernabei andrea.bernabei at
Thu Mar 3 13:01:21 UTC 2016

On Wed, Feb 24, 2016 at 1:59 PM, Gustavo Niemeyer <
gustavo.niemeyer at> wrote:

> Hello contributors & enthusiasts,
> I'd like to share with you one of the specifications that we've been
> iterating over for a bit, and it's now in a state that may be publicly
> reviewed.
> Snap interfaces are the improved version of the old “capabilities” system,
> and the concept used by Ubuntu Core to grant access to resources and
> permissions offered by installed snaps.
> They provide a language to describe permissions and resource sharing
> between snaps in the system, answering questions like “who can talk to the
> network”,  “who can see the serial port”, and “which serial port should it
> see”.
Hi Gustavo,

just out of curiosity :) is there a reason why we chose slots for the side
that needs a capability and plug for the side providing the "capability",
instead of the opposite?

Reading the definitions:

Plug -> "the endpoint on the providing side of an interface."
Slot -> "the endpoint on the consuming side of an interface."

I can't help thinking of a slot as a way to provide something, and if you
want to use that something you "plug" your snap into it.
Mainly because of the mental image I have of the "plugging" action, I
think: there is a slot that sits there in the system, if you want some
functionality you "plug" your snap in it...
Does that make sense? Am I missing something? :)


As of this writing the document provides:
> - Syntax for snapcraft.yaml and snap.yaml
> - Details about global and app-bound security
> - Details about attribute matching
> - Details for migration of 15.04 security rules
> - Command line interface
> Please let me know if you have any comments or questions.
> gustavo @
> --
> snappy-devel mailing list
> snappy-devel at
> Modify settings or unsubscribe at:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the snappy-devel mailing list