<html><head></head><body><div>On Fri, 2015-11-13 at 15:02 -0200, Gustavo Niemeyer wrote:</div><blockquote type="cite"><div dir="ltr">On Fri, Nov 13, 2015 at 2:47 PM, Ted Gould <span dir="ltr"><<a href="mailto:ted@ubuntu.com" target="_blank">ted@ubuntu.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote type="cite"><div><div>So from Zygumnt's thread it sounds like there's going to be a tag cloud attached to each snap. I'm guessing that this is going to include kernel, gadget and framework snaps. They'll export which tags they support. Will the tags be centrally defined or are we hoping for some sort of emergent behavior here? How will we handle conflicting tags?</div></div></blockquote><blockquote type="cite"><br></blockquote><div><br></div><div>The terminology in use is that there's a capability name which is a unique identifier in its context (e.g. the snap) and there's a capability type which defines its meaning. We want to make capability types extensible, but they must be centrally approved since there are security concerns associated with it.</div><div> </div><blockquote type="cite"><div><div>For the cases where versioning is important, how will that be handled. For instance being able to support OpenGL could mean standard GL of various versions or GLes of various versions. For games which versions the HW can support can be very important.</div></div><br></blockquote><div><br></div><div>The capability type defines what behavior is allowed and expected. There will be metadata associated with the capability, so in cases where the capabilities are very similar they may end up being defined as a single capability type with differing metadata. In other cases, they may be different types.</div></div></div></div></blockquote><div><br></div><div>So let me see if I understand using the OpenGL example. You'd expect my kernel snap to look something like this?</div><div><br></div><div><font face="monospace">name: teds-cool-kernel</font></div><div><font face="monospace">capabilities:</font></div><div><font face="monospace">  graphics:</font></div><div><font face="monospace">    type: opengl</font></div><div><font face="monospace">    versions: [gl2, gl3, gl4, gles2]</font></div><div><br></div><div>And then the application that required the capability to look like this?</div><div><br></div><div><font face="monospace">name: teds-super-modern-game</font></div><div><font face="monospace">required-capabilities:</font></div><div><font face="monospace">  graphics:</font></div><div><font face="monospace">    type: opengl</font></div><div><font face="monospace">    versions: [gl4]</font></div><div><br></div><div>Then how would the decision be made whether my game could install on my kernel? Where is it defined that there would be an any or all relationship with versions?</div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote type="cite"><div><div>There was a mention of passing metadata, which way will the metadata transfer occur? Both? What is the lifecycle and policy for handing that passing of metadata? Does it require a particular format or is that to be decided by the framework and/or application involved in the exchange?</div></div><br></blockquote><div><br></div><div>There will be a particular format and protocol for exchanging the data. We're not there yet, though.</div></div></div></div></blockquote><div><br></div><div>Do you know if it is going to be two-way or one-way? If one-way, which way?</div><div><br></div><div>Ted</div><div><br></div></body></html>