This topic paper will explore how and why registries are used in practice to facilitate interoperability among software systems implementing a standard. It will discuss the role of registries in facilitating extensibility. It will also discuss how specifications can succeed in fostering interoperability even when extensions are used and ways that they can fail to do so.
The paper will explore examples of how registries are used with specifications to achieve interoperable systems in practice. Examples will include exploring the relationship between JSON Web Signature (JWS), the registries that it established, extensions that have been registered since the specification was initially written, and implementations of JWS. The paper will attempt to draw practical lessons from some of these examples and experiences, where applicable.
Finally, the paper will try to clearly differentiate between what registries can do and what they cannot do. They can, for instance, facilitate interoperable understandings of identifiers. They can reference specifications that provide them with meaning. But they do not provide that meaning apart from the specifications that they reference.
It's my hope that the resulting paper will be of practical use to those in the W3C DID Working Group and others in the decentralized identity community as they embark on using registries to facilitate interoperability and extensibility across data formats and among implementations.
Author: Michael B. Jones https://self-issued.info/, @selfissued