[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.