From: Daniel Carrera Date: 2003-07-12T04:14:54+09:00 Subject: Re: My brief and torrid affair with Ruby. -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > This is what is meant by "forcing" you to use the GPL, or "viral" licencing: Yes, I know. We do agree on what the GPL says. What I am saying is that these are incorrect uses of the words "force" and "viral". I'm willing to rest this issue. At least I've finally conveyed the point I've been making: That putting GPL code in your application does not automatically make your application GPL. If you think that this does not make the GPL non-viral, and I think that this makes the GPL non-viral then this is about as far as we can get. We just disagree on what the word "viral" means, and that's that. But at least we concur on what the GPL does and does not do. On Fri, Jul 11, 2003 at 05:18:18PM +0900, Brian Candler wrote: > On Fri, Jul 11, 2003 at 11:31:10AM +0900, Daniel Carrera wrote: > > The point is that after you include GPL code into yours, your code does > > not automatically become GPL. If you later wish to distribute your code > > without breaking the license you have two options. > > Well, you have more than two options. These include: > > 1. Throw your work away > > (i.e. undo all the work you did by incorporating the GPL code; then > either rewrite that section or find a non-GPL alternative) > > 2. Release it anyway, in contravention of copyright law > > 3. Contact the author(s) of the GPL part(s) of your code and get them to > agree to licence their work to you under a different licence. > > 4. Release it under the GPL or a licence which is equivalent to the GPL > > Options (1) and (2) are not particularly appealing. Option (1) says, in > effect, "if the GPL prevents you distributing the code in its current form > in the way that you want to, then distribute something else". Great. > > Option (3) is tedious, may not be practical (if the authors are not > contactable), and of course they are perfectly entitled to refuse. > > So, given that your work already incorporates GPL code, the only option > which you can be sure will be available is option (4). (And of course, if > you get a licence under option (3), then you are using the code under a > non-GPL licence, so we could exclude this option from discussion of "what > you can do with purely GPL code" anyway) > > If before you started writing your project, you knew you wanted to release > it under a non-GPL licence, then you would clearly avoid using GPL'd > libraries in the first place, or else first check out option (3), i.e. get a > non-GPL licence before you start. Otherwise you would have to resign > yourself to the fact that you may only be able to release code under option > 4, in which case your own code has become tainted by the GPL, potentially > against your wishes. > > This is what is meant by "forcing" you to use the GPL, or "viral" licencing: > IF I use GPL code in my application, AND I wish to distribute it at any > point, THEN it is true that I *must* distribute my code under a > GPL-equivalent licence (unless I can get the GPL code released to me under a > non-GPL licence, which means it's not GPL anyway) > > Clearly I have the choice to negate the antecedents to that statement: > - by not using GPL code in my application > - by not distributing my application > > If using GPL code in my application forces me not to use GPL code in my > application, that is a contradiction (hence if I have decided to use a > particular GPL library, I cannot take this route) > > Otherwise, using GPL code forces me not to distribute my application, or to > distribute it under the GPL. This is an infringement of liberty which I > *must* accept *if* I am to use GPL code. > > Regards, > > Brian. - -- Daniel Carrera | OpenPGP fingerprint: Graduate TA, Math Dept | 6643 8C8B 3522 66CB D16C D779 2FDD 7DAC 9AF7 7A88 UMD (301) 405-5137 | http://www.math.umd.edu/~dcarrera/pgp.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (SunOS) iD8DBQE/DwynnxE8DWHf+OcRAnRkAKDDnsbeYInrsi+C5cd/4VchS4dzdgCg4tMw oRxgVjK18YmeNMRNpuTIxHI= =EYWy -----END PGP SIGNATURE-----