-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Catching up, re issue #24 ...
Specifics first. More general comments at the end.
section 5.2. Entry Levels, nit
The classification of registry entries into "permanent" and "provisional" is a pattern being followed by other IETF specifications and registries as well, for example by the registration procedures for message header fields [3].
The provisional/permanent pattern was introduced by the message header registration spec (BCP 90), and subsequently adopted and adapted by the URI scheme spec. I'm not aware of any other registries that have also adopted the pattern.
This is just a historical nit, and doesn't affect the substantive content of your text.
5.3. Separation by Value Syntax
I believe there was a proposal to map registered registered link relations into URI space in a consistent fashion, but don't offhand recall where I saw it.
In the case of link relations, I think it is possible to gracefully migrate between categories by retaining the previous use; e.g. a registered link relation could be documented as being equivalent to some URI used as link relation. It's not perfect, but not (IMO) as disruptive as your text seems to suggest, and not in the same league as the "X-" prefix problem.
6.1. Registry Operations
It is possible that a different model may be implemented at a later time, but the current model is biased towards email-based workflows and human-readable registry access.
FWIW, I think IANA are moving towards an underlying XML model for at least some registries that also supports machine readable data. E.g. http://www.iana.org/assignments/uri-schemes/uri-schemes.xml (look at page source). Other formats are also available.
I think there's an important registry operation matter that you haven't touched on here: IANA have great administrative skills, but they cannot be expected to have technical knowledge of any particular protocol or system. So, if registration approval requires any kind of technical judgement, you end up being pretty much compelled to involve an expert review in the registration process.
6.7. Registry Access
This section feels out of place to me, as a subsection of "using registries". It feels more like an operations concern, not something that is really relevant to registry designers, and maybe should be a subsection of 6.1?
6.8. Runtime vs. Design-Time
I'm not aware of any IANA registries that are intended to allow dynamic access. It feels to me like a "bad idea", because it potentially makes IANA a bottleneck in Internet operations, and I'm not sure they have the infrastructure resilience to support this.
I tentatively suggest that if there is an element of dynamic access, then this needs to be part of the related protocol spec rather than pushed onto a registry.
General comments
Reflecting on the revised spec and our ealier discussions (per issue #24), I feel that the role of registries as a means to make values discoverable is a bit obscured. It's there in the document (section 3.7), but the message of discoverability does't come over so clearly to me. I think it's partly the choice of section title, and partly because the content also discusses design time vs run time in a way that I think distracts from the key idea of design-time discovery. To my mind, allowing designers and implementers to find out about parameter values is the purpose of IANA registries, and anything else is secondary.
I'd suggest:
- Including "discovery" in the section title
- focusing the first paragraph on design-time discovery (e.g. s/anybody/designers and implementers/), and making the discussion of design-time vs run-time secondary (e.g. a subsection), or dropping it altogether.
My suggestion for the first paragraph
OLD:
With a registry containing all current values (and possibly listing changed/deprecated ones as well) along with some registration metadata, they provide valuable information for anybody looking for information about registered values in the registry namespace. All IANA protocol registries [13] are openly accessible on the Web, allowing everybody to lookup the current state of all these registries.
NEW:
A central registry containing all current values (including changed/deprecated ones) makes it easy for protocol designers and implementers to discover information about them. All IANA protocol registries [13] are openly accessible on the Web, allowing everybody to lookup the current state of all these registries, thereby reducing impediments to discovery.
Something else that I think has got lost in the detail here is the role of registries in recording community consensus, or providing recommendations for values to be used as opposed just descriptions of options. This is part of what is at the heart of the permanent/provisional pattern. I guess this is a distinction between use by protocol designers ("we recommend you use these values") vs implementers ("what should my implementation do when it sees this value").
In considering the above, I recall your earlier #24 (comment):
that's exactly the main goal of this structured discussion in the draft, and that's the thing that's often not done well in the current debates. for example, for the RFC 5988 link relation type registry [...]
I think the key ideas that need too be surfaced are: what can protocol designers do, when thinking about registry designs, to ensure their goals are not subverted by others who find the registration requirements too onerous? Having at most one way to do something is a key feature for aiding interoperability, which one hopes everyone buys into, and is one of the main purposes of registries.
Maybe some overview of our discussion, e.g. at #24 (comment), would usefully be surfaced earlier in the document?