[sword-devel] Still more about licencing

Eeli Kaikkonen sword-devel@crosswire.org
Wed, 10 Dec 2003 14:23:04 +0200


After posting the previous post I read the other thread which also covered 
licencing issues. I want to make some things clear.

I think Chris made some statements which are wrong or at least too strong. A 
program which uses sword libraries doesn't have to be under GPL. It only must 
be under a GPL-compatible licence. You said sword uses a library which is 
under BSD. That works other way also. A program under BSD may use sword. 
"GPL-compatible" means that the original licence allows changing the licence 
to GPL. LGPL allows it explicitly, BSD allows almost any use and does not 
prohibit changing the licence. GPL uses some kind of trick. When a program 
and a library are separate (in binary form in e.g. a hard drive of an end 
user) they have their own licences. But when they are linked at run time, GPL 
has the viral effect and changes the other part's licence to GPL. Also when 
they are distributed in a same medium GPL has that effect.

And what's more, any personal use is allowed. You are allowed to write code 
which uses GPL'ed library. You are allowed to compile and use it with that 
library. You are allowed to distribute your program's source code even if it 
is under non-GPL-compatible licence (in US this may be also about freedom of 
speech). Someone else is allowed to download your code, compile it and use 
the binaries with the GPL'ed library which he has obtained somewhere else. 
That all is personal use, except for distributing the source code, and GPL is 
not meant to deal with any personal use. Distributing the source is possible 
because of Section 2: "If identifiable sections of that work are not derived 
from the Program, and can be reasonably considered independent and separate 
works in themselves, then this License, and its terms, do not apply to those 
sections when you distribute them as separate works".

These are interpretations, not explicit wordings of GPL (except the last 
part). I have read these things somewhere and they represent some common 
interpretations. GPL is very problematic licence and it's legal status at 
least in some points is unclear.

Remember also that it is legal to make an API comptatible library for any API 
(I don't know why, but I have never seen anyone question that). There are 
GPL'ed libraries with "proprietary" APIs and it would also be possible to 
make a proprietary library which has the same API that sword has. Would it be 
illegal to make a proprietary program using that proprietary library? No. 
Therefore distributing a proprietary program which uses sword API must also 
be legal. But it is illegal to distribute a proprietary program which uses 
some API with a GPL'ed library which has that API. The previous sentence is a 
common interpretation of GPL, see Section 2 of GPL. Therefore e.g. Linux 
distributions cannot have a GPL'ed library AND an Open Source program which 
uses that library but is under a non-GPL-compatible licence.

So, if you want to make a program and distribute sword libraries with it, the 
program must be under a GPL-compatible licence. If you want to modify the 
sword library or incorporate some code from it to your own work, then the new 
program or library must be under GPL.

And to make sure, GPL explicitly reads: "Thus, it is not the intent of this 
section to claim rights or contest your rights to work written entirely by 
you". Even if it would state otherwise, the law is above licences and it is 
always legal to licence and relicence or triple- or quadruple-licence your 
own code as long as you have the copyright to it.