Linden Lab's Joe Miller reflects on the development of the online virtual world since it opened up to the Open Source world.
On January 2007, the source code of the client viewer for the online virtual world community Second Life was released as Open Source. It was seen in some circles in the Second Life community as questionable, raising concerns about security and speculation as to why Linden Lab, the company behind Second Life, would do such a thing. The popularity of, and media hype for, their virtual real world was huge at the time. So why did the company feel the need to do it?
Joe Miller spoke with us about this and other related matters, which include what Linden has learned over the course of its first year working with the Open Source community. As Vice President of Platform Technology and Development at Linden, Miller is responsible for all engineering related activities for Second Life, and handling the company's Open Source initiative.
How would you describe Linden's approach towards opening itself up to the Open Source community, so far? It looks like you guys have been undertaking it as a gradual process, and not simply "throwing the proprietary doors open" right away.
We made a decision to go Open Source at a time when we were on a rapid growth curve. We made a concerted choice to shift gears. We spent many months of engineering time to create a source base for the viewer that was wholly appropriate to throw open entirely to the community. In other words, we didn't throw pieces of it open; we threw the whole thing open.
We certainly did not want to create instability in the Second Life community, concern about security, any of the other things that people were going to wonder about. So we spent a good deal of time making sure that the viewer and all of its code in the hands of the Open Source community was an appropriate platform to begin innovating and not causing instabilities.
If we were to grade ourselves in how we've done, I'd probably give us maybe a C+/B- for how we've been able to embrace the Open Source community and incorporate patches at a rate that we'd like.
Right now, would Linden Lab consider itself an Open Source company? Or, is it aiming to move in that direction?
We are an Open Source company. What we've done is we've committed the necessary resources to developing the viewer today in the open with the Open Source community. We're a 100 percent committed to that.
If we've learned anything in the course of the year, we learned that you can't be "half-in." You can't be partially committed. We're "all-in." We know we need to be a fully committed to this effort with Second Life.
What have been the toughest challenges that the Open Source community of Second Life has had to deal with? I heard that wrangling graphics code was the biggest.
A number of folks have dived into graphics enhancements and optimizations. The challenge in general is creating high-performance, immersive 3D experiences on essentially consumer-grade, 2D rendering platforms. We launch[ed] Second Life at a time when 3D graphics was nascent and just beginning to be able to handle the kind of rendering that we wanted to produce. Now, graphics card manufacturers are delivering higher-performance 3D capability. I would agree one of the challenges that the Open Source community has had to deal with was the graphics.
What we did was take a sizable body of code that had been in development for many years, 4 years time. The hands of 20-to-30 engineers had evolved the code, enhanced it. It's a large chunk of code to get around. Frankly, I think the biggest challenge for the Open Source community was the time required to get into the code—really understand how it functions. It is C++ codebase, so there are lots and lots of classes and object-oriented data structures that have to be fully understood before you feel really comfortable to make enhancements, changes, or even bug fixes.
We didn't expect major developments, enhancements, new capability by the Open Source community until perhaps 10 months after the release of the codebase, simply because of the complexity. That was not the case. We started seeing significant contributions, patches, bug fixes proposed by the community within 5 months.
Any possibility of also opening up the code for the so-called Grid, the back-end server, in order to allow others to host a world on their own server and connect it to the official Second Life worlds?
What we are focused on is documenting a set of protocols that will provide interoperability. So we don't think it makes sense to open the back-end code to the Second Life Grid without establishing protocols for interoperability. Our focus right now is on documenting open protocols that we will then create working examples around and publish as Open Source projects. We have running today a working example of Second Life servers running behind IBM's firewall in a way that allows them to participate with the main Second Life Grid.
We know how great Open Source is, but, quite honestly, what kind of "growing pains" has Linden encountered in the evolution of its business and technology development into Open Source?
We have realized that just having an Open Source [release] of the client is not the same as doing our development of the client with the Open Source community. With every version of the client that we produce, the Open Source community has an early look and opportunity to comment, to contribute code. But it's different than working completely out in the open.
We use tools internally for project management, for bug tracking, for all the other things that have to happen for us to be efficient as an engineering organization. That's the kind of thing we need to move completely out into the open for the benefit of being a fully operating and efficient Open Source participant. We're working on that, and I think you'll see some progress from us in that regard.
Are there serious efforts within the Second Life Open Source community to develop an in-browser version of the viewer, or for other platforms?
The Open Source community has developed a couple of in-browser viewers. There's a client that was developed by a very young member of the community. Indeed, we expect to see lots of "lite" clients for access to different kinds of Second Life activities.
There are others in the mobile space. A company in Japan has a viewer that is, essentially, a proxied viewer that is served by a kind of rasterized view of what a Second Life viewer would render on its own screen but rendered on a small mobile device. Another, Israeli company has a service for access into Second Life on devices using 3G networks. They're essentially using the Open Source client to render the 3D world and they've abstracted out the entire UI layer into their own separate UI components. The UI has been completely re-factored into a model that's appropriate for mobile devices.
There's a number of cases where we see lots of interesting activity in the Open Source community around applications that we did not intend to invest in [developing], but we think are extremely valuable. There is a viewer where you put on a head-mounted stereoscopic display, and you can walk through regions in Second Life.
A team in Boston, Windward Mark Interactive, built technology around lighting, weather, clouds, and a number of other interesting technologies that they had been providing the gaming community. [They] had taken their technology and implemented it into the Open Source client. We ended up purchasing not only the technology that they had developed, we purchased the company. That would not have happened had we not made the decision to open the client.
How does Linden see the future of Second Life in relation to the Web?
3D presence is not a replacement for 2D data presentation on the Web. Second Life is more about the communities that exist in it than it is about the 3D technologies. We're at the very early stage of this. We're learning. We certainly still have a lot of barriers to usability [like] high requirements for computing resources that don't make it possible for a lot of the people we'd like to attract into the world to join it.
This year, you'll see us bringing more Internet content in-world, so it will be easier for you to share Web content of any kind with people. You'll be able to walk up to an app, interact with it, and people will be able to collectively work on a single application. You'll be able to share live video, live Web content with a large group of people.
We're making improvements all the time. In 3-to-4 years, 3D worlds that are much easier to navigate, much easier to get into -- you'll have a sense of presence in 3D on the Internet -- will be much more natural, much more pervasive than it is today.
What advice would you give to a company that develops propietary code and is interested in going Open Source but still maintaining the money-making aspect of their business?
It's not the proprietary code that generates money for most companies. A lot of companies assume that they would put their revenue streams at risk by opening their code, when the value of the service they're providing is probably not in the code.
A lot of companies wait until it's too late. One of the unusual things we did was we created the Open Source project around the viewer just as we were beginning to become really popular. If anything, we said now is the time -- let's broaden it up to the widest possible audience of developers.
So the only advice would be: don't wait until it's too late. A lot of folks wait until they're on the downside of their value proposition to open the code. The value is not in the code; it's in what the community does with it. In Second Life, the value is in the imagination and creativity of this very large and very vibrant customer base. The more people that can add to that, the more valuable that becomes.
Got any advice for griefers and hackers who are looking to exploit the Open Source availability of Linden's technology to lay waste to Second Life?
I'm tempted just to say no, and leave it at that. But the fact is, we knew when we made the decision to open the client that we would have to address that element. And indeed a lot of people have tried their darnedest to find ways to spoof the system. There are no obvious ways to take the Open Source viewer and lay waste to our community, or it would have been done long ago.
Learn more about this topic
This story, "The open life of Second Life" was originally published by LinuxWorld-(US).