This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Case Study

An open source "Second Life" for Linden Lab

By Tina Gasperson on September 11, 2007 (9:02:00 PM)

Share    Print    Comments   

Linden Lab, the creator of online virtual community Second Life, released its viewer earlier this year with a GPL 2.0 license, adding a clause called the "FLOSS exception," which releases developers using certain open source licenses from the requirement that any derivative works be licensed under the GPL. Linden added the exception to make it possible for many more developers to create new applications from Second Life viewer code. "We had the sense that Second Life has the potential to be much bigger than Linden Lab alone," says Rob Lanphier, Linden's director of open source development. "We needed to figured out a way to let the world build this into a much bigger thing."

Lanphier came onboard in September 2006, after the open source initiative had begun. CEO Philip Rosedale, former CTO at Real Networks, quickly realized he needed a true open source expert to lead a project as complicated as open-sourcing the Second Life viewer. Rosedale turned to Lanphier, the person who was in charge of open-sourcing the Helix client for Real.

"[Linden] had drastically underestimated how hard it would be to get the source code out and to keep the service up and running at the same time. It was a bit of a confidence issue," Lanphier says. "I'd worked at Real Networks for nine years and was responsible for managing technical aspects of the Helix community initiative, so this [open-sourcing] was a process that I'd already been through. It's one of those unique skill sets -- there just weren't that many people out there you could hire to do this."

Lanphier has a solid grasp on the benefits of releasing the viewer code to the community. "If you look historically at companies that have had similar opportunities with respect to Internet technologies, you can see AOL, Prodigy, and Compuserve, all duking it out for consumer network access. All of those companies had the potential to be at the foundation of what became what we call the Internet today. What prevented that from happening was that, at a time when they should have been figuring out how to open up, instead they spent their time focusing on monetizing it. What's ironic about that is that they missed out on that opportunity to become Cisco, Google, and all of those other Internet giants of today. They were too focused on trying to keep their arms around the whole enchilada."

Lanphier wants Linden to bypass that mentality by making Second Life as open as possible, from the inside out and not just as a reaction to the current trends. "We could try to create lock-in effects at every level, but we're better off creating a really broad ecosystem that others can build on top of. One of the things that struck me as being very interesting and unique about Linden as opposed to other companies that are doing this is that Linden is taking its core product, at the time that it is in a market-leading position, and open-sourcing it. Most companies tend to do that when they're the scrappy underdog, or trying to recapture the magic. But here there's a general sense that five to 10 years from now there will a significant open source piece to all of this, therefore why not make ours the open source piece and save everybody else the hassle."

Lanphier says the open-sourcing project, which was announced in January, presented a few challenges. "There was a little bit of hygiene," he says. "Any time you take a proprietary piece of software and open-source it, there's always a cleanup. We had to figure out how to clearly separate out our jpeg 2000 renderer because it contained third-party licensing." Lanphier was able to make the code for the renderer modular so that others could replace it with an open source alternative. "All of the code Linden Lab has written is open source, but we still have three or four third-party proprietary libraries left in the viewer code. We're still working the kinks out."

Lanphier says that the Second Life viewer was created with open source in mind from the beginning. "There wasn't any trust in the viewer," he says. That means that most, if not all, transactions are handled on the server side where security can be more closely monitored. "A lot of 3-D games run on the client, and there's all sorts of ways that the client [has to be] a trusted entity. It's very difficult for those companies to open-source. But Second Life isn't a game, and Linden dollars are handled on the server side. Still, one of the challenges we had was that there were some places where the engineers had deviated from the original design and the client was trusted a little bit too much. We had to go back in and patch those up before open-sourcing it."

Other practical considerations included making sure there was sufficient infrastructure in place to handle the anticipated server load when developers descended on the site to download the viewer code. "Being able to have a place for people to download the source tarballs, report bugs, and having the wiki up -- all of those little details," Lanphier says.

There was also a human side to the challenges. "We had to make sure there really was a concrete business strategy behind this," Lanphier says. "Articulating the reasons why this was a good idea and getting everybody on board and headed down the right road was an important thing to do." Lanphier says he focused on making the transition as easy as possible for the development team. "I worked really hard to avoid making this a big upheaval. There was a lot of hard work involved, but we decided not to have all hands on deck. [We did] this like any other project, at the same time a lot of other things were happening."

Lanphier says it is important for IT directors to understand the cultural issues surrounding an open source project like Linden's Second Life viewer. "It's not just the mechanics of getting the source code out there. Some of the best contribution early on is going to be on the quality assurance front. Don't go overboard on the infrastructure side, building out a whole huge mess of version controls or a massive set of tools. Make it more of a gradual process." And don't be afraid to open up your bug database, either. "Companies tend to be more proprietary with that. If they're used to proprietary software development, it doesn't follow to them that putting out source code also means putting out the bugs and discussing everything on a public mailing list. Yet, that stuff is arguably more important than the source code in some respects."

A company that is considering going open source also needs to start treating its community the right way, right away. "The culture shifts need to be part of the plan. I was floored at how quickly everything hit the ground running [with Linden]. One of the reasons for that was how we treated some of the developers prior to open-sourcing. There was a project with Second Life that was technically a violation of our terms of service. We could have come down hard on them and crushed that initiative. But one of the things the team realized was that, look, it's a game of whack-a-mole, and we should be open-sourcing the viewer anyway. It was the TOS that had a bug. By actually treating the folks well, it created a ready-made open source community for us when we did put out the code."

Tina Gasperson writes about business and technology from an open source perspective.

Share    Print    Comments   

Comments

on An open source "Second Life" for Linden Lab

Note: Comments are owned by the poster. We are not responsible for their content.

An open source "Second Life" for Linden Lab

Posted by: Anonymous [ip: 89.56.57.163] on September 12, 2007 12:23 AM

An open source "Second Life" for Linden Lab

Posted by: Anonymous [ip: 204.136.26.41] on September 12, 2007 03:59 PM
I was going to read this article, and then I saw "open source" being used as a verb. Retards. Next!

#

An open source "Second Life" for Linden Lab

Posted by: Anonymous [ip: 89.216.138.123] on September 12, 2007 10:39 PM
Yes, Linden Lab did a great move to open the source of the client. Just couple of months later there are alternative clients like the one of Nicholaz Baresford, with removed memory leaks and which runs significantly better.

The thing Linden Lab is doing wrong, imho, is that they still introduce new third-party proprietary modules. E.G. when they introduced voice feature in July, they used Vivox which is proprietary. Consequence of that is that there is the voice feature for Win PC's and Mac's but not for *nices. It is really hard to understand the logic behind that move.

The opening of the client code had one consequence I doubt Linden Lab planned or expected. The group of people started reverse-engeneering the server's code. Lindens announced their plans of opening that code too, but in a couple of years. Now, their announcements goes for 2008. Project OpenSim is still far away of the fully capable second life server, but it runs and develops very fast. Very soon, it might be a factor of big changes in the world of second life. At the same time, there are many problems which are not related to coding but to organization of the world, managing the data and money, copyrights of the content made in-world. And those problems are the problems of Linden Lab too which they have to solve parallelly with cleaning the code before the releasing it. http://metaverse.acidzen.org/tag/opensim

#

Re: An open source "Second Life" for Linden Lab

Posted by: Anonymous [ip: 86.150.109.158] on September 13, 2007 02:35 PM
As far as I can see, Linden is doing what they promised with regards to the viewer (aside from some kinks like those mentioned), and I think that unless they do something drastically bad then I'll wait for them to release their server. What I would hate to see is a fracturing of SecondLife, since it is one of those things where the network effect is important. If I play Tetris it doesn't really matter to me if anyone else is playing Tetris, but if I log in to SecondLife and there is nobody else there, or there are masses of potential people to interact with who are on a slightly different system, then it becomes a real shame.

This is why I think Linden shouldn't use proprietary code, or at least make things modular (like making the speech thing have a Speex module or something), since that proprietary nature can end up fracturing user communities (look at instant messaging protocols compared to email for instance). I am not against people experimenting and hacking with code, far from it, but I'd hate to see unneccessary division and forking going on, especially if it happens in incompatible ways (and as it stands, a liberated SecondLife server can't talk to the Linden server precisely because the Linden server is closed)

#

An open source "Second Life" for Linden Lab

Posted by: Anonymous [ip: 88.239.83.40] on October 31, 2007 05:53 PM
Thanks for very interesting Article.
[Modified by: Anonymous on December 09, 2007 10:15 PM]

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya