It has been September 13th 2007 when Linden Lab invited a initial group of residents to the first Architecture Standards Working Group meeting. Liana Linden explained the goal of this group as follows:
This working group is a first step in how Linden Lab would like to open
up Second Life to being the protocol of an open, expanded platform. At
this meeting, we will discuss the next architectural framework of Second
Life, the infrastructure protocols used, and our vision for how other
people will be able to extend the Second Life Grid platform. It will be
highly technical in nature, examining both code and detailed designs.
And while Second Life back then feeled to me like the early web where everything still was possible and you could see new cool things everyday, it was even cooler to attend this meeting as it felt like reinventing the internet or what might become the future of the internet. Unfortunately though I wasn’t in SF but only participating remotely via SL which was a bit limiting, but it might still be some point in time to which we can look back in the future and say that this was the point where history was made (but maybe not ;-) ).
Lots has happened since although it started a bit slowly and the rest of the year not much really happened. It seemed to go the way many Linden Lab projects go: nowhere.
But it took of in early 2008 when Linden Lab put some resources behind this. And on March 11th Zero Linden released the first draft of the Second Life Grid Open Grid Protocol (or SLGOGP as it was called back then). After raising the issue early on that a Second Life branding of this protocol might not be too good for getting non-SL folks in (and today also in the light of this silly trademark behaviour of Linden Lab) we managed to get this called just „Open Grid Protocol“ though.
What has happened since
Initially there has been lots of wild discussions about a variety of different topics, such as trust (of course), scalability, 3D data formats, communication and much more. Many of these discussions resulted in the creation of an Viewpoint Advocacy Group which’s purpose is to look at the Open Grid Protocol from specific viewpoint with use cases and see if those requirements can be fulfilled. Those groups seem not to be too active but they have some use cases which can be revisited.
The most important group which was created though was the AW Groupies group which is an informal group discussing all these issues. It’s main meeting is tuesdays at 9:30 am SLT on ThornBridgeTown. Unfortunately you need to be invited to the group but getting in should be quite easy by just sending an IM to Saijanai Kuhn or Zha Ewry.
(and quite honestly this invite only thing should be removed).
Further communication about the protocol happens during Zero Linden’s office hours, the pyOGP coders meeting (but this is mostly specific to the pyOGP library), the Open Grid Public Beta huddle, Whump Linden’s office hours and the OpenSim office hours. You can find all the dates here on the wiki.
Where are we?
Last week Draft 3 of the Open Grid Protocol has been released. It now has been structured into several sub documents describing things like the data structure, how to authenticate and how to teleport. This also describes how far we are, login and teleport is described but nothing more yet. Disussions are going on on which topic to tackle next. There has been much discussion about trust (see my blog post about it here and Inifity Linden’s page about trust) and about Instant Messaging (see the wiki page here).
On the software front we have the Open Grid Public Beta program (IMHO slightly misnamed ;-) ) which basically consists of a patched Agent Domain run by Linden Lab, a patched client to work with it and an adjusted OpenSim to work together.
We also started the pyogp project which’s purpose is to create a Python library for all sorts of OGP components. I personally also added AgentDomain support to it and created syntronik.de, an open source AgentDomain on top of Plone. The pyogp team is also working on a test harness to test OGP components.
What can be better?
It’s always debatable if progress could be faster. We have lots of very special problems to solve and to discuss and we have an existing user community to which we need to explain the changes properly. But there are of course still things which might be better (but which are my personal opinion) like:
- Use a mailing list instead of in-world meetings to discuss issues. Attending in-world meetings is always more demanding than reading a mailing list. The other problem is when you cannot attend because reading chatlogs is even more tedious and will also make it harder for new participants to get in. I noticed this now where I couldn’t attend 2 meetings and I feel quite out of the loop.
- Create a dedicated OGP list. sldev seems limited as discussions are supposed to move off the list after a while which IMHO does not really help the issues. sldev also seems to be too crowded with topics already (which might be the reason for this rule).
- Define a process on how to write the protocol. Define how a decision is made, how input can be made and also timeframes for discussions and final stages. Also define how we decide on which component to work next. Decisions usually seem to take ages.
- Define how things are deployed. As we mostly have the Linden Lab Agent Domain right now it’s important to know when things change so you can adjust your setup accordingly. Maybe a separate announce mailing list would help.
- Use a better commenting system for the OGP wiki page. The discuss links are ok but not really ideal.
- Create a foundation to own the specification, the source code and the trademark. Or use the Open Web Foundation although it’s not really about the web. This of course seems to be somewhat illusory to happen, esp. the TM thing. It’s also quite some work.
- Work more with the web scene. It seems to me that we are working behind our own walled garden and sometimes thinking about reinventing the wheel. On the web things like OAuth, XRDS-Simple and other standards are on the rise and IMHO we should see how we can use them. Additionally it would be great to build some bridge between these two worlds as in the future they need to get together, otherwise it won’t work.
- An easy to understand description of what OGP is (hopefully in different languages), what it consists of, what it means to Second Life residents, content creators, other virtual world companies, for the war against terrorism and world peace.
I think one project where it at least seems to work quite well is OpenSocial. They have some Google groups, one is dedicated for the specification work only. They have this foundation, they seem to have a very fast speed on defining things and deciding on protocol issues. You can read up on their process here.
Great things ahead
When I look at the list above we indeed made some progress although much is also ahead of us. Depending on how we manage to get other people on board and how we can integrate with the rest of the internet, many great opportunities are ahead of us. Be it scientific simulations, integrating 3D into social networks, business collaboration, education, marketing and all the stuff we cannot think of yet.
On the way we might even solve the data portability problem which basically consists of the many account/friendslist/asset problem on social networks. If we manage to make a very web compatible protocol this might even serve as an example of how to do it right. It also has the potential of wide adoption.
So while world peace might be in a somewhat distant future, an internet without boundaries might be not.