Raul Miller wrote: > Meanwhile, I've not gotten any real feedback on whether adding -static > to CFLAGS is legal, let alone any of the more complicated changes > I proposed...
If you insist... I hope I get the details right though. So the scenario is: kghoststript is being distributed as executable of a GPL-ed source dynamically linked against the Qt object library; the distributors read "all the source code for all modules it contains" to mean all the source code for kghostscript proper (not the library), and they dutifully accompany the executable by this source, both with the GPL licence; they also distribute Qt as usual in source and object format, both with QPL licence. The sources for kghostscript are the exact ones used to build the executable, so CFLAGS does not contain -static. Now somebody receives this distribution and for some reason adds -static to the CFLAGS, as properly is his right, and rebuilds. He finds himself with a substantially bigger object file than in the distribution, but otherwise no dramatic changes occur. The change is highly unlikely to flow back to the first distributor, but even if by some accident their source distribution would have its CFLAGS altered, it would just mean that these sources no longer correspond exactly to the distributed binaries. No illegality yet. Now the recipient makes a more substantial improvement to the kghostscript sources and decides to share it with the world; he puts his modified sources on his ftp server (GPL-ed, as always). Now anybody downloading these improved sources will have their executables built too large by default, if they don't find out and remove the -static; that's a pity but no disaster. Next thing, our hacker becomes so popular that demand arises for distribution of binaries. At this point he may have forgotten that his binaries, unlike the original ones, contain parts of the Qt library and simply put them up for distribution, with the GPL licence, just like his sources. This is illegal, and he could be sued. Whether he can be sued by Troll is not entirely clear to me: while the binary is certainly derived work from Qt in the copyright sense, it does not seem to classify as modified version of Qt in the sense of QPL (which systematically distinguishes modified versions and third-party application programs based on Qt) so QPL4a (requiring a QPL notice) and QPL4c (requiring "modifications" (all of kghostscript?) to enjoy the permissions of QPL) probably do not apply; in any case QPL6 is not violated because it merely requires sufficiently free sources, not the precise permissions of QPL. But our forgetful hacker can certainly be sued by the author of kghostscript, since he cannot guarantee the GPL permissions with respect to the Qt sources (which he does not distribute, but which are definitely nowhere distributed other than with QPL); in particular recipients of his binaries have no right to modify and redistribute the Qt sources (QPL3, like QPL5, is giving no permissions for things that require permission). It is not quite clear what suing would achieve though (certainly not release of Qt under GPL); more likely the kghostscript author, if at all bothered about the situation, would urge for reversion to distribution of dynamically linked executables. On the other hand our hacker may think wait, I'm becoming a serious distributor, let's check the licences. He reads GPL carefully, understands that he must release all sources under the terms of the GPL, checks that his binaries include the Qt library, fetches its sources, reads the QPL and understands by QPL2 that he must leave the QPL notice in. If he understands the situation well he may give up here and decide that he cannot satisfy GPL this way, and refrain from distribution, or revert to distributing dynamic execs. Or he may naively plant the GPL flag next to the QPL licence, and leave it to his recipients to figure out what their rights are. This is pretty bad. ...? I'm sorry, maybe it's because I'm not much of a story teller, but I still can't figure out how to get to the part where the Evil Troll emerges from the shadows, and wields the powers bestowed on it by QPL3b to mercilessly rip an originally GPL-ed piece of kghostscript (or Gimp) out of this software for abuse in its own proprietary software, while enjoying immunity from being sued by the respective authors for copyright infringement. Maybe somebody else can continue? Marc van Leeuwen

