As you can read on the OpenSocial API Blog, the Apache Shindig Project just had it’s first commit. The Shindig Project is a collaboration between many companies building OpenSocial support into their platform, to create an open source implementation of an OpenSocial container.
As the blog post says, there are basically 4 components to which this can be broken down:
- Gadget Container JavaScript — core JavaScript foundation for general gadget functionality (read more about gadget functionality). This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.
- Gadget Server — an open source version of gmodules.com, which is used to render the gadget xml into JavaScript and HTML for the container to expose via the container JavaScript.
- OpenSocial Container JavaScript — JavaScript environment that sits on top of the Gadget Container JS and provides OpenSocial specific functionality (profiles, friends, activities).
- OpenSocial Gateway Server — an open source implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.
As you can see from this list (if you are somewhat familiar with the OpenSocial concept) there is no need for any Google server in the loop when creating your own OpenSocial container. Thus all the fears about it’s just being a new ad driven business model for Google and obtaining your private data are not really valid. Of course you can choose to host your gadgets on a Google server but you can also run your own (or another one you trust).
The first commit is mainly about the first two components which already exist and which seems to be the code used by Google themselves. Thus they are opensourcing parts of their codebase which is IMHO quite cool. They also say that future development will take part fully in the open in this repository with input from the open source community.
The other two (which actually make up OpenSocial) will follow later. For now the most recent implementation of the dummy container written in JavaScript is available.
The initial implementation is written in Java but some people seem to be working already on PHP, Ruby and C# implementations. I hope there is also somebody working on some Python implementation so this could be easily integrated into Plone. What’s missing for that is maybe some sort of documentation of the protocol and how things work together. I hope this will also be made available soon (or maybe I missed it).
Good news in general and I personally like the most that Google also seems to go more open source.
Tags: opensocial, google, opensource, apache, asf, shindig