<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On 15-Jan-07, at 10:55 PM, Bob Wyman wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite">On 1/16/07, <B class="gmail_sendername">Johannes Ernst</B> &lt;<A href="mailto:jernst+openid.net@netmesh.us">jernst+openid.net@netmesh.us</A>&gt; wrote:<DIV><SPAN class="gmail_quote"></SPAN>&gt; What about we communicate that "two-tier structure" with respect to <BR>&gt; OpenID branding ... more clearly?<BR><BR>+1, Yes. Differentiating between the core and the myriad of layered capabilities would be make it vastly simpler to clearly communicate what OpenID is all about. We should be very careful to make sure that the "core" is as light, simple, secure, and as easy to implement as possible. Fortunately, it seems to be pretty close to that today. <BR></DIV></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV>This what was done with Perl 5. There was the standard distribution that included very popular modules, and then CPAN for innovation to flourish. Of course deciding what was in the standard distribution was somewhat political. :-)</DIV><DIV><BR><BLOCKQUOTE type="cite"><DIV><BR>&gt; the foundation of everything OpenID -- Yadis -- was<BR>&gt; created for the specific purpose to let everybody<BR>&gt; plug in whatever services they like to.<BR><BR>Yes, of course. To my way of thinking, there are two essential things that OpenID provides: <BR><OL><LI>A method for providing site-independent, distributed numerical identity</LI><LI>A framework for building a wide variety of layered capabilities</LI></OL>I believe it would be best, when we speak of OpenID, to focus on just these two things. All else should be spoken of as "layered on", "enabled by" or "compatible with" OpenID. Thus, we should NOT have "OpenId Attribute Exchange" rather, we should have "OpenID Layered Attribute Exchange" or "Attribute Exchange enabled by OpenID". <BR></DIV></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV><DIV>There are numerous use cases where the RP does not want to authenticate the user, but wants to get Attributes. Their reason for using OpenID is to get information about  the user. This is why the openid.identity and openid.claimed_id are optional in OpenID Authentication. Most of the OpenID Authentication spec is discovery and moving a message. The actual request and response of the the identifier is simple. Similarly, Attribute Exchange is a simple extension to OpenID Authentication.</DIV><BR><BLOCKQUOTE type="cite"><DIV><BR>Keep the core of OpenID simple and clean. Otherwise, it will be too hard to talk about this stuff. If this stuff gets too complicated we may have good technology, but we'll lose the marketing war. Let's not let this become like WS* which could have been very simple, yet became comically complicated before anyone even had a chance to begin implementing it. </DIV></BLOCKQUOTE><BR></DIV><DIV>Bob, just curious, have you looked at Attribute Exchange? OpenID AX is 35K of HTML with lots of formatting tags, and you can read it in a few minutes.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><A href="http://openid.net/specs/openid-attribute-exchange-1_0-04.html">http://openid.net/specs/openid-attribute-exchange-1_0-04.html</A></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>We have implemented the draft in the Java libraries we have at</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><A href="http://code.sxip.com/openid4java/">http://code.sxip.com/openid4java/</A></DIV><BR><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>