8 ms·
The provided evidence for a GPL violation by cheat-engine seems extremely thin. Here is a list of the supposed violations, as per this comment [1]: ./Cheat
by mytherin 4y ago
The provided evidence for a GPL violation by cheat-engine seems extremely thin.
Here is a list of the supposed violations, as per this comment [1]:
./Cheat Engine/tcclib/texi2pod.pl copyright Free Software Foundation via GNU GPL v2+
./Cheat Engine/tcclib/il-opcodes.h copyright Fabrice Bellard via GNU GPL v2+
./Cheat Engine/tcclib/tcctools.c copyright Timppa via GNU GPL v2+
./Cheat Engine/tcclib/lib/libtcc1.c copyright Free Software Foundation via GNU GPL v2+
./Cheat Engine/bin/tcclib/libtcc1.c copyright Free Software Foundation and Fabrice Bellard via GNU GPL v2+
./Cheat Engine/SynHighlighterAA.pas copyright Martin Waldenburg via GNU GPL v2+ (and MPL)
./Cheat Engine/LuaSyntax.pas copyright Jean-Franois Goulet via GNU GPL v2+ (and MPL)
./DBKKernel/obsolete_ntifs.h copyright Bo Brant via GNU GPL v2+
* libtcc is licensed under LGPL, as can be verified by downloading the source [2]. The bulk of the alleged violations come from the vendored version of this project.
* il-opcodes.h [3] is included in libtcc, but has a GPL license in the header. As the GPL license author is the author of libtcc (Fabrice Bellard), this seems like a mistake in that single header and the general license of the project should take priority. An author of source code is allowed to relicense their own code to whichever license they wish, after all, even if the original license used to be the GPL.
* texi2pod.pl [4] is licensed under GPL, but as it is a single perl script it does not link to the main cheat-engine program, which means the GPL does not extend to the rest of the cheat-engine project.
* LuaSyntax.pas and SynHighlighterAA.pas [5] are dual licensed under MPL, so are not violations to begin with.
* The other linked file (obsolete_ntifs.h [6]) has since been deleted and was not in use to begin with (and hence never linked to the actual project).
Unless I am missing something, none of these allegations seem to hold any water. It mainly seems to boil down to the author of libtcc making a sloppy license mistake in a header (likely copy-pasting licenses around incorrectly).
[1] https://github.com/cheat-engine/cheat-engine/issues/60#issuecomment-942071225 https://github.com/cheat-engine/cheat-engine/issues/60#issue...
[2] https://bellard.org/tcc/ https://bellard.org/tcc/
[3] https://github.com/cheat-engine/cheat-engine/blob/master/Cheat%20Engine/tcclib/il-opcodes.h https://github.com/cheat-engine/cheat-engine/blob/master/Che...
[4] https://github.com/cheat-engine/cheat-engine/blob/8bdb7f28a9d40ccaa6f4116b13c570907ce9ee2e/Cheat%20Engine/tcclib/texi2pod.pl https://github.com/cheat-engine/cheat-engine/blob/8bdb7f28a9...
[5] https://github.com/cheat-engine/cheat-engine/blob/5d595d7fce94fdee876070d7ac0eca5cec0e9a89/Cheat%20Engine/LuaSyntax.pas https://github.com/cheat-engine/cheat-engine/blob/5d595d7fce...
[6] https://github.com/cheat-engine/cheat-engine/blob/e38c7997c9cbd29628cd0c31adaf9f0cb9247790/DBKKernel/obsolete_ntifs.h https://github.com/cheat-engine/cheat-engine/blob/e38c7997c9...
- imtringued 4y ago>* il-opcodes.h [3] is included in libtcc, but has a GPL license in the header. You can easily generate the il-opcodes.h based on the constant names that were used. CONV_OVF_I1_UN -> lower case -> conv_ovf_i1_un -> . -> convv.ovf.i1.un Those opcode numbers are just an auto incremented number. The author of Cheat Engine should just reverse engineer the file himself and push an update to libtcc to make it LGPL compliant.