Open Grid Public Beta opened today (see Second Life blog) marking the beginning of a new era of interoperable virtual worlds and a new architecture for Second Life TM. The magic of “running code and consensus” is here and, at least between OpenSim and Second Life TM, avatars are jumping back and forth. Hamilton Linden, who is leading the Open Platform Product Group (OPPG) as Director, Engineering for Linden Lab said:
The Public Open Grid Beta is an important step towards opening up the Second Life Grid to become interoperable with other virtual worlds. Having successfully demonstrated interoperability with IBM, we’re excited to begin interoperability testing with the entire OpenSim community.
In the picture opening this post Adam Frisby (avatar Adam Zaius) one of the founders of OpenSim, David Levine, IBM, (avatar Zha Ewry) who wrote the interoperability code. and myself are about to teleport from the Ugotrade OGP (Open Grid protocol) enabled OpenSim to the Linden Lab Open Grid. The teleport to an external region option is in a pull down menu that brings up the box you see on the left. If you join the Beta and want to visit, my region URL is http://ugotrade.net:9000
As these teleports are about moving identity, at the moment, and no digital assets are moved, we are all Ruths.
You must join Gridnauts in Second Life TM if you want to participate. The download and instructions for the OGP (Open Grid Protocol) Open Grid Viewer will be on the Wiki. And, to get a zipped binary package to set up an OGP enabled OpenSim you can go to the OpenSim forge site. Thanks to Mono and .NET using the same bytecode format, the same package will work just fine for .NET and Linux/Mono. Mike Ortman, DeepThink has generously created the zip package which he will keep updated.
In the screenshot below, Adam Zaius, Zha Ewry and Tara5 Oh are preparing to teleport back from Open Grid to the Ugotrade OGP OpenSim.
Linden Lab’s New Architecture
But along with interoperability the Open Grid Beta marks the debut of Linden Lab’s new architecture that has been incubated in the Architectural Working Group (AWG) spearheaded by Zero Linden. As Zero Linden explained:
A key component of virtual worlds that sets them apart from web sites, is that you interact with them with your chosen identity. Separating out the Agent Domain enables your identity to be held and hosted by a organization of your choice, and enables your identity to be truly independent of the many organizations that will eventually host regions. The web can’t do this – your identity on a web site is tied up with that web site. You have an account at each web site. In virtual worlds, independent persistent identity is key to the experience – and Agent Domains are just the technical mechanism that enables them in an open virtual world.
The interop protocols developed in AWG and used in David Levine’s, IBM, (Zha Ewry in Second Life) interoperability patch not only play an important part in enabling virtual world interoperability, they will be a key component of the new Linden Lab architecture and eventually part of their main production grid Agni, that is the grid we call Second Life. Zero explained:
The plan is, that once this is shown to work, that this code base will eventually be rolled into Agni, probably even before Agni is opened up to outside grids. TPing, and Login will be done on Agni using these interop protocols as the standard method. Of course, there are legacy viewers to support – so the existing stuff isn’t going away for some time. And we’ll proceed very cautiously onto Agni, with “kill switches” that allows to revert all viewers, even new, back to the old pathways.
Zero Linden and Zha Ewry will be speaking on “OpenSim and the Future” – the progress they have made, and the implications of their work at Metanomics, Noon PST on Monday, August 4th. Dusan Writer will also be announcing the follow-up to his much-lauded competition to create a better Second Life client viewer at the start of the show.
The picture below shows how the Open Grid client which, in addition to the teleport option after login, allows you to select an external region even before you log in
The Open Grid – a community of developers, “playing with shiny things”
There is a strong team of Linden’s working with Hamilton in the Open Platform Product Group. Tess Linden, Technical Director, leads design and Implementation for the OPPG, and Layla Linden has been getting the agent domain ready. Periapse Linden is project manager for OPPG. Whump Linden is managing the Open Grid Public Beta. Whump is also a very interesting contributor, I think, to the evolution of the Open Grid. He has an enormous amount of web experience and has been a blogger since 1998. Whump came to Linden Lab from Apple’s MobileMe group. He is the point person for the Open Grid Beta which is organized through the Second Life TM Gridnauts group.
Enus Linden and Infinity Linden are working on testing tools known as the PyOGP test harness. These testing tools are a very interesting project themselves. Tao Takashi who was the prime mover in the PyOGP project before it became part of the Open Grid Beta explained to me:
My vision was always to create something like libsecondlife but for plain Python instead of .NET. The old protocol was just too undocumented to really get something like this done quickly so when OGP was getting born I though of trying again but with a better protocol and by coincidence Linden Lab need a test harness for testing all those components out there so PyOGP was born, as the library can now serve as backend for the tests. But in the long run of course more is possible. It can also become a full implementation of client and server, web service interface and more. I am working on an agent domain implementation for pyogp right now and I have some ideas for some text based or maybe even 2d gfx client.
Something worth noting about the Interoperability effort between Linden lab and OpenSim, the Architectural Working Group, and the PyOGP initiative is the large number of experienced and talented developers that are putting extraordinary amounts of time and effort into these projects.
The meetings are packed. I had my first God-mode teleport into a full sim in Second Life TM from Zero Linden today so I could get into the AWG meeting to ask some questions for this post. Yes, God-mode is truly the finest way to travel! I hope to devote a series of posts to the pioneering developers that are creating the future of open source virtual worlds. Their dedication and brilliance is quite extraordinary.
Hey but for starters a tip of the hat to the indefatigable and omnipresent Saijanai Kuhn (Lawson English in RL) – “a 20+ year script kiddie programmer who always wanted to get into game programming.” Saijanai says: “This is my chance to do something kool on a significant scale, so I’m excited about the whole AWG OGP thing.”
And, If you want a little example of how quickly some of this developing brilliance produces results in this community check out this prototype for a “Lively™”-style viewer for OpenSim+SL. that Adam Frisby (OpenSim/Deep Think) whipped up in a few hours! There is a currently a petition to release llmath/llvolume.cpp under a more liberal license which Adam pointed out to me is “somewhat required to do accurate rendering in alternate clients.”
I spent this weekend jumping around Second Life and OpenSims with Whump Linden and Zha Ewry. The picture below shows Zha, Whump and I arriving on the LL Open Grid from Zha’s laptop sim. There is a bug Zha told me that is making us arrive at (0,0,0) on the sim.
Managing Assets and Identity in an Interoperable Open Grid
Linden Lab is NOT throwing the baby (the Second Life economy) out with the bath water (the old Second Life Architecture). Linden Lab have made this very clear many times but Zero reiterated for me when I asked this question:
Absolutely — after all, I love babies — we positively need to build an architecture that supports the economy of SL — while at the same time allowing the virtual world to be open to a wider variety of experiences.
And, if you have already watched the video of the NYC Metaverse Meetup you will know that interoperability of assets and managing identity in open virtual worlds is what’s on everyone’s minds. But as David Levine (Zha Ewry in SL) pointed out several times: “These teleports are just about moving identity for the moment they do not bring a single digital asset with them for a moment.”
There was a long but very interesting discussion about some of the issues of managing and federating identity and moving assets between multiple virtual worlds at the Meetup. And, Adam Frisby and David Levine outlined some of technical and social steps to full interoperability in that discussion.
David Levine has also asserted several times that a big priority for him is looking at how the interoperability of assets can be implemented without detriment to “creators” whom he describes are “the secret sauce” that makes Second Life a compelling place and the ingredient that makes a virtual world either work or not work. But, interoperability, regardless of how particular virtual worlds decide to handle it, will force virtual worlds to rethink the way they do or don’t help their content creators and users to relate outside of the little puddle of their own particular terms of service. But, David pointed out, if we want to do something that spans not just one or two applications, this discussion, which is social as much as technical, has to be done in a broader community
For now, the goals of the OGP Beta are narrow. As Whump pointed out:
The matter of inventory is not in scope for this part of the beta. Figuring out inventory is a combination of technical and community work. Some of this will be figuring out a common vocabulary for talking about these issues. We want to figure out the basics of protocols for teleport, find the bugs, and refine these issues. We want to have running code and test suites, because that will bring interested parties.
But, while the beta has begun with a simple version of OpenSim trunk the next step will be to work on interop with projects like realXtend and Tribal Net. Both these initiatives are bringing a lot of innovation to OpenSim. Both realXtend and Tribal see interoperability as a key project and are looking forward to joining the Beta soon.
Roadmap for Open Grid
I asked Zero Linden what the roadmap for the next few months would be:
Zero Linden: Well, now that we’ve demonstrated some technical work, and are going into a public beta, August is going to find much of the LL side hunkered down and fleshing out much architectural detail. For some areas, especially inventory and identity, we’ll be putting together some concrete frameworks so those more complex discussions can make progress in the Fall. So the next step is to pave the way for clear progress on them. They are big issues and deserve the time and background work to make them be successful discussions and eventually successful desgins.
Tara5 Oh: So when you say concrete framework you mean code and architecture?
Zero Linden: I mean more of a specific set of issues, use cases and design options to have a discussion about. We’ve been talking about identity and inventory in largely general terms for almost a year. I think we as a whole have a common sense of what we are talking about. Now we need some specific points to answer, and a guide for the design. Then, the code will follow.
Tara5 Oh: so when you say uses cases do u have a wish list yet?
Zero Linden: Well, I have may personal pet use cases — who doesn’t — what we will be developing in August is a more rational set. So, in short, nothing yet. I’m trying to stay purposly “zen mind” about it — since it can be such an explosive topic.
In the picture below Whump Linden gazes out at the open horizon.