The second thing that happened today is that we released libjingle on sourceforge. Full details are up on the Talk blog and at code.google.com. Sean Egan (of Gaim fame) packaged up the code that Talk uses to do p2p as a library for others to use. Hopefully this will start a flood of interoperable voice (and other p2p applications). So that anyone can use it the code is released under a berkeley style license. Sean put together some great docs on how to use the new library here.
One thing to keep in mind -- we haven't harmonized the specs and libjingle yet. The goal is to have libjingle implement the spec as it matures. Right now it just interoperates with Talk and is pretty far from the Jingle docs that the JSF released. As the spec moves forward the code will converge. Most of the differences right now are syntax. For example the underlying technique for punching through NATs is unchanged and is an adaptation of ICE.
We've wanted to release this core part of the Talk application for a long time now and I'm super excited to see it happen. The combination of these new standards and the libjingle library should be pretty potent. And since Jingle can be used for more than just voice, I'm sure we'll see this stuff used in interesting and surprising ways that we never envisioned.
Update12/17/2006: Clarified how divergent spec/code are and pointed to ICE.
Today is a travel day for me, but I wanted to log in from the airport to post about the release of the Jingle specs.
We've been working with the Jabber community to standardize the P2P protocols that we've built on top of XMPP/Jabber. This process has already been super useful in thinking through new scenarios. I look forward to continued collaboration between Google and the Jabber community. More links on this: Peter Saint-Andre's blog. Press release on jabber.org. JEP-0166 and JEP-0167.
The current protocols are still a work in progress so stay tuned for more developments.