If you haven't heard yet, Google have released a developer preview of their new social networking and collaboration tool - Wave. What impact might this have on free software users and developers?
Wave is what Google call a "a new tool for communication and collaboration on the web". Think of it as a cross between e-mail, social networking, IM, IRC and Twitter. It not only gives (or to be fair will give) ways to communicate but gives instant feedback to other participants. Using the basis of a wave as a conversation, it allows others in your conversation to see what you are writing in real-time, as you write it. No more having to wait while your IM buddy finishes her message. Wave also allows -- in the same tool -- bulletin board-style messaging for participants to follow when they log back in. It has nice features which permit you to respond to different parts of a message in-line and in-context. New participants can be brought in at any time and not only get the full history of the "wave" but can "playback" the wave as it happened, seeing who wrote what when and in chronological order.
Yeah, yeah another social networking tool - move along
So, as interesting -- or not -- as this may sound, what impact or effect will have for us free software user and particularly developers? Well firstly, Wave is developed on a new open protocol and Google want us to help form it. The protocol is available under open terms accompanied by what Google deems a "liberal" patent licence (an oxymoron perhaps?). By having a open protocol behind such technology, Google is actively inviting us to contribute, distribute and propagate this technology. This means we free software users can create free tools that use the Wave protocol. An open protocol is surely a good thing here: no NDA, no MP3 or GIF-style licencing fees. Google are also asking for our help is shaping the protocol itself. Contributions are made under a contributor licence agreement which insists you grant a licence for Google and recipient of your contributions "to reproduce, prepare derivative works of, publicly display, publicly perform, sub-licence, and distribute your contributions and such derivative works". So it sounds like Google is starting on the right track. Time will of course tell but we shouldn't be too skeptical here, this is a real opportunity. Where Android is an open system on closed hardware -- and thus become semi-closed in the process -- we have a chance here to develop Wave into a host of free and open tools based on the Wave API and using the Wave protocol.
Google have made a few remarks about keeping the source open but so far they've not released any source code (except perhaps as part of the developer preview -- which I'm not part to) but even if they keep hold of the source for their API, having an open protocol (and a liberal patent protection licence) means we can create tools which use the protocol and those using Google's tools can collaborate with them - in theory anyway.
Google Wave is developed on a new open protocol, and they want us to help form it
But what can it give us?
Think about how free software is developed. More than any other group of products, free software requires perhaps the most collaborative effort on the part of its creators. Thanks to SVN, Sourceforge et al, we have ways to share source code and some tools to communicate during development stages: wiki, message-boards, mailing-lists etc. But imagine having a wave for the developers of a software project. Each member contributing -- in real-time if they want -- to a conversation without fear of losing the conversation thread in multiple forks. New members brought in can "playback" the discussion to see how it arrived to its present state. Code fragments could be placed within the conversation and edited in real-time by other members. Oh and it all happens through one of the most common interfaces around - the browser. Hack-fests could include those unable to attend the live venue by having everyone use a wave -- no longer need the best minds be excluded because they couldn't book a flight.
If I sound excited, it's because I am. Google wave has potential to move way beyond yet another buzz-word for the "new-media crowd". It has the chance to grow some real horns and make a big improvement in the way we develop free software. Yes it has occurred to me that proprietary developers can use the same system to produce their software but let's be honest here: which group is more accustomed to collaboration (indeed depends upon it)?
I've heard people commenting that Google Wave could outstrip Twitter and Facebook by 2011. I don't know about that -- and care even less -- but I think it has the potential to have as big an impact on free software development as CVS or Wikis.
 Not that I've ever heard of this happening -- I'm just surmising.