So…very timely to our launch tomorrow of the Second Life Business Plan contest is the Copybot scandal that’s threatening to undermine the entire SL virtual economy.   

CopyBot captures the data being streamed to a local SL client and allows the user to clone that data in a way that creates an identical copy. Furthermore, this copy is not linked to the original in any meaningful way on the server-side and thus can’t be identified as a direct copy.  Needless to say, this disrupts SL’s entire economy because it’s now easy to create millions of perfect knock-offs of the virtual Hermes boots it took me 15 craftsmen and 2 months to painstakingly build. 


(Not Hermes Boots by Sol Columbia available for sale at the SL Boutique)

My friend Raph Koster wrote an awesome post yesterday analogizing the situation to the heated debates about DRM in the music and video markets: DRM is good when it works to protect your economic interests, evil when it prevents us from enjoying the data we want.  Raph says, “CopyBot is a mirror, and what we see reflected in it is the unsavory fact that we all want DRM, if it favors us.” 

A lot of controversy has erupted within the SL community over what to do about this issue, with many content creators vocally attacking SL’s developer, Linden Lab, for allowing the situation to occur.  Interestingly, CopyBot grew out of an open source library that was developed by third-party OSS developers but is unofficially endorsed and supported by Linden Labs.  Once CopyBot fell into the hands of end users for the purposes what amounts to basically SL piracy, the libsecondlife developers removed the CopyBot source code from their servers at the request of Linden Labs.  But of course, once something like this has been unleashed, it is essentially impossible to contain it.  In fact the press surrounding the scandal only amplifies the tool’s popularity amongst the folks who are most likely to abuse it.

 

The interesting question that arises is how do you close Pandora’s box?  What can Linden Labs do now?

The simple answer in most cases is that you can’t close Pandora’s box, at least not completely.  Linden Labs has begun to take a hardline stance on this issue by threatening people caught using the CopyBot with world banning, based on Terms of Services violations.  I suspect they will also go down the obfuscation road in future patches of the SL software.

Data and code obfuscation is something that software developers have been dealing with for a while now.  As computer languages (such as Java and C#) emerged with rich metadata that allowed developers to use programming concepts such as reflection, the amount of descriptive data in the executable that runs the program has grown to the point where it is often trivial for a decompiler to reverse engineer the program back into usable source code.

There is no real bullet-proof way to avoid this situation without losing all the benefits that the meta-data provides and so the primary way of dealing with the issue is to obfuscate the code before shipping it out to users.  Basically, this involves running an executable which reads your executable, and using many of the same meta-data constructs that allow for de-compilation, it does a lot of renaming of identifiers, so that every method or public variable in your program will be named a, aa, aaa, aaaa, etc. instead of the real names that are in the original source code.  The end result is an executable that can still be decompiled, but when decompiled is so confusing to a human reader that it is pretty much useless.

This exact type of obfuscation isn’t directly applicable to 3D data as used in Second Life but I can easily see Linden Labs employing the same basic strategy of complicating the 3D mesh format they used for the sake of being harder to reverse engineer.  This doesn’t stop things like CopyBot from being written (in fact, there are already graphical capture software programs that work at the OpenGL or DirectX driver layer that could have done what CopyBot is doing a long time ago) but it does make them a lot more difficult.  And in the end pretty much the best you can hope for when it comes to digital data duplication is to make it so difficult to do that it is just much easier for the user to acquire it legally than it is to steal a copy.  Which gets us back to the DRM debate. 

And with regards to the Second Life business plan contest - I’m interested to see whether or not it dampens the entrepreneurial spirit within SL or whether new folks will see all of the fear and concern as an opportunity from which to build new businesses.