Johannes Ernst’s Blog

Scott Lemon thinks Identity is about “being the same as”

Picking up a post by Phil Windley, he says he likes dictionary.com’s definition of identity, which expresses “being the same as”. I very much agree.

Accordingly, in mathematical terms, identity defined this way is a function, returning either a Yes or a No, on two arguments that are being compared. Now that’s a really simple and useful definition, isn’t it?

Coincidentally the exact point I was trying to make with my This and That presentation at OSCON this year: my This object really wanted to know whether That1 and That2 were the same, and bad things happened because it couldn’t be sure. Identity doesn’t have to be that complicated as some people seem to want to make it, does it?

[I recognize there are (many) higher levels — but why not start with something very simple that is clear and can be built upon? Which coincidentally is exactly the approach we've been taking with LID and now with YADIS.]

More Comments On YADIS Progress

[Follow-on to my earlier post with notes from the YADIS meeting.]

Others commenting so far include Luke Razzell, Eric Norlin on the Digital ID World blog, Drummond Reed (who is also the co-chair of the OASIS XRI committee), Josh Hoyt and David Recordon (posted to the mailing list)

So far, everybody seems enthusiastic… which I think is appropriate, given how hard consensus has been traditionally in this community.

Updated 2005-12-06: Andy Dale also comments.

The World’s First YADIS URLs

Unless somebody tells me they were first and I just haven’t heard about it yet, I’d like to announce the world’s first YADIS URLs.

In fact, as of today, all of the URLs hosted by mylid.net are YADIS-enabled, such as

http://mylid.net/jernst

(You can sign up for one here yourself if you’d like to have one, too)

Now, I realize that there isn’t an officially blessed YADIS spec yet, and it is better practice to only point to official standards, instead of to things hashed out on a whiteboard in the meeting last Thursday. But I couldn’t resist … ;-) and it demonstrates just how simple and powerful the YADIS spec is.

So far, all the implementation does is make available the capabilities document using the X-YADIS-Location HTTP header. It lists the capabilities supported there — seven at last count (MinimumLID, LID SSO, LID Post Receiver Profile, Format Negotiation, Traversal, LID Post Sender and Relying Party), which are the same seven LID profiles currently implemented there.

We have also just published some simple developer tools for YADIS development in the YADIS area on the NetMesh Developer’s Site. They allow YADIS developers to test their conformance to the YADIS spec; we are planning to update them as the spec progresses towards V1.0.

As usual, the code is open-source (dual licensed) and available from netmesh.org/downloads in PHP, Perl and Java, with the same functionality. It’s also available in a hosted model at mylid.net.

The YADIS Meeting Yesterday

Yesterday, the following people from the YADIS.org community met for about 5 hours at Six Apart, which graciously agreed to host the meeting:

  • Steve Churchill, Ootao
  • Mike Mell, ID Commons
  • Nick Ragouzis, Enosis Group
  • Larry Drebes, JanRain
  • Josh Hoyt, JanRain
  • Eugene Kim, Blue Oxen Associates
  • Michael Graves, Verisign
  • Hans Granqvist, Verisign
  • Drummon Reed, Cordance (phoned in part of the time)
  • Byrne Reese, Six Apart
  • Artur Bergman, Six Apart
  • Anil Dash, Six Apart
  • Brad Fitzpatrick, Six Apart
  • David Recordon, Six Apart (host)
  • Joaquin Miller, NetMesh
  • Johannes Ernst, NetMesh (that would be me)

The meeting came about because several of us felt that discussion on the mailing list, while oftentimes intense, kept going around in circles around the issue of the capability discovery protocol, and that we were in need of a white board to come to a decision that met all the requirements. True to the spirit of YADIS, everybody was invited who wanted and was able to come. Recognizing that this might exclude people who could or would not travel to San Francisco, we also had encouraged all members of the YADIS community to enter technical proposals on the wiki that we could then discuss in person. And to make sure everybody got heard, I had asked all self-identified prospective participants what they wanted to discuss and result prior to the meeting. Other than discussion on the name “YADIS”, which we decided to delay, I believe we discussed and resolved everything that came up. (Yeah, in a first meeting!!)

The intense technical discussion most definitely contained during the meeting, but it was clearly conducted in a spirit of openness, the acknowledgement of other points of view, and the willingness by everybody to compromise in order to meet the broadest set of requirements for the broadest possible audience. In other words, to make YADIS is feasible identity framework on an internet scale. Most people who came are implementors and the discussion kept being rooted firmly in what can be done and makes sense from an implementation perspective.

To not stray too far from what was discussed on the mailing list and the wiki, we referred to the wiki quite frequently, helped by David’s laptop and a projector. A number of live edits were also made on the wiki during the conversation, although I’m not aware of anybody not in the meeting “writing back” concurrently.

Instead of picking one of the Draft 002 proposals outright, we were able to merge and amalgamate several of them to optimize along a number of different dimensions:

  • Enabling users to use YADIS for identity without their web site host organization helping them in any manner, as well as web host organizations YADIS-enabling their users en block without the users having to do anything, and of course geeks setting up and controlling their entire experience themselves.
  • Different deployment models from local-only to identity servers separate from the main content servers.
  • Ability for pretty much anybody to plug new capabilities into the basic YADIS framework, which everybody considered to be a crucial YADIS feature.
  • Very efficient capability retrieval under certain assumptions, while enabling functionally correct behavior even under more challenging circumstances (e.g. hosting providers does not allow Redirects to other sites)
  • A clear migration/integration path for LID, OpenID, i-names and other technologies such as Signed Ping (more about the latter some other time).
  • Simplicity for the implementation of relying parties.

To my great surprise, we actually gained agreement and all the issues and everybody seemed satisfied. Joaquin, as the standards draft editor, has marching orders to produce a new YADIS Draft that the community can review (target: end of next week). Before that, the wiki will be updated to reflect the consensus as soon as possible. The attendees committed to taking the time to do that. We want to make sure that although only some members of the community could come to this face-to-face meeting, everybody else has a means to review and comment and influence what YADIS 1.0 will look like. Volunteers Josh, David and Johannes will help coordinate the feedback process.

This was a very encouraging meeting, and I’d very much like to thank everybody who participated and produced input for it for their help. Based on this experience and also the conversations on the mailing list so far, I’m very convinved now that URL-based, bottoms-up identity will become widespread, interoperable, highly innovative and very likely emanating from the YADIS community. There is little doubt in my mind any more that there will be a YADIS 1.0, that it will work for lots of different people and companies, and there is enough commitment by enough people to make it happen, and happen in a matter of weeks or few months, rather than years. I’m also very certain that it will be implemented by a number of parties — some attendees said they wanted to start that very evening! Note that we had representatives of 6 different YADIS/LID/OpenID/i-names implementations participating and pushing for a spec they can all implement in an interoperable manner!

So, to everybody who cares about identity, website accounts, identifiers, passwords, security, accountability and many other related things: this is the right time to start paying attention to YADIS, the grassroots effort to make simple, innovative and interoperable identities ubiquitous. Isn’t that something that you’d like to see, too?

Great YADIS Meeting Today and There’s Agreement!!

I’m a happy camper today, and I know, so are so many others who came to the YADIS meeting today in San Francisco. All substantial technical issues were sorted out, and there’s agreement! We might actually get interoperable URL-based digital identity for real, and real soon.

Will blog about it in more detail tomorrow, stay tuned …