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!
> APIs may be copyrightable
Didn't Google v. Oracle disprove this?
Not 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.
It is not proof. It is a clear derived work infringing on the copyright of Nintendo.
Depends 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.
This 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.
You 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 a one way process.
And then for the legal part, that's why it's called an exception.