As it strives to replace email, Google has open sourced two chunks of its new-age communications platform, Google Wave.
Unveiled to a standing coder ovation at the Google I/O developer conference in late May, Google Wave is a (still-gestating) web platform that crossbreeds email with IM and document sharing, exhibiting a particular talent for near real-time interaction. Hoping to promote its use across the net, Google intends to open source the platform's underlying protocol and the "lion's share" of its client and server code.
With a post to the official Google Wave Developer blog, the company took its first steps towards fulfilling this promise, opening up the "Operational Transform" (OT) code that underpins the platform as well as a simple client/server prototype that uses the Wave protocol.
Wave's real-time talents spring from Google's OT code. Based on the operational transformation architecture introduced by the Jupiter Collaboration System developed at Xerox PARC, it puts all shared content in the hands of the server. The client can't edit content without first sending an operation to the server - and it can't send an operation unless the server gives the OK. That way, the server needn't keep multiple copies of content for each client.
"The OT code is the heart and soul of the collaborative experience in Google Wave, and we plan that code will evolve into the production-quality reference implementation," Wave engineers Jochen Bekmann and Sam Thorogood wrote in announcing the open sourcing of the code.
Meanwhile, the client/server prototype is meant to encourage experimentation with Wave's underlying communications protocol, based on the open XMPP (Extensible Messaging and Presence Protocol) standard. Dubbed the Google Wave Federation Protocol, it's already published as a draft specification and freely licensed through the Creative Commons alongside the Google Wave APIs.
Both the protocol and the OT code have been updated since Google I/O, with Google saying the OT code has advanced beyond the algorithm implemented by the production servers used by the few thousand Google employees and outside developers currently testing the platform.
In all, Google has opened sourced nearly 40,000 lines of Java code, all under the Apache 2.0. license. ®