Google Wave Federation Protocol and Open Source Updates

Friday, July 24, 2009 | 3:10 PM


Following Monday’s API Hackathon, we hosted Federation Day, which included 150 developers interested in learning more about Google Wave, contributing to the Google Wave Federation Protocol, and providing their own wave services. While these are still early days for the federation protocol and open source project, our vision for Wave recognizes the importance of encouraging and promoting third-party implementations, so users and businesses are able to customize and manage everything from the ground up (features, data, etc).

To kickoff Federation Day, we open sourced two components: 1) the Operational Transform (OT) code and the underlying wave model, and 2) a basic client/server prototype that uses the wave protocol. 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. The prototype is intended primarily as a simple "hello, world" implementation, to encourage experimentation using the Google Wave Federation Protocol. All of this code -- nearly 40,000 lines of Java code -- is available under the Apache 2.0 license, and we'll be open sourcing more code as wave evolves. Check out the source code and get started with the introductory documentation.

Since Google I/O, we've been iterating on the draft protocol specification, and have made substantial enhancements to the Operational Transformation algorithm -- to the point where the open source code is actually ahead of the algorithm implemented in our servers in production. We've also Creative Commons licensed the protocol specification, the whitepapers and the Google Wave APIs documentation.

Next up, we are working towards using the new Operational Transform code in our own production systems, and opening up the federation port on (and later the instance).

To get more details about these updates, please check out this status note. Looking forward to seeing you on the forum!