11 ms·
First of all, super cool. I have a soft spot for SimTower as well. :) > I didn’t want to do a function-by-function port. First, APIs may be copyrightable - and
by johnfn 5mo ago
First of all, super cool. I have a soft spot for SimTower as well. :)
> I didn’t want to do a function-by-function port. First, APIs may be copyrightable - and copying a binary that closely might implicate copyright more than an approach closer to clean-room design. But it was clear that I needed some level of feedback from the ground-truth binary in order to provide a hill for the LLM to climb on the reimplementation.
Interesting, but isn't this what, say, the Ocarina of Time reverse engineer port does[1]? I imagine the fact that this hasn't been served a takedown notice from Nintendo is a proof that it's defensible? Or at least that there's precedent, ha.
Anyway, this is really cool. I genuinely think the only thing that's missing for me to waste an afternoon here is the sound effects!
[1]: https://github.com/zeldaret/oot https://github.com/zeldaret/oot
- MrDOS 5mo ago> APIs may be copyrightable Didn't Google v. Oracle disprove this?
- jcranmer 5mo agoNot quite. Google v Oracle ducked the question of API copyrightability (that was one of the main complaints of Thomas's dissent), instead saying that Google's use of the APIs were very definitely fair use in a sufficiently general manner that any clean room implementation of API for compatibility is very definitely fair use.
- charcircuit 5mo agoIt is not proof. It is a clear derived work infringing on the copyright of Nintendo.
- realusername 5mo agoDepends of the country, a lot of countries have exceptions for interoperability (at least the whole EU) and since these projects are mainly used to make ports to other systems, it may be covered.
- AshamedCaptain 5mo agoThis is an absolutely ridiculous interpretation. There is no interoperability here at all, you are literally just copying the work in question. It is like claiming that compiling Samba to run in $NEW_PLATFORM suddenly strips Samba of the GPLv3.
- realusername 5mo agoYou absolutely aren't copying the work, recompilation projects are intensive work and a re-imagining of what the source code could look like. Compilation is still a one way process. And then for the legal part, that's why it's called an exception.
- AshamedCaptain 5mo agoThere is little to no creative work whatsoever if you end up with exactly the same game; and often they end up with exactly the same binary as well. Source translations are derivative works almost by definition. It doesn't matter what magic you use to generate it. And again, where is the interoperability here? Interoperability exception would apply if there was whitebox cryptography, Nintendo logo-style things or anything else where the only method for the work to run would be to violate copyright of _exactly that_. Under no circumstances you can simply copy & distribute the entire work (or derivates) while claiming "interoperability exception!". It makes utterly no sense.
- realusername 5mo agoI disagree, the creative work is in figuring out what the game does, and the resulting recompilation is completely different from the original source code. And then for the interoperability, these decompilation projects are primarily made to target other systems, not the original platform. That's the textbook definition of interoperability. Let's be real, N64 and the PS1/PS2 (where most of these projects are based) are crumbling old platforms at this point and these projects are sometimes the best way to run games when they exist.