Hacker News new | ask | show | jobs
by AshamedCaptain 942 days ago
Why is it always the same on every thread of this type? Perhaps I can grab the code segments of a Windows ISO, apply a series of mechanical transformations, and proceed to call it Freedows and freely distribute it as my own? I am having trouble understanding the thought processes that lead to these conclusions. Too much ChatGPT?

By this logic copyright protection on software would be meaningless. The GPL would be meaningless. I could grab any program in the world, "translate it" to my favorite language-du-jour, and call it my own.. Goodbye viral license requirements...

5 comments

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.

People will de-compile proprietary software and GPL it, and others will have AI clone/port GPL code to new languages then back to the original language again to de-GPL code.

Overall this will make software copyright laws pointless, but in the end everything anyone cares about will be open source. I am here for this outcome.

Frankly I think you have a very rosy view. If this were to happen I foresee companies would immediately start treating code as if it was a private key, using ridiculous hardware protection mechanism, tivoization, SaaS, and the like as much as possible. The entire reason code is so accessible right now is because companies only care about making it "inconvenient" for home piracy, relying on the threat of legal action for everyone else. Imagine a world where if you don't do it then your competitors can legally use your software. Everyone who isn't already releasing their software under the BSD or PD would stop doing so since just about everyone else could just shamelessly rip it into their next closed as hell & secure boot'd device. Your "AI" would have zero source code to train on. Only the companies with the largest resources would be able to break the latest obfuscation mechanisms, leading to more effective imbalances in power. And on and on..

Mandating open software & open hardware is one thing, but simply removing copyright doesn't led there -- it leads to a even more dystopic world.

Show me a popular hardware platform that users get to hold in their hands whose users have not dumped the firmware, or at least the firmware decryption key as with virtually every drm solution in history.
I have multiple Samsung Qualcomm smartphones which to this day do not have an unlocked bootloader. Ironically one reason to choose the otherwise terrible Exynos.

And even on the ones which do, you lose access to some hardware features -- the very definition of tivoization...

Xbox One is probably the closest. I'm not aware of any Xbox One games being decrypted.
I'm not sure why. I think most threads of any type usually feel the same as other threads of the type. As for your Windows hypothetical, not sure which Windows you're talking about, but I don't think Microsoft would really care if you did the equivalent of the projects being discussed to Windowses of approximately that age. If you do something obviously different, like freely distribute a modified Windows ISO as your own, I would expect to encounter some resistance.
> If you do something obviously different, like freely distribute a modified Windows ISO as your own, I would expect to encounter some resistance.

And this is exactly what this Github repository is doing.

If you are arguing "abandonware", then this is no legal argument whatsoever.

https://www.law.cornell.edu/uscode/text/17/102

> (b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

The way the game works is not protected. Only Nintendo's code is.

You are doing the same mistake as the other poster: claiming the consequent. I could also say that my magical transformation process produces code which is not Microsoft's, even when it obviously ingests code that is Microsoft's. Why would your method be stripping copyright protection while mine wouldn't? What's the difference from what you are claiming?

Frankly at this point I just want to point out that if in your world view this is allowed, then _all_ software copyright is pointless, since anyone could apply the same rationale to any program in the world. What's the point of the GPL on such world?

> even when it obviously ingests code that is Microsoft's

Fair use.

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.

> then _all_ software copyright is pointless

It is pointless. I am a copyright abolitionist.

> What's the point of the GPL on such world?

None. The GPL was literally created in response to copyright protection being extended to software. No copyright, no point to the GPL.

> [software copyright] is pointless.

So you provide one answer on my question of which thought process leads to these conclusions: wishful thinking.

Sigh.

See what I just wrote on the other comment:

> These exceptions allows you to perform RE to _understand_ the code in question for interoperability, not to strip it from copyright and start distributing it as if it was your own code. And in most jurisdictions such exception only becomes possible when it's the _only option available_ to interoperate. As this is _hardly_ the only option available to run this game on your platform (emulation, for example, is completely legal, AND you could RE this title to fix your emulator), this exception hardly applies here.

This is exactly what actually happened in the case you are quoting.