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.