Sunday, August 14, 2005

Emulation and the DMCA

Yeah, so I decided that editing HTML and uploading it every time I want to whine about something was a PITA, so enter teh blog!

Anyhow, after a heated discussion concerning reverse engineering and the Digital Millenium Copywrite Act (DMCA) , I started thinking about how we in the emulation scene could use the law to our advantage. And whoa nelly, could this work for us!

What does the DMCA say?

In the DMCA, there is a clause called the 'fair use clause' (or sometimes it's referred to as the 'interoperability clause;' it's section f of the law). Basically, the law gives programmers permission to reverse engineer a program, so long as they are doing so in order to maintain interoperability with the program they're writing.

The interoperability clause was written basically to level the playing field when competeing with Microsoft. Let's say I want to write an email client. Microsoft Outlook has built in interoperability with Windows and Word; it can have a little email notification thingy pop up in the task bar when you get an email, it can call Word's spell check and font system as desired, etc. Well I'm at a helluva disadvantage with my email client, aren't I?

Enter interoperability. I can disassemble Windows and Word, find the functions that Outlook is calling, and hook them in my own email client. The DMCA says its 'fair use,' my email client is now on an even keel with Outlook, God's in His heaven and all's right with the world. Right?

But it doesn't have to stop there. Let's say I decided to write a PSx emulator (I know, we already have dozens of the damned things already). If I took a game (couldn't touch the console for this) and decompiled it, mapped the system calls it makes to pc hardware, and released my emulator--I could even charge money for it if I wanted--I'd be ok. Why? Because I disassembled the game for the purpose of its interoperability with my emulator.

But why do I need to stop there? What if I thought "golly, Sony sure sells a helluva lot of consoles," and decided to make a PS2 clone? Well, if I went at it the same way I went at my emulator--reverse engineering the game, not the console--I'd be well within my rights under the DMCA. Sony'd crap themselves of course, but in the end, they'd have to let me sell the JCD2 because I didn't infringe on anyone's copywrites: I simply reverse engineered a game for the sole purpose of maintaining interoperability.

And that's cool.

No comments: