6 ms·
https://github.com/cheat-engine/cheat-engine/issues/60#issuecomment-942071225 https://github.com/cheat-engine/cheat-engine/issues/60#issue...
by naoqj 4y ago
https://github.com/cheat-engine/cheat-engine/issues/60#issuecomment-942071225 https://github.com/cheat-engine/cheat-engine/issues/60#issue...
- kop316 4y agoAhh, that helps a bunch. Thank you!
- lawl 4y agoJust checked one of those at random: https://github.com/cheat-engine/cheat-engine/blame/master/Cheat%20Engine/tcclib/tcctools.c https://github.com/cheat-engine/cheat-engine/blame/master/Ch... > modify it under the terms of the GNU Lesser General Public > * License as published by the Free Software Foundation; LGPL, not GPL. No shady stuff going on either, https://github.com/mirror/tinycc/blob/mob/tcctools.c https://github.com/mirror/tinycc/blob/mob/tcctools.c sais the same thing. Edit: texi2pod.pl however does seem to be GPL, and not LGPL: https://github.com/mirror/tinycc/blob/mob/texi2pod.pl https://github.com/mirror/tinycc/blob/mob/texi2pod.pl however, perl isn't linked, so there's probably a way out there. il-opcodes does seem to be GPL2+, and the header arguably would end up in the binary thus forcing everything to be GPL? https://github.com/mirror/tinycc/blob/mob/il-opcodes.h https://github.com/mirror/tinycc/blob/mob/il-opcodes.h Edit 2: I think I've resolved this: Fabrice Bellard already agreed to relicense under a permissive license, see: https://github.com/mirror/tinycc/blob/mob/RELICENSING https://github.com/mirror/tinycc/blob/mob/RELICENSING Thus, I think it would be really hard to argue that there's any problem left, since the only file here that could be in violation (il-opcodes) is authored by fabrice bellard and arguably already permissively licensed. Case closed.
- throwaway2037 4y agoAuthored by Fabrice Bellard: 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... Says: * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. That looks like GPL 2+ to me. Please correct me if I misunderstand.
- mytherin 4y agoNote the "(at your option) any later version" clause. The COPYING file contains this: * GNU LESSER GENERAL PUBLIC LICENSE * Version 2.1, February 1999 * [This is the first released version of the Lesser GPL. It also counts * as the successor of the GNU Library Public License, version 2, hence * the version number 2.1.] It seems to me that code is licensed under LGPL 2.1, as was mentioned by the cheat-engine author in the github issues. Edit: Fabrice Bellard is also the author of libtcc, who has chosen to release that project under LGPL, so this is irrelevant to begin with. The file is LGPL.
- tedivm 4y agoThe copying file was added years later and not by the same author as the original license. It looks like tcclib itself messed up somewhere along the lines here. Also, "any later version" is any later version of the same license. LGPL and GPL are two separate licenses- you can't switch GPL to LGPL using this clause.
- toast0 4y agoGNU Library Public License (LPL?) != GNU General Public License (GPL)
- klodolph 4y ago"Lesser General Public License" I assume that it used to stand for "library", and this was changed to discourage people from thinking of this library as the default license for libraries, and consider using the GPL instead. For example, the GNU Readline library is GPL, and this is reportedly the reason why CLISP is also GPL'd.
- toast0 4y agoYes, but GP was suggesting that the GNU LGPL 2.1 was a possible successor license to the GPL 2, based on the quote in the LGPL 2.1 text that says > [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
- noobermin 4y agoWhy does perl being linked have anything to do with that? The perl script itself is GPL... Anyway, all it does is convert from texinfo to pod formats, so that should be easily doable by some other tool or by the author themselves, if that is the only remaining violation, might as well address that.
- lawl 4y ago> Why does perl being linked have anything to do with that? The perl script itself is GPL... First of all: IANAL. Yes, and the perl script will remain GPL, but that doesn't make the rest of the program a derived work. That even seems to be the position of the FSF: > The Free Software Foundation [...] asserts that an executable that uses a dynamically linked library is indeed a derived work. This does not, however, apply to separate programs communicating with one another. Perl (and the script) is a separate program, the entirety of CheatEngine is not automatically a derived work of the perl script. Thus the script can remain GPL and CE could be licensed any way it wants without a problem. Wikipedia has a section dedicated to this: https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works https://en.wikipedia.org/wiki/GNU_General_Public_License#Lin...
- nybble41 4y ago>> The Free Software Foundation [...] asserts that an executable that uses a dynamically linked library is indeed a derived work. Which if you think about it is really a very problematic assertion, for a couple of reasons. First, it doesn't seem to be related at all the the definition of "derived work" in the Copyright Act (in the US) or the examples given for other kinds of derived works, which all involve incorporating creative elements from the original work into the derived work. These elements might be translated or rearranged or otherwise transformed, but they're still necessary for the work to count as derivative. Linking against a dynamic library has more in common with referencing another work in your bibliography—which so far as I am aware has never been considered enough on its own to consider the referencing document a derivative work. But more importantly: The FSF also maintains that a clean-room, from-scratch open-source reimplementation of a proprietary library with a compatible ABI is not a derived work of the proprietary library. (For example Lesstif vs. Motif, or Wine vs. Windows.) A program which is dynamically linked against some library is only dependent on the library's ABI, not the specific implementation of the library, and can be used at runtime with either version. So is it a "derivative work" of the original proprietary library, or the open-source reimplementation? And of course the same logic could be applied the other way around for a program which can be (but need not be) dynamically linked against a GPL library—it could just as easily be linked against a proprietary reimplementation of the same library with a compatible ABI. And why should it make any difference for the purpose of declaring something a "derivative work" whether the reimplementation under a compatible license already exists, or merely could exist? The part which is asserted to be "derivative" hasn't changed at all. I am not (a / your) lawyer, yada yada, but the "dynamic linking implies derivative work" argument has always struck me as being at odds with both the plain meaning of "derivative work" and actual practice when the situation is reversed.
- mytherin 4y agoThose GPL files are part of a vendored dependency (TCC) [1] which has been licensed under LGPL. IANAL but GPL does state that you can relicense under any other later version of the license, and LGPL states that it counts as GPL 2.1. Either way, it is hard to blame the author of Cheat Engine for this. If there is any violation it comes from a vendored dependency. Again, IANAL, but if someone presents you code and claims it is licensed under X, but then you find out they don't have the rights to license that code under X, it is hard to find you at fault. Edit: The GPL file in question is authored by the same author of libtcc (Fabrice Bellard) who has released libtcc in its entirety under LGPL. No violation has occurred anywhere in the stack, the header is simply incorrect. [1] https://bellard.org/tcc/ https://bellard.org/tcc/
- chunkyks 4y ago"IANAL but GPL does state that you can relicense under any other later version of the license" No. GPL encourages people to say "GPLv2 or later" or "GPLv3 or later", but being under one version of the GPL does not automatically afford "or later" unless the copyright holder says so.
- zargon 4y agoEven if it says "or later", this doesn't allow you to switch from GPL to LGPL!
- mananaysiempre 4y ago> IANAL but GPL does state that you can relicense under any other later version of the license No. Both the GPL and the LGPL encourage you to add the “or any later version” clause that allows the FSF to retroactively add other licensing options to your code, but they do not include that clause themselves. The standard example is that the SMB protocol implementations in the Linux kernel (GPL 2.0 only) and the Samba project (GPL 3.0 or later) cannot share code in either direction. > LGPL states that it counts as GPL 2.1 Also no. The GNU Lesser General Public License (LGPL) 2.1 (says that it) counts as the successor of the GNU Library General Public License (LGPL) 2.0, not of the ordinary GNU General Public License (GPL) 2.0. GPL 2+ code cannot be treated as LGPL 2.1, and from the FSF’s perspective allowing that would not make sense, as GPL 2 enforces strictly more copyleft than LGPL 2.1. Why the confusing renaming? As far as I can see, Stallman wanted library authors to switch from LGPL to GPL, so that library users are forced into the GPL as well. The chosen solution was to play language games to redefine the “L” in “LGPL” to mean “lesser” instead of “library”. There is an official article that explicitly points out this piece of manipulation[1], but I still cannot suppress the vague feeling of revulsion at being manipulated. [1] https://www.gnu.org/licenses/why-not-lgpl.html https://www.gnu.org/licenses/why-not-lgpl.html
- nightpool 4y agoThis comment only points out MPL or LGPL licensed code. tcclib contains a COPYING file that affirms all code distributed as part of tcclib is available under the LGPL. LuaSyntax.pas and SynHighlighterAA.pas are available under the MPL. The only actually GPL-licensed file in that list, obsolete_ntifs.h, doesn't exist in the repo. If you can find a version of CheatEngine that includes that file, presumably that would be a GPL violation, but that would have to rely on an analysis of how integrated the DBKKernel component is with the rest of the CheatEngine system.
- formerly_proven 4y agoobsolete_ntifs.h seems to only contain Windows API definitions, so it is doubtful that the GPL applies to using it (Oracle v. Google).