5 ms·
Do the enthusiast devs have a legal leg to stand on? The repositories cited - like the re3 one on github - don't contain the original GTA3 game assets. It's all
by CannisterFlux 5y ago
Do the enthusiast devs have a legal leg to stand on? The repositories cited - like the re3 one on github - don't contain the original GTA3 game assets. It's all "new" code that runs the original game assets, or emulation/simulation wrappers to get OpenGL or DirectX to function like an old PS2 renderer. To play the re3 version of the game, you need the original GTA3 game for PC. To me, it seems more like SCUMM VM or a high-level emulator. Is that copyright infringement?
- flatiron 5y agoIt’s tricky (obviously) but the code itself is certainly protected. If they decompiled the code and just cleaned it up it’s very grey. If they simply studied it’s workings and coded it fresh that’s pretty clearly not infringing. But if take-two can point at chunks of code that’s exactly the same they have a bit of a leg. Mainly though they know they won’t fight back so why not just sue? They have nothing to lose.
- Hamuko 5y ago>If they decompiled the code and just cleaned it up it’s very grey. This is from the CODING STYLE document: "Don't just copy paste code from IDA, make it look nice" https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.m...
- rasz 5y agoamateurs, should of been: "Don't just copy paste code from IDA, pull it thru GitHub Copilot first"
- carl_dr 5y ago> If they decompiled the code and just cleaned it up it’s very grey. From the filed complaint, Take-Two quote one of the developers : > GTA 3 and Vice City were originally written in [programming language] C++ . . . The compiled executables that are shipped are in machine code. So the general task is to go from machine code back to C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but over the last 10 or so years decompilers have appeared that help with this process. . . . So what we typically do is work with the output of the decompiler and massage it back into readable C++ And although this probably has no relevance from a legal standpoint, but sounds pretty bad in the context of the complaint, from right at the bottom of https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.md https://github.com/GTAmodding/re3/blob/master/CODING_STYLE.m... : > Generally, try to make the code look as if R* could have written it
- londons_explore 5y agoSo in most jurisdictions, what they did was clearly copyright infringement. It's a shame a simple take-down request wasn't sent (and complied with) first...
- carl_dr 5y agoThat’s on the developers. From TFA : > The lawsuit says that after the company filed a DMCA takedown notice to remove the projects from Github, the defendants filed a bad faith counter notice to have the content reinstated, thus triggering this copyright infringement lawsuit.
- danhor 5y agoMy understanding is that the code is directly reverse engineered/decompiled from the original code, so while it doesn't contain game assets, it's based on (compiled) code copyrighted by Take-Two.
- bogwog 5y agoIt'd be interesting to see if this actually goes to court, because decompiled code is technically new code, not the original. Decompilers can't retrieve the original code written by Rockstar devs, but it can write new code that behaves like it. Is that a derivative work? If a person were to do that by hand, I think most people would say it's fair use.
- carl_dr 5y agoFrom the filed complaint, Take-Two quote one of the developers : > GTA 3 and Vice City were originally written in [programming language] C++ . . . The compiled executables that are shipped are in machine code. So the general task is to go from machine code back to C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but over the last 10 or so years decompilers have appeared that help with this process. . . . So what we typically do is work with the output of the decompiler and massage it back into readable C++ I know, as a software developer, I don’t consider that fair use, and I very much doubt any reasonable person would either.
- teawrecks 5y agoWhy? Nothing about the decompiled source guarantees that it will compile to the same binary. And once you compile it for a new platform that TT never published for, it's an original binary generated from original source. It's as if person 1 built a machine (source+compiler) that generates paintings (binary) to sell, and then person 2 saw the painting and built an entirely different machine that can do the same thing. Person 1 can't tell person 2 what to do with their machine.
- klodolph 5y agoThink about it this way: if you compile source code, you get something that is technically new code (and not the original), but it is a derivative work. Why would decompiling be different from compiling? In both cases, you are transforming code from one language to another and ending up with something "new", which is a derivative of the original. In any case, you can have a human come in and clean up, refactor, extend, or make changes... and the result is still a derivative of the original. It doesn't really matter if you are doing it by hand or machine. I just don't see how that is relevant. There's a process involved where the input to that process is the original GTA 3, there's a bunch of steps, and the output to that process is code based on the original GTA 3 machine code, but in C or C++ instead of machine code. There are two ways to get around this. The first way is fair use, which is complicated but certainly doesn't apply here. The other way is the "clean room" reverse engineering, where one team reverse engineers a product to figure out what it does, and produces a specification, which a second team uses to create a new implementation which does the same thing.
- bsksi 5y agoIt's reverse engineered using IDA and such. I think even the class/functions names are the same since the developer forgot to strip one of the binaries. As much as I support this kind of project, I would say they are legally screwed. But they already knew that when they started.
- CannisterFlux 5y agoYeah, sounds that way, if it's almost literally the same code rejiggered to build as C. A proper clean-room rewrite effort would be so much slower. You'd need one guy in IDA decompiling/understanding, then explaining the design of how it should work to read and render the assets etc without actually writing the code to do that, and someone different reading the spec and implementing it without touching the original code at all. Or a single person doing both halves but being almost impossibly strict about it.