Movement in the Personal Digital Identity Market: Announcing YADIS


Wouldn’t it be nice if Personal Digital Identity technologies like LID and OpenID were interoperable? This morning, the nice folks at Six Apart and we at NetMesh announced YADIS.org, a new project to make Personal Digital Identity technologies interoperable.

It all started when Brad Fitzpatrick (the founder of LiveJournal and inventor of OpenID), David Recordon (of LiveJournal/Six Apart, and implementor of OpenID) and myself (NetMesh, creator of LID) got together a few months ago to hash out a way that would allow owners of OpenIDs to use them at LID sites, and owners of LID URLs to use them at OpenID sites. We felt strongly that everybody’s rhetoric of "identity technologies should interoperate" should be followed by action, and so we stuck our heads together to make it so, at least for OpenID and LID, because both projects are committed to this goal and are architecturally quite similar.

But by solving that problem — which required some tricks but wasn’t too hard — we realized that we also solved a larger problem: almost by accident, we created an interoperability architecture for personal digital identities, into which not just LID and OpenID can plug, but many others can, too. (Various conversations that we’ve had with members of other projects so far have confirmed that.) All of this is very light-weight and can be implemented in virtually any programming environment (e.g. LAMP, Java, .NET …) because it does not require a SOAP or WS-* stack, complicated tools, or substantial new software. The essence of it is a, again very simple, capability discovery protocol, by which software can figure out what a particular identity can do, and then talk to it appropriately. We also agreed on how to do profile data exchange.

So far, the YADIS spec has been reviewed about a dozen or so people ("friends and family") and as of today, we invite public feedback through the wiki at yadis.org. Implementations are in progress but for my part, I’m really looking forward to public comments before "freezing" the initial YADIS spec and releasing code that officially supports it. (Code supporting the capability query is already available here and mylid.net also supports it as of this morning)

The most exciting thing, for me, beyond LID and OpenID becoming interoperable, is that the YADIS architecture allows lots of people to innovate within a framework that breaks the digital identity problem into modules. Prior to YADIS, if you had a great idea for, say, more secure single-sign-on, you had to develop your entire digital identity stack and compete, stack by stack, with LID, OpenID, Sxip, XDI/XRI/i-names, and who knows what else. Now, with YADIS, you can focus on what your idea is about, and offer your idea as a module into the YADIS framework. No more need to boil the ocean, but an avenue to innovate without breaking interoperability. We absolutely want people to be involved, and innovate! You need no consent from anybody to plug into YADIS, but we give you the capabilities to do so. (I will have some more to say later on the unusual kind of "standard" YADIS is — one that encourages innovation, instead of locking everything down as most standards do.)

We do all of this because we are convinced that we are only at the beginning of seeing the potential and impact of Personal Digital Identity technologies, and thus it is the time of innovation, not lock-down; I think YADIS is an excellent catalyst for accelerating innovation from the entire community, and deliver on the promise of Web 2.0, the participation age, or personal network computing (whichever your favorite term).

I’m looking forward to your feedback!