Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

These decompilation projects are not using the distributed game binary to derive the code in their ports directly. It's just used as a rubric. The source code generated from this process is not Nintendo's. That's the idea, at least. Different from taking Windows ISO and jumbling it up into a rude goldberg machine and claiming it as a new work.

Do consumers agree to a end user agreement that specifies they cannot decompile the game? http://en.wikipedia.org/wiki/Reverse_engineering#Legality



They took the distributed game binary and ran it through a tool that produced an approximation of source code. At this point the decompiled code is clearly a mechanical transformation of the game binary, and so holds the same copyright status. This code is then cleaned up such that it compiles and functions and variables are given sensible names. This is, arguably, a creative endeavour, but it's also clearly a derivative work of the original binary and so is still controlled by copyright law.

The decompilation itself may or may not be a copyright violation - that's likely to vary depending on jurisdiction. If someone in a jurisdiction where it's legal were to write a description of the behaviour of the decompiled code and if someone else were to implement a codebase that happened to compile to the same original binary code then there's an argument that no infringement occurred (a functional description of the behaviour of a work is potentially not derivative of that work, and re-implementing the code based on that description is then not constrained by the original copyright), but that's not what happened here.

I don't like that this is the case, but let's take it to a logical conclusion - if I take an interpreted language with a bytecode compiler, I can typically decompile it to something almost 100% identical to the original code (I'd lose comments and maybe variable names, but that depends on the language). Does this mean I can take copyrighted Python code, run it through the interpreter, dump the state, decompile it, and have an independent work not subject to the original license?


> They took the distributed game binary and ran it through a tool that produced an approximation of source code.

> At this point the decompiled code is clearly a mechanical transformation of the game binary, and so holds the same copyright status.

Courts disagree with you.

Sony Computer Entertainment v. Connectix Corp.

https://scholar.google.com/scholar_case?case=716676913673727...

> The object code of a program may be copyrighted as expression, 17 U.S.C. § 102(a), but it also contains ideas and performs functions that are not entitled to copyright protection. See 17 U.S.C. § 102(b).

> Object code cannot, however, be read by humans.

> The unprotected ideas and functions of the code therefore are frequently undiscoverable in the absence of investigation and translation that may require copying the copyrighted material.

> We conclude that, under the facts of this case and our precedent, Connectix's intermediate copying and use of Sony's copyrighted BIOS was a fair use for the purpose of gaining access to the unprotected elements of Sony's software.

Not only are the methods of operation which underlie the code completely unprotected, the copying of and the application of tools to the code for the purpose of exercising your right to discover those unprotected elements is fair use.


Posting the quote “Object code cannot, however, be read by humans” in a discussion about decompiling a game is definitely a strange option to take.


Where's the disagreement there? The court concluded that reverse engineering to gain access to the non-copyrightable elements the object code contained was legitimate. It didn't assert that decompiled code wasn't subject to copyright.


Decompiling code is a reverse engineering method that provides access to the non-copyrightable elements of the code.


Yes. It also provides access to the copyrightable elements of the code. In this respect the decompiled code is identical to the object code, which is also made up of a mixture of copyrightable and non-copyrightable elements. Combining copyrightable and non-copyrightable elements into one thing gives you a work that copyright can be asserted over. The argument in the case you cited is that the defendant extracted the non-copyrightable elements and built their own work based on those. That's not what's happening in the case under discussion here, which is derived from the copyrightable elements as well.


> These decompilation projects are not using the distributed game binary to derive the code in their ports directly

That is the definition of decompilation. What are they using as input, if not the "distributed game binary"?

> The source code generated from this process is not Nintendo's.

This is just claiming the consequent. The output of my magical code transformation method is also not Microsoft's.

> Different from taking Windows ISO and jumbling it up into a rude goldberg machine and claiming it as a new work.

Yet that is exactly what decompilation is...

What distinction are you trying to make here? If I translate it to a different language, it is OK? That's as absurd as it gets and still basically strip all software from copyright.

> Do consumers agree to a end user agreement that specifies they cannot decompile the game?

For the record... yes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: