In early 2005, NetMesh published the Light-Weight Digital Identity (LID) specification for decentralized, URL-based personal digital identifiers. Shortly thereafter, Six Apart published the OpenID specification for authenticated blog comments using blog URLs as identifiers. (see http://lid.netmesh.org/ and http://openid.net/ ) These two personal digital identity systems are currently being used by well over fifteen-million users world-wide.
The lead developers of these two initiatives (Brad Fitzpatrick and David Recordon of Livejournal/Six Apart, and Johannes Ernst of NetMesh) quickly realized the complementary nature of their technologies. Over a few weeks in summer 2005, they developed a design to make LID and OpenID interoperable, and to leverage each protocol's most compelling features with each other.
After the Yadis session at the October 2005 Internet Identity Workshop, the XRI folks working on i-Names joined the effort as well. Yadis is applicable to any URL-based identity system and by no means tied to OpenID, LID, or XRI.
Working on this, it became clear very quickly that the resulting interoperability architecture was much more broadly applicable. In our view, it promises to be a good foundation for decentralized, bottom-up interoperability of a whole range of personal digital identity and related technologies, without requiring complex technology, such as SOAP or WS-*. Due to its simplicity and openness, we hope that it will be useful for many projects who need identification, authentication, authorization and related capabilities.
This document describes the base Yadis protocol, and outlines how to use it together with LID and OpenID. For how to get involved, see the last section of this document. This document is largely still a work in progress, proposing how different existing identity systems can work together; feedback is welcomed.