GPL violation in Tomba! Special Edition ?
Hello,
I saw in the License credits of the Nintendo Switch game « Tomba! Special Edition » that the game uses PCSX-Rearmed .
Is it a GPL violation ? I thought that GPL was incompatible with consoles because you can't publish the modified source code due to the consoles SDK NDA's ? Also I thought that you couldn't mix GPL code with closed-source code, so how can that work when they built the game against the closed-sources consoles SDK?
Best regards,
I'm not a lawyer and don't know much about this, so just a guess.
If they just load the game into the emulator it's probably ok since there is no linking between them, but like you said they probably needed to link the emulator with console's SDK so that the official firmware can run it. According to the GPL anyone owning the game should be able to ask for the source and then would be able to investigate.
There’s a precedent with this case: https://blogs.scummvm.org/sev/2009/06/23/gpl-scummvm-and-violations/
In Tomba’s case, they didn’t hide the copyrights, but the other GPL violations still stands in my opinion. Only L-GPL can be compatible with consoles.
I think you should seek advice from http://gpl-violations.org/
Personally I don't think it's a good use of my time, sorry.
I understand. Do you think you could consider re-licensing the project as L-GPL ? With this change, anyone who wants to respect licenses could have the same usage Limited Run Games currently has but without breaching.
That would require asking permission from everyone who worked on the code way back to the original PCSX release from 1999 or so. I know MAME managed to change it's license, but that was a huge effort.
I think sending a DMCA takedown request to Nintendo of America (and getting the game delisted from the eShop) is a possible solution if you feel strongly about it. A GPL violation is copyright infringement. You wouldn't have to take contributions into account, the presence of your own code is enough. (I'm not a lawyer, you should find one.)
EDIT: IANAL and this post is not legal advice, this is simply a humble developer's own opinion after looking at the code, from the perspective of someone who cares deeply about OSS.
@notaz I saw the updated time extension article today and was looking through the source code that LRG has released while denying any wrong doing and downplaying their actions.
https://www.timeextension.com/news/2025/04/limited-run-refutes-accusation-it-violated-gpl-in-tomba-special-edition https://github.com/LRG-CarbonEngine/PCSX-ReARMed
The source code dump reveals this is not the only product they have used the emulator on. There are various ifdefs referring to TOMBA vs GEX vs BUBSY for game specific hacks found throughout the source code.
While Tomba is the subject of the current controversy, Bubsy was released last year, and Gex is still in development with a TBD release. This tells me that they weren't just "late" releasing the source code. They seem to have had no intention of doing so at all and are now just scrambling because they got called on it. They had already released a full product, and the next one after, and are now developing a 3rd. So that excuse doesn't fly.
They also appear to link to their Carbon Engine in ways that are not compliant for GPL (check sound code for one). There is no source attached for that in their organization repo labeled "LRG-CarbonEngine", whose only source contents is a stripped version of this emulator, and there is no way they could release such source and be compliant with the GPL without violating the various NDAs they hold with the platform manufacturers.
They basically admit coming to this conclusion themselves. There is a notice in the README that all code covered by NDA for Steam, PS and Nintendo has been removed from the modifications to the emulator, which obviously is also not GPL compliant as they are not allowed to selectively redact portions of the modifications to your code under the terms of the license.
System library exception of the GPL aside - that covers linking to the OS library itself, not the usage of those APIs in their own code, and those APIs seem to be covered by NDA and are not able to be released. They appear to have screwed up similar to Atari in the ScrummVM case and used GPL software anyways despite this.
While i have not exhaustively searched the codebase (i just briefly compared a diff between stable and their repo), according to their own notice in the readme file this includes many of the most potentially interesting modifications they made to the emulator as a package for their commercial releases like code for their overlay, achievements/trophies, etc.
Xbox references remain in the code because Microsoft does not prohibit distribution of code that references it, and there are actually still some PLATFORM_NX references as well which likely refers to the Switch, likely missed by sloppy redaction since the full name is not used. The ScrummVM team noted in the article previously posted that Nintendo's NDA, GPL violations aside, also explicitly prohibits the use of such software and that fact was established in their legal proceedings.
Since this source release seems to have been done in bad faith to deflect criticism as its accompanied by gaslighting on what actually happened, I really think you should consider reaching out to the EFF or gpl-violations to file a complaint in order to avoid bad behavior becoming accepted as precedent here, as it could have larger implications on open source software as a whole going forward if they get away with it.
IANAL and this is not legal advice, but it seems there is both precedent from prior litigation in a very similar situation and evidence of a violation(s) here that would cause them to need to settle. Those organizations would be equipped to give you a consultation with actual legal advice, and they are here to help protect projects like yours and at least talking with them wouldn't hurt.
Anyone whom has ever contributed to PCSX with a commit active in the codebase would have standing to make a claim, but in the end, only you guys can decide as its your code. But i fear if they are allowed to just get away with this, other corporations will cite their usage as precedent and become increasingly problematic in the future, and the waters will be muddied in any future complaints as to whether a corporation "should have known" they cant do this by being able to cite this behavior going un-challenged. And they clearly intend to continue this kind of behavior going by the references to unreleased products.
My 2 cents on it: PCSX is not the only one.
The "Carbon Engine" used in Clock Tower is simply a GPL emulator of SNES specific for ARM devices, which is "supafaust" from libretro (a fork of mednafen) - please see my screenshot for proof (in the credits of the game).
As you can see in my other screenshot there is no publishing of their source of "supafaust" on their GitHub account, which is, again, a violation of GPL.
It's worth noting that the lack of presence of the above additional emulator does not itself constitute a violation as for as a I understand. They are not required to make the source code preemptively available online. It needs to be available upon request with you informed of the right to request it if you purchased the product. There may be an argument for ending credits not being the right place to inform, but the next step would be to make a request for the source from LRG, and lodge a complaint with the copyright holders (authors) of that emulator. If LRG fails to provide the source to the version they shipped, that would be a violation. In this case, based on what happened here because of the NDA'd portions it appears it is unavoidable that there will be one even if they partially oblige, as it must be the same source as to the shipped version. As in this case, whether that is a problem or not is still up to the copyright holders to enforce (the contributors), not us.
In our experience, EFF, FSF, et al won't do anything unless it specifically benefits them, so I wouldn't bother contacting them.
Beyond that, copyright is not trademark, so declining to defend it in one case does not result in loss of copyright protection (IANAL).
PCSX is compiled into it's own dynamically linked object, and interfaced via libretro-common, so it's all separate from the main program. Sony doesn't seem to police "PlayStation binaries" being distributed, probably because it's a 30+ year old system and 20+ years out of commercial interest. So, TMK there is no legal issue here, but I'm no lawyer.