[BioWare programmer Joe Hegarty questions the moral implications of reverse software engineering, in this #altdevblogaday-reprinted opinion piece.
We have long been warned of the dangers
of copyright infringement and the debate has been raging for a very long time, I think it’s probably safe to say that copyright infringement does have a negative impact on the games industry, but it’s hard to quantify. For me at least, copying/downloading games without permission is clearly wrong, people in our industry are paid directly from game sales.
However, today I want to talk about a related but very different problem – reverse engineering. Is it wrong? Should people be allowed to reverse engineer games or consoles?
I freely admit that in my youth one of the reasons I got into programming was reverse engineering the game servers for the very early MMOs – something that spurred me on into my current career as a games network programmer.
When I was writing those servers, I never felt like I was doing anything wrong, I was after all a member of the MMOs I was reverse engineering and wasn’t publicly hosting my emulated servers.
It has been many years since I was emulating MMO servers, but it does remain something that people do, Blizzard have recently won several cases against people running private World of Warcraft
My understanding is that these people were making money from these servers, something I never did, but ultimately nothing has been copied from their servers directly. So, is it ok as long as the exercise is academic, is the line where your start to publicly let other people use your private servers thus take business away from the original creators?
There are a lot of grey areas, many of which I really don’t know how I feel about it. People have been writing cracks for games for many years, does a crack cross the line? Well, clearly if someone gets a copy of the game illegally and then cracks it, it does. What happens if I own a copy of the game but I just want to crack it so I don’t have the put the disc in, is it still wrong? Is development of the crack itself the problem area or is it just when you use it to avoid paying for the game?
One of my pet peeves is the fact I have to sit through the anti-piracy ads on DVDs, due to the fact that I always buy my DVDs – the people downloading those movies don’t get that, I am in essence being penalised for being an honest customer. I have never cracked a game, but I could understand an argument about DRM measures in games being an inconvenience to paying customers.
Also recently, the US added an exception to the DMCA specifcally allowing jailbreaking of phones. Ultimately, jailbreaking allows you to run code not signed by the device manufacturer, but it also allows you to run software you haven’t paid for. In a similar vein, long standing precedent says that it’s ok to emulate hardware (say a previous generation console), as long as you aren’t using code from the original device and you aren’t running ROMs that you don’t own.
Which brings me on to the most interesting case, the current battle between those who have reverse engineered the signing keys for the PS3 and Sony. A group calling themselves fail0verflow and Geohot published the keys to run unsigned code on the PS3 – in itself all this allows you to do is run applications Sony didn’t approve, but like jailbreaking a phone, it also allows you to run Software you don’t own.
As I understand it, it allows people to modify the Firmware to remove any DRM and then resign the new version and run it on their PS3, allowing them to run copied games without much hassle at all, especially when someone else has done the hard work of making the custom firmware.
As I have made clear, I believe that running software you don’t own is totally unacceptable, however the people who released this information claim that their aim was to allow people to run Linux on their PS3 after Sony removed the feature.
They claim that the fact you can make custom firmware to run copied games is just a side-effect. Sony’s response has been swift and several people are now facing court cases over the release of the keys and several other things resulting from that. If jailbreaking a phone is acceptable, is jailbreaking a PS3?
As a programmer, I love to learn how things work and reverse engineering allows you to do that, I also believe that trying to hide how things work is rarely good for you or the consumer. However, I can entirely understand Sony’s position, the side-effect of the key release could have a profound effect on their business, even if that wasn’t the aim. So where is the line in this case? Is the reverse engineering of the keys themselves ok? How about the release of the keys? Or is all the blame on those who modify their firmware to run copied games?
So, is reverse engineering evil or enlightening?
I don’t know the answer, and I wrote this in the hope to hear some opinions from everyone else, so please use the comments section!
Originally published at http://www.joehegarty.com/posts/reverse-engineering-evil-or-enlightening/
[This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.