I wanted to bring your attention to the following text under the “Standalone Game Licensing” section of the readme for this project:
Please be aware that as soon as you start distributing your game with an engine based on our sources we expect you to fully comply with the requirements as stated in the GPL. That includes making sources and modifications you made to the ioquake3 engine as well as the game-code used to compile the .qvm files for the game logic freely available to everyone.
While the game engine its self and its related libraries are licensed under GPL v2, any game code compiled to .qvm files does not fall under the GPL license as I understand it.
Here is the relevant part of the GPL v2 license under section 2:
If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
In this case, the .qvm files are:
- Not derived from the program (they are independently coded and compiled)
- Are an independent work
- If downloaded separately are not distributed as a part of the ioquake3 engine
Another similar example to the relationship between the ioquake3 engine and the qvm files is that of software running on the linux kernel. The linux kernel is required to run the software and thus the software is useless without the kernel. However the software is not a derivative work of the kernel, and is an independent work from the kernel, and so software installed on linux does not have to be GPL licensed. It does, however, need to be distributed separately from the kernel.
In the case of qvm game files, the distribution is an important point. If a standalone game uses two installers, one for the game assets and one for the engine, then it can be reasonably stated that the game assets including the .qvm files do not need to be licensed under the GPL.
I also want to bring your attention to the fact that your github repo includes the q3lcc compiler which is not licensed under GPL and should be removed from the ioquake3 repo as it violates the GPL license. Hosting it on its own and providing instructions to download and use it are permissible, and even including a .bat or .sh script that downloads it separately and then uses its functions when compiling is totally allowable under the GPL, however including its source in the ioquake3 repo is against the GPL.
I also want to point out that the anti-cheat guy you bullied out of the forum last year was well within the GPL as his anti-cheat code was a separate exe that was run by the engine. As long as he provided the modified source for the ioquake3 engine that executed his anti-cheat binary, he was well within the rights of the GPL.