Thoughts on explaining our Grand Compromise

After talking with some folks on the last day last week, I think there is
an easier way to explain the compromise we reached at last week's
face-to-face meeting.

Registries are not about extensibility; they are about interoperability.

In our case, any user of any given DID Document representation may extend
its set properties in any way they wish.  However, such an extension will
only be _loss-lessly interoperable_ with the other representations if the
extension is added to the registry according to the rules of the registry,
including specification of the extension and any required rules for mapping
to the other representations.

Nothing in our agreement is intended to in any way restrict the ability of
a user of a representation from adding new properties; it is just that
there is no guarantee of loss-less interoperability with other
representations if the extension is not added to the registry.


So we could have an Extensibility section in the spec that describes this,
with a pointer to the registry process and pointers to individual
subsections for each representation that explain the variety of ways in
which DID Documents in that representation can be extended.  For example,
in JSON you can just add a new property; in JSON-LD you can add a new
context.  Those subsections will warn that this does not guarantee
loss-less interoperability with other representations unless you follow the
registration (registry) process.

-- dan (speaking as himself, not as chair)

p.s. if this is confusing or controversial to anyone, pretend I didn't say
it :)

Received on Tuesday, 4 February 2020 11:27:38 UTC