On copying

People who spread myths about Copybot blot out the google.

I’ve heard a lot of nonsense about it. Some people say it’s a script, so making your land noscript should stop it from working. Others say that IMing it with “!quit” will make it quit, or that reconstructing items copied with Copybot requires a script, which causes LL to ban the user upon compilation. Yet someone else banned a girl from their sim just because she looked at every vendor, thinking that she was copybotting the contents.

Here’s some truth for you.

  1. You cannot stop people from taking your textures, ever, period. Don’t even try, it doesn’t work and it annoys the pig. Textures are cached on the hard drive of everyone who ever sees them. They already have them. That includes the baked texture of your clothing as you wear it when someone else sees you. To recover these textures from cache needs just a page of code, very simple. The format the cache is stored in, uncharacteristically for LL, is well documented, and the code required to recover all textures from it in JPEG2000 format is about a page long. The binaries that come with OpenJPEG project can quickly unpack those J2C files into TGA, which is well supported by more or less anything under the sun. That includes sculptmaps. No, blanking out the alpha channel doesn’t stop this approach at all.
  2. Shape slider data are cached, as well as all other slider data. To recover them, one needs the Slice utility, some brains to get it to compile, and some more brains to understand how to translate the stored data back into slider positions, which is fully described in the XML files that come with SL viewer.
  3. Animations are cached just like textures. While there is currently no software to recover animations from the binary format they’re stored in back into BVH, one can be written, because the viewer uses the binary data and therefore contains open, readable source code to parse it and tell what means what. I imagine nobody’s doing it because of the unimaginable amount of mud they will be pulled through after they do it. (post factum update: Someone actually noticed you can upload binary animations as is without having to decompile them at all – congratulations.)
  4. If your object has modify permissions, the size-type-position parameters of every prim in it can be recovered by a script that will need to be dropped inside. Making your land noscript will not stop anyone from buying a single copy and then creating duplicates in the comfort of their own home, but it will cause your customers undue inconvenience. But a script cannot see which prim is textured with which texture, even though it can grab the texture repeat parameters, and fully automatic duplication or a non-fullperm object with a script is impossible. That includes which sculpt map every prim uses.
  5. Any object, any object at all, once someone can rez it or see it when it is rezzed, can be duplicated completely and automatically through the use of a special client, that is, a bot. “Copybot” is just the most famous one, since the source was released, numerous forks exist. It’s not hard to get, though the source code is a bit less widespread. With enough effort, it can be recreated anew. You cannot stop anyone from using such a client by doing anything to your land, because they can buy a single copy of your object and do it in private.
  6. Nothing, ever, can copy something it cannot get from the server as part of the data needed to display the world. No things that are in people’s inventories and not attached to their avatars, or inventories of other people’s objects that are not rezzed at the moment it’s copied can ever be gotten at, unless someone discovers a new bug in SL server itself — which, while not unheard of, is not something you should worry about more than the ceiling falling on you. Enough people try every day to make it sufficiently unlikely.
  7. Scripts only exist and are executed serverside. They are not needed to display the world, so no bot, or viewer, or anything, ever gets them.

In short, copy protection doesn’t work and wastes your resources and annoys your customers. If people spent more time actually creating things and less time worrying about how someone else is copying them or stealing their ideas, Second Life would be a considerably better place.