4 ms·
> 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,
by 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.