3 ms·
> Now, I don't know the Switch SDK and its license, but it is highly likely that it contains things that are needed to build the executable but which are not no
by dismalaf 2y ago
> Now, I don't know the Switch SDK and its license, but it is highly likely that it contains things that are needed to build the executable but which are not normally distributed with the console.
SDKs are typically a compiler, a debugger, headers to interact with the system API and a C/C++ runtime. You can compile GPL code with a proprietary debugger, that's not a problem. Ditto for debugger. System headers and runtime are under the GPL exception.
> Nintendo actually has a clause which forbids usage of the SDK with GPL software
That's not a GPL violation, that's a Nintendo TOS violation and up to them to enforce.
> Aside from source code, it also seems that the game distribution is missing the written offer for the source code as well as the GPL license text. This alone would be a violation of the license.
The first comment says they see attribution. So there's a good chance there's text in some game menu that links to the source of the emulator. If not, that's a violation.
As for the game itself, shipping a game + emulator isn't the same as shipping a game built with a GPL library. The emulator runs on the platform and runs the game which can be built standalone.
A similar situation is Linux vendors that ship a piece of proprietary software with a Linux distro. Shipping them together doesn't require the proprietary software to be open-sourced as merely shipping them together doesn't make them the same piece of software.
- yellowapple 2y ago> That's not a GPL violation, that's a Nintendo TOS violation and up to them to enforce. It's a GPL violation if it prevents the developer from being able to fulfill the obligations of the GPL. That'd indeed be why Nintendo would prohibit GPL'd code in their TOS. > As for the game itself, shipping a game + emulator isn't the same as shipping a game built with a GPL library. The emulator runs on the platform and runs the game which can be built standalone. True, but they're still on the hook for the emulator itself and the obligations of its license terms.
- deng 2y ago> SDKs are typically a compiler, a debugger, headers to interact with the system API and a C/C++ runtime. You can compile GPL code with a proprietary debugger, that's not a problem. Ditto for debugger. System headers and runtime are under the GPL exception. SDKs for game consoles contain more than that. They allow you to install executables onto special developer consoles, which are different from retail ones. The GPLv2 clearly says that you need to provide all the tools/scripts that are needed to install the executable onto the target system. This is why today's hermetically closed game consoles are fundamentally incompatible with (L)GPL code. While you might be able to provide the source code, the GPL explicitly states that the recipient of the code must be able to build and install the executable to run the code. This absolutely can mean that people will have to buy a commercial tool in addition (like Visual Studio Professional or similar), but herein lies the problem: you cannot just buy a Switch SDK and a developer console. They are tightly regulated and can only be obtained under NDA by officially recognized game developers. The only way to distribute GPL code for consoles without a license violation is if the console has a special mode which allows to run arbitrary code. For instance, for a while, the PS2 was able to run Linux (until Sony removed that feature). The Xbox has the so called "Dev Mode" which allows for running UWP executables. The Switch has no such feature, unless you jailbreak it. Needless to say, the game we're talking about here does not depend on that.