In a previous post, I talked about how I respected Second Life but felt that it was probably unsustainable, primarily due to the fact that the system isn’t more open. Virtual worlds and social networks generally thrive with permeable boundaries, not rigid ones.  Well a few months later, Linden Lab has announced that it is open sourcing the Second Life client under the GNU GPL license.

While open sourcing the client doesn’t necessarily result in an open platform or openness of user experience, it does at least allow for an environment in which 3rd party designers and developers can create the tools that might bring about a more open user experience.   Openness is a design philosophy, whereas open source is a licensing choice. 

So while Second Life still has a ways to go on the openness front, IMO, it is a pretty bold first step and opens the system to a lot of exciting new prospects.   I join Raph Koster amongst many others in congratulating them for making this step.

Of course, Second Life isn’t the first virtual world to become open source.  The history of the virtual world is intricately linked to open source back to the early MUD/MOO days.  Various projects like World Forge and the more recent Open Croquet have already been down this path, though neither of these projects has had the number of ‘residents’ nor the vibrant economy of Second Life.

One of the primary benefits of open source is that it can make the platform much more accessible to many new audiences - e.g. open source creates economies of scale around innovation and distribution. This is at the heart of the long tail argument: open source allows each participant in the ecosystem to do their own marginal benefit/marginal cost calculation to determine whether or not it’s worthwhile to modify the code for their own (possibly narrow) needs.  In contrast, in a proprietary system, the code maintainer does one single marginal cost calculation that generalizes the needs of many. 

In the case of Second Life, the viewer application was already available for all the major OSes, including Mac OS X, Linux, & Windows, so basic OS platform support isn’t much of an issue, but the open sourcing will still likely result in many beneficial developments, including:

  • Reducing the engineering/QA costs at Linden Lab. As one of the better implementations of a Snow Crash like Metaverse, Second Life has attracted more creator personality types than traditional online games or communities. libsecondlife, a library/SDK that implements a subset of the Second Life network protocol, is a pretty good indication of how motivated these hacker/coder types will be to extend the utility of the Second Life client beyond what it can currently do. A fully open sourced client extends the possibilities both by being a more powerful framework into which new functionality can be added and simply because it is a fully official project, supported directly by Linden Lab.
  • Mashup style applications, widgets for MySpace.  libsecondlife was somewhat limited, in that it was built on a partial reverse engineering of the SL protocol,  whereas the full viewer release reveals the complete details of the protocol. I expect to see things like web page to Second Life widgets allowing Second Life users to check their in-world messages or chat with people who are in-world without actually loading the full viewer application locally.  I also expect to see scaled down Second Life clients that can run on cell phones or other small devices, giving the user a simplified 2D experience of the Second Life world as an alternative for when they can’t run the full desktop client. I don’t expect these clients to support the full immersive Second Life environment like the official desktop client, but lightweight in-browser access would be a net positive for a lot of Second Life members.
  • Improved graphics. For all the network engineering marvels Second Life possesses, its graphical engine is decidedly old school by today’s standards. There are a lot of ways in which it could be improved while still displaying the same content. I expect some bored graphics developers to take the core client and move it over to a more shader-friendly rendering model, perhaps adding in some clever automatic up-ressing of texture and 3D model content in the process, a la Tenebrae Quake.
  • Better support for third-party building tools. With the full client open sourced, I’d be surprised if the 3D model builders who live, eat and breath Maya or 3D Studio Max or Blender don’t build tools to allow them to more directly interface their 3D modelling tool of choice into the Second Life world viewer.
  • Accessibility by new audiences. For what I assume are the purposes of ease of cross-platform development, Second Life uses a custom UI widget system. Between this and the inherent blind-accessibility problem of untagged 3D data, Second Life just hasn’t been very accessible to the disabled. While there is no guarantee that this an itch some third-party developers will want to scratch, it would be a really nice benefit if it did come to pass. A virtual world like Second Life is exactly the sort of thing that could be liberating for a lot of disabled folks, yet the current system doesn’t cater to them at all. Hopefully motivated open source developers will fill the gap here.

The open sourcing of the Second Life viewer is a big leap forward and as with any big change, there will be some short term growing pains and fears. Wagner James Au highlights three such issues in a recent post on GigaGamez. While his concerns are valid, I don’t think any of the three issues he cites will be long term problems for an open source Second Life. His three major points include:

  • Revenge of CopyBot - The whole CopyBot issue seems to have been overblown in retrospect. As I mentioned in a previous blog post, CopyBot itself was no great revelation for the technically savvy. Even before it existed, there were plenty of OpenGL and DirectX mesh capture utilities for graphical engine debugging that could have been used in secret for the same purpose. Ultimately, there is nothing Linden Lab can do technically to stop geometry/texture capture. This is something that has to be handled as a social/terms of service violation, which is what they have been doing since the original rise of CopyBot.
  • Dying Netscape’s Noble Death? - I’m not sure the Netscape analogy is a good one at all, considering that for now Linden still controls the server and thus the network protocols that are the “keys to the kingdom”. But even if the Netscape analogy holds, Wagner notes that Netscape currently has less than 1% of the current web browser market, which is somewhat misleading as it ignores the pedigree and/or the success of Firefox.
  • Building Babel? - Again, as long as Linden controls the servers and thus the network protocols, I don’t think any Babel will result. It will be extremely interesting to see how Linden Lab goes about open sourcing the server side of Second Life (which they have said they will do) without some sort of world splitting and some amount of Babel as envisioned by James, but for just this client release, I don’t really see that happening.

Of course, none of this is exactly world changing, and it still remains to be seen how Linden Lab handles the open sourcing of the server, which is potentially a much bigger deal.  But this is a great first step and I’m glad to see them moving along this path, both as someone who uses Second Life and as someone who is passionate about virtual worlds in general.

 UPDATE:
Other good posts from Ethan Zuckerman (”The core objection I raised…a few weeks back is the fact that Second Life, at present, is a monopoly.”) and Stephen O’Grady (”Linden’s probably only a few years away from an Innovator’s Dilemma in terms of combatting open alternatives”) and Cory Doctorow (”an enormous stride towards turning Second Life residents into real citizens instead of mere customers. “)