|
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!
|