<div dir="ltr"><br><div>One small change in direction here: after feedback from multiple directions regarding the terms slots and plugs being inverted in terms of which side is the consumer and which side is the provider, we'll invert the terms.</div><div><br></div><div>For clarity: slots will be the providing side, plugs the consuming side.</div><div><br></div><div>No further incompatibilities will happen, as we've held the releases on time for the replacement.</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 1, 2016 at 3:14 PM, Mark Shuttleworth <span dir="ltr"><<a href="mailto:mark@ubuntu.com" target="_blank">mark@ubuntu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 01/03/16 12:17, Michael Vogt wrote:<br>
> as announced by Gustavo in [1] we are working on a new "interfaces"<br>
> based system that replaces the previous "capabilities" system.<br>
><br>
> If you are using snapcraft, this change will happen automatically and<br>
> transparently with the next release (and you just ignore the rest of<br>
> the mail :)<br>
<br>
</span>Thanks Michael<br>
<br>
For those of you following along at arms length, the background for this<br>
evolution has been our desire to find a very clean language to describe:<br>
<br>
 * kernel and other security requirements for snaps and their apps<br>
 * services exported from snap to snap<br>
 * files and other content exported between snaps from the same publisher<br>
<br>
That language has shaped up very nicely. An "interface" is a convention,<br>
and a plug is something that provides the services described by that<br>
convention, and a slot is a space that can consume a plug from another snap.<br>
<br>
This will address many of the common questions and requests I've seen<br>
from folks working with snaps. For example, it will enable groups using<br>
very large common libraries to share those libraries between their own<br>
snaps (but not across vendor boundaries). It will enable vendors to<br>
build snaps that export REST APIs to other snaps, for example "set<br>
waypoints for the drone" style APIs. And it will allow you to build<br>
ecosystems of snaps that use the services your snaps export.<br>
<br>
There is one last piece to finalise, which is the initial set of<br>
security services. Those have largely been ad-hoc to date, but we want<br>
to kick off the Ubuntu Core 16 GA with a nice set of 10-20 security<br>
services which cover the cases we have seen today, and can be well<br>
documented. Over time we will probably evolve to a more granular set of<br>
security services, but the starting set should be 10-20 relatively broad<br>
ones. We'll have that nailed by April.<br>
<br>
The current plan is that Ubuntu Core 16 would be GA within about 6 weeks<br>
of the release of Ubuntu 16.04 LTS. Your feedback during the coming<br>
weeks (especially once we've got a draft of the security plugs) will<br>
really help to make that first GA an amazing release.<br>
<br>
I have to say we were blown away by the feedback at MWC - it seems that<br>
people really love the idea of snappy. I was amazed and delighted with<br>
the cool things various entrepreneurs and giants like Samsung are doing<br>
with it, and very much want this first major release to serve your<br>
needs. So please do take a look at the 16.04 images and latest snapcraft<br>
as we get over the hump of these transitions, and file bugs / requests<br>
as needed.<br>
<span><font color="#888888"><br>
Mark<br>
</font></span><div><div><br>
--<br>
snappy-devel mailing list<br>
<a href="mailto:snappy-devel@lists.ubuntu.com" target="_blank">snappy-devel@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/snappy-devel" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/snappy-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>gustavo @ <a href="http://niemeyer.net" target="_blank">http://niemeyer.net</a></div>

</div></div>