Tags: Official Second Life Blog
2006

OpenGL, Copying, and Stealing

A basic tenet of copy protection and digital rights management (DRM) is if the key and the data exist on the same machine, the system is fundamentally not secure. Another way of looking at this is “if you can see it, you can copy it.” The web is an especially open example of this. Any part of a website that travels to the client computer, whether textures, audio, HTML, or client-side scripting, can be copied. We all saw this in the early rollout of the web, where sites would copy markup from particularly clever sites. Of course, this helped the development of the web, since easy copying drove down the cost of learning, helping to spur innovation. Plus, while the technology of the world-wide web didn’t stop copying, intellectual property law still applied, so site owners could take legal action if they felt it was worthwhile for them to do so. This balance is at the heart of intellectual property law: balancing temporary monopolies and the incentives to create that go with them against the myriad societal and cultural benefits of copying.

I am not a lawyer, nor do I play one on TV, but I have read the Copyright Law of the United States – contained in Title 17 of the US Code – and I encourage those wishing to better understand the issues to do likewise. What is perhaps most interesting about it is what it doesn’t have. Nowhere in the text does the word “steal” appear. This is important, especially given that most discussions about copying in Second Life tend to involve statements like “they stole my textures.” As Title 17 makes clear, copying isn’t stealing. In fact, copying isn’t necessarily a violation of copyright. Section 107 discusses a specific limitation on exclusive rights, namely fair use. Of course, fair use isn’t fully defined. Instead concepts like the purpose and character of the copying, the economic impact of the copying, and the completeness of the copying all factor in. Copying a piece of a book as part of your review? Arguably fair use. Copying the entire book in order to sell it? Probably not. The lines aren’t all clear, but this is intentional. Whether a copy falls under fair use is a judgment call and thus needs humans in the loop. Merely copying something does not instantly violate copyright.

So how does this all relate to OpenGL? (read on)

Second Life uses OpenGL to render graphics to the screen. OpenGL provides a set of libraries that combine geometry, textures, lights, and transforms to create rendered 3D scenes. As such, OpenGL must have access to the geometry, textures, lights, and transforms. Those assets are not encrypted currently, since rendering is a performance intensive application and decryption is often CPU intensive. However, even if the data were encrypted, we would still be forced to return to first principles, since the data would need to be decrypted in order for it to be rendered. Thus it is not even possible in principle to prevent copying of geometry, textures, lights, or transforms. It isn’t a question of whether Linden Lab can block this in practice – it isn’t even possible in theory!

So does this mean anyone can just copy all your stuff? When an open source client becomes available will malicious users build versions that copy content?  When island/estate owners get the ability to roll back their simulators – won’t they potentially be able to copy no-copy objects? What about residents hosting their own simulators – doesn’t that move content onto hostile machines and expose it to copying?

The answer in all four cases is “Yes, but . . .” In these situations – and the many variations that have similar security implications – someone could make a copy. However, how they use the copy could violate copyright. Technology doesn’t suffice to prevent the act of copying, but laws exist to discourage illegal uses. The DMCA, for all of its anti-technology flaws, provides a takedown process as the appropriate response for infringement. Yes the takedown process requires you to jump through some hoops, but this is the law attempting to maintain a balance between the rights of creators and the rights of owners.

As Second Life continues to grow and creations within it become increasingly valuable there is no doubt that we will continue to see all manner of behavior, including both fair use and infringement. Technology can not – and should not – sacrifice fair use in a failed attempt to prevent infringement. Instead the residents and Linden Lab must rely on law, culture, and community. Some of that exists today but far more must still be built.

One example is the concept of first use. Linden Lab is currently making changes to make it easier to determine who originally created an asset and its creation date. While much of this data currently exists, it isn’t displayed in the UI. By exposing this data, it will be much easier for residents in a conflict to be able to clearly determine which texture or object was created first, simplifying conflict resolution for all parties involved.

Another option – which we aren’t working on yet – would be to offer either a registration or seal program for creators who are willing to provide additional identifying information and who are committed to not infringing on other residents’ content. If the finder makes it easy to search for content and locations that participate in this program, then economic and social pressures combine to reward creators who respect copyright and punish those who don’t.

Yet another idea – again, we’re not working on this yet, just talking about it – would be to make copying of all content within SL trivially easy, but to track appropriate metadata about who’s copied the content and where it has been reused. Maybe even make that data publicly searchable. By making the act of copying easy, the incentives to go around or hack the system are greatly reduced and the community is better able to recognize and respect the wishes of creators. Plus, it would be much easier to implement important concepts like “undo” which are incredibly complicated or impossible when trying to preserve uniqueness.

These are simply early steps and initial ideas – I expect the community will have excellent suggestions as well. I look forward to seeing discussions and suggestions as we continue to improve Second Life for all its residents.