<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt">Hi Jonathan,<br><br>You see its not even a question of whether the Janrain library is or is not capable of integration - it definitely is. But the Zend Framework is governed by Zend Technologies and it's primary purpose is to become an attractive framework for companies and the enterprise segment - as well as us developers obviously. That goal bears a few strict requirements a bit exceptional for a PHP open source project, foremost of which is a clean copyright/IP record with a paper trail. I had to submit a signed license agreement, for example, just to get subversion and contributor access to submit a handful of documentation edits. The second is that because of those requirements, core components must be written from scratch with a clear record of its progress. Hence the proposal and offsite subversion repository
 since its an obvious audit trail.<br><br>As for a *second* PHP library - I completely agree its blatant NIH (Not Invented Here) practice but that's what is required in order for OpenID support to be integrated directly into the Zend Framework under a New BSD License and the clean IP policy, as well its PHP5-only rules. Hence why I had to note it's not a side swipe at the Janrain library ;). It's not and I didn't want anyone wrongly interpreting it that way. But that's the reasoning - if we want to add integrated OpenID, we have to start from a blank slate.<br><br>&gt;In summary, it's *great* that you're picking up OpenID and integrating<br>&gt;it into a framework.&nbsp;&nbsp;However, I'm a bit skeptical about the decision<br>&gt;to write another Yadis implementation (and, later, an OpenID<br>&gt;implementation).&nbsp;&nbsp;These things are non-trival and error-prone.<br><br>They are indeed error prone - I've worked on implementing OpenID in the past under PHP (where we've
 internally been using the JanRain library ;)) and Ruby and had some fun figuring out issues where folk were making modifications to fit an application's extra needs/limitations. I have a fairly good understanding of the specifications involved having studied them before we were implementing OpenID. From my side its largely a matter of breaking down the specs into digestable chunks, implementing them in stages, and covering myself with unit tests where it makes sense - combined with lots of coffee and swearing at my monitor ;). Not the most scientific approach - the component only has a handful of public methods worth unit testing so there is a ton of functional testing in the background to narrow down the location of any failures.<br><br>Anyway, hopefully the above explains more on the "why" of a second library. It's completely framework-centric in its motivations - even I still intend using the Janrain library outside of my Zend Framework based work :).<br><br>Best
 regards,<br>Pádraic<br><br><br><div>&nbsp;</div><span style="color: rgb(0, 0, 191);"><font style="font-family: times new roman,new york,times,serif;" size="3">Pádraic Brady<br></font><span style="font-style: italic;"><font style="font-family: times new roman,new york,times,serif;" size="3"><a rel="nofollow" target="_blank" href="http://blog.astrumfutura.com">http://blog.astrumfutura.com</a><br><a rel="nofollow" target="_blank" href="http://www.patternsforphp.com">http://www.patternsforphp.com</a></font><br></span></span><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Jonathan Daugherty &lt;cygnus@janrain.com&gt;<br>To: Pádraic Brady &lt;padraic.brady@yahoo.com&gt;<br>Cc: general@openid.net<br>Sent: Monday, February 26, 2007 7:44:03 PM<br>Subject: Re: [OpenID] OpenID PHP5 Zend Framework Library<br><br><div># The
 Zend Framework is a PHP5 application framework sponsored by Zend<br># (that PHP company). As they are nearing a beta release for March, I<br># have started formal proposal to implement native OpenID support<br># within the framework. The initial proposal to kickstart the process<br># is a new Zend_Service_Yadis component.<br><br>This is great to hear.<br><br># Also the ZF is PHP5 specific, meaning many of the current PHP-OpenID<br># libraries classes would need to be added to and expanded regardless<br># (e.g. Sockets based HTTP client, PDO, SimpleXML parser).<br><br>FWIW, there is already a sockets-based HTTP client in our library (the<br>Janrain library).&nbsp;&nbsp;I don't know about SimpleXML, but DOM is the de<br>facto XML extension for PHP 5 as far as I know, and our library<br>already supports that.&nbsp;&nbsp;And as for PDO, well, we can add support for<br>that.&nbsp;&nbsp;(To date, nobody has requested it, however.)<br><br># I'd just like to note this separate PHP
 project is primarily for<br># Zend Framework integration and is not the result of any disagreement<br># or criticism of that library - it's purely an exercise to bring<br># OpenID into a pure PHP5 flavour in agreement with the Framework's<br># stated goals.<br><br>Thanks for pointing that out.&nbsp;&nbsp;Can you provide a list of stated goals<br>that you're moving toward?&nbsp;&nbsp;We want to know if we can make changes to<br>the existing library to make it more compatible with your framework.<br>(Obviously, PHP-5-only code isn't really an option, as we have to<br>support a larger user base, and PHP 4 is by a very large margin the<br>most widely-deployed major version of PHP.)<br><br>In summary, it's *great* that you're picking up OpenID and integrating<br>it into a framework.&nbsp;&nbsp;However, I'm a bit skeptical about the decision<br>to write another Yadis implementation (and, later, an OpenID<br>implementation).&nbsp;&nbsp;These things are non-trival and
 error-prone.&nbsp;&nbsp;I<br>would rather work with you to see if there are ways to bring the<br>Janrain library into better conformance with your framework; then, you<br>can forget about the job of making OpenID work, and move on with using<br>OpenID in your applications.<br><br>Thanks and good luck,<br><br>-- <br>&nbsp;&nbsp;Jonathan Daugherty<br>&nbsp;&nbsp;JanRain, Inc.<br>&nbsp;&nbsp;irc.freenode.net: cygnus in #openid<br>&nbsp;&nbsp;cygnus.myopenid.com<br></div></div><br></div></div><br>

<hr size=1>Don't be flakey. <a href="http://us.rd.yahoo.com/evt=43909/*http://mobile.yahoo.com/mail">Get Yahoo! Mail for Mobile</a> and <br><a href="http://us.rd.yahoo.com/evt=43909/*http://mobile.yahoo.com/mail">always stay connected</a> to friends.</body></html>