On Saturday 10 November 2007 08:48:22 Shriramana Sharma wrote: > My question is whether anyone among X, Y and Z in any of the below two > situations is guilty of copyright infringement as a result of not > following license conditions? > > SITUATION #1: > > 1. X creates 01-noqt-nothirdvar.cpp and distributes it under the BSDL > only.
Okay... > 2. Y modifies this program to use Qt (under the GPL), creating > 02-qt-nothirdvar.cpp, and distributes it under both the BSDL and GPL. Well, they could distribute the source code under the BSD, as the source code isn't a derivative work of Qt just by using it. But they could not legally distribute a compiled binary that included copyrightable parts of GPL-only Qt. You could distribute binaries under the GPL. > 3. Z modifies this program to use a third variable for swapping, > creating 03-qt-thirdvar.cpp, and distributes it under both the BSDL and > GPL. Again, they could distribute source under BSD, but not compiled binaries linked with GPL-only Qt. You could distribute binaries only under the GPL, because you have to respect Qt's license. > 4. X imports the change from Z, namely using a third variable only, into > his codebase, creating 04-noqt-thirdvar.cpp, and distributes it under > the BSDL only. Sure, now the code doesn't use any GPL code, so you could distribute source or binaries under the BSD. > SITUATION #2: > > 1. X creates 01-noqt-nothirdvar.cpp and distributes it under the BSDL > only. Okay ... > 2. Y modifies this program to use Qt (under the GPL) and to use a third > variable for swapping, creating 03-qt-thirdvar.cpp, and distributes it > under both the BSDL and GPL. Same as above -- you could distribute the source under the BSD, but not binaries. You could distribute binaries only under the GPL, because you have to respect Qt's license. > 3. X imports one change from Y, namely using a third variable only, into > his codebase, creating 04-noqt-thirdvar.cpp, and distributes it under > the BSDL only. Again, now there is no GPL code, so you could distribute source or binaries under the BSD. There seems very straightforward and obvious. Is there something different that you were expecting? For one thing, this has nothing to do with "rescuing" code from the GPL -- the only reason you could remove references to Qt and get back a BSD work is because all of the intermediate steps included dual-licensed code. Here is a more likely scenerio, and maybe this is what you really want to know: 1. X creates 01-noqt-nothirdvar.cpp and distributes it under the BSD only. 2. Y modifies this program to use Qt (under the GPL) and to use a third variable for swapping, creating 03-qt-thirdvar.cpp, and distributes it under the GPL, only. 3. X wants to import one change from Y, namely using a third variable only, into his codebase, creating 04-noqt-thirdvar.cpp, and distribute it under the BSD, but he *can't*[1], because that change is licensed under the GPL only, by Y. So he either calls Y and asks if he can use that part of the change under the BSD, or he rewrites the function himself so that there is no GPL code involved. So basically, no, you can't "free" something from the GPL (or any license, really), unless you: 1) Get the author to re/dual-license their code, or 2) Rewrite all of the "offending" code. Footnotes: [1] Glossing over how this example trivial change is not copyrightable anyway. I'm assuming as you probably are that this whole thing is an analogy for much more major changes. -- Wesley J. Landaker <[EMAIL PROTECTED]> <xmpp:[EMAIL PROTECTED]> OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2
signature.asc
Description: This is a digitally signed message part.