Subject: Re: [Taps] To registry, or not to registry?

From: Gorry Fairhurst <[email-masked]>
Date: Mon, 6 Aug 2018 10:44:46 +0100

I quite like the idea of trying to design a simple registry format. If 
it looks good, I'd be happy to see this go forward.

Gorry

On 24/07/2018 19:13, Aaron Falk wrote:
>
> Caveat: I am not an expert on registries but my sense is that they are 
> most useful for interoperability. I think Gorry's concern about 
> redundancy much less important. And, in fact, it may take a while to 
> figure out how to describe the parameters. It might be more useful to 
> allow for variety in how these are defined to permit creative 
> approaches. YMMV of course.
>
> --aaron
>
> On 24 Jul 2018, at 10:06, G Fairhurst wrote:
>
>     I don't yet know for sure myself....
>
>     On the one hand: I think a registry is a great way to capture the
>     "bundle" of things that we know about needing to send across the
>     API. Having common keywords (names) is a way to help people (who
>     wish to take this approach) from unwantingly choosing the same
>     function/param with a different name. And avoids accidentally
>     choosing the same key. I like these advantages. especially if I
>     thought people would use the registry.
>
>     On the other hand, as an author I am still bemused about exactly
>     which list of items I think /need/ could appear in this registry.
>     I know some I'd expect, there are some I would not be surprised to
>     see, and some I'd expect not to see. Also this doesn't stop people
>     dreaming of slight variants of functions/params because they want
>     to be different or don't understand/agree with another definition,
>     especially since the concrete API isn't specified by the IETF.
>
>     There are ways we could help support different uses, which I think
>     we should consider:
>     * We can define "well-known" IETF keywords that start with a
>     special prefix that require some IETF practice to assign;
>     * we can also define "public" keywords that have no prefix and are
>     first-come-first served, the easy way to get a unique entery.
>     * We can allow private defintions with some different prefix that
>     are not specified by IANA. (We simply preclude this format from
>     the registry).
>
>     This approach has been used in many places, a simple, but similar
>     transport example is the Service Codes registry:
>     https://www.iana.org/assignments/service-codes/service-codes.xhtml
>
>     - Let's all think about whether this is a useful approach for our API?
>
>     Gorry
>
>
>     On 23/07/2018, 21:32, David Schinazi wrote:
>
>         We had a similar discussion in the Babel WG regarding link
>         types in our data model - which isn't sent over the wire.
>         We landed on having an IANA registry of strings so there is
>         one place to find the mapping from string to specification.
>         We're planning on reserving all strings starting with an
>         underscore "_" for experimental use so the registry does not
>         get in anyone's way.
>         Apparently IANA registries have very low overhead.
>         Hope this helps.
>
>         David
>
>             On Jul 23, 2018, at 13:15, Tommy Pauly <[email-masked]
>             <mailto:[email-masked]>> wrote:
>
>             Hello TAPS,
>
>             Migrating a thread from GitHub to the email list, since it
>             needs broad WG input. I've pasted the discussion so far below.
>
>             Essentially, the question is if we have a set of standard
>             properties for Transport Services APIs, should they have a
>             formal registry or not?
>
>             Thanks,
>             Tommy
>
>             ======================================
>
>             https://github.com/taps-api/drafts/issues/210
>
>             Philipp:
>
>             We will end up with a set Turns out we might need a lot of
>             (protocol) specific properties, we should discuss whether
>             we need
>             an IANA registry of properties and how this will look like.
>             • Include Types ?
>             • Include Names ?
>             • Some numeric representation ?
>             What do we do with ENUM values?
>
>             Mirja:
>
>             I don't really understand why we would need a registry.
>             Who would
>             be using the registry?
>
>             Tommy:
>
>             I agree that a registry seems unnecessary; this is not a
>             matter
>             of protocol or on-the-wire standard.
>
>             Philipp:
>
>             If we don't want to clutter the basic API document, we
>             will end
>             up having at least a half a dozen documents defining specific
>             properties for different protocols.
>             Does anyone have a good alternative to collect all these
>             except
>             in an IANA registry?
>
>             Tommy:
>
>             We do not need to have documents specify every property.
>             Implementation should be allowed to extend as they need.
>
>             Brian:
>
>             this discussion does suggest that we might want to be more
>             explicit up front in the interface document about the
>             scope and
>             purpose of the document (i.e. this is meant primarily to
>             define a
>             standard API "shape", not the particular strings and
>             codepoints,
>             etc.). I'll file an issue.
>
>             Colin:
>
>             I agree with @tfpauly that we don't need to document every
>             property, and with @britram that we're documenting the
>             shape of
>             an abstract API, but I also see value in consistent property
>             naming across concrete implementations of that API. Some
>             form of
>             registry might make sense here.
>
>             _______________________________________________
>             Taps mailing list
>             [email-masked] <mailto:[email-masked]>
>             https://www.ietf.org/mailman/listinfo/taps
>
>         _______________________________________________
>         Taps mailing list
>         [email-masked]
>         https://www.ietf.org/mailman/listinfo/taps
>
>     _______________________________________________
>     Taps mailing list
>     [email-masked]
>     https://www.ietf.org/mailman/listinfo/taps
>

---

From: "Philipp S. Tiesel" <[email-masked]>
Date: Mon, 6 Aug 2018 20:26:00 +0200

Hi,

I also think a simple registry format to collect the properties that might be used with the transport API is useful.
While re-structuring the properties for the interface-01 draft, a format for such a registry was always one of the next steps I considered.

For a minimal registry, I guess we need to document two things
 A) name/string representing the property
 B) origin of the definition (RFC, draft, experiment, vendor, person requesting it, …)

If we want something more expressive, I see following candidates for additional attributes derived from the properties discussions:
 c) some free-text description
 d) type (as defined in whatever will follow Sec. 12.1 in interface-01)
 e) scope (Selection Properties (stuff that effects the pre-connection) Connection Properties (stuff that effects the connection), Message Properties)
 f) level of abstraction (whether the effect of this property is strictly defined or interpreted by the transport system)
 
For the name/string (A), I definitely want to separate have some prefix that reflects the kind or origin. I am still unsure what works best.
The Prefix should make sure experiment, vendor, and other properties can’t squat the namespace for RFCs.

Is this a good starting point?
Am I missing some important attribute candidates?

AVE!
  Philipp S. Tiesel / phils…

> On 6. Aug 2018, at 11:44, Gorry Fairhurst <[email-masked]> wrote:
> 
> 
> I quite like the idea of trying to design a simple registry format. If it looks good, I'd be happy to see this go forward.
> 
> Gorry
> 
>> Caveat: I am not an expert on registries but my sense is that they are most useful for interoperability. I think Gorry's concern about redundancy much less important. And, in fact, it may take a while to figure out how to describe the parameters. It might be more useful to allow for variety in how these are defined to permit creative approaches. YMMV of course.
>> 
>> --aaron
>>