[systemd-devel] Systemd license vs. libcryptsetup license

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Thu Jun 8 23:17:25 UTC 2017

On Thu, Jun 08, 2017 at 10:00:03PM +0300, Uoti Urpala wrote:
> On Thu, 2017-06-08 at 17:14 +0000, Zbigniew Jędrzejewski-Szmek wrote:
> > On Thu, Jun 08, 2017 at 06:03:37PM +0200, Julian Andres Klode wrote:
> > > I'm not sure where you get that from. The usual interpretation is that
> > > linking to a GPLed library means the linked work must be GPL as well.
> > 
> > I don't think that's true. It only must have a compatible license.
> I think that is the default FSF position. There are at least some cases
> where it's likely not automatic (for example, if there's a widespread
> API/ABI that is provided by both GPLed and differently-licensed
> libraries, an executable that works with both seems to have at least a
> reasonable claim to not being a derivative work). However, assuming
> that using a library may make the executable a derivative work seems to
> be the only safe default assumption.

Yes, FSF seems to be saying that, but I don't think this makes sense.
The copyright is about protecting the creative part of a given work,
and just using the API does not incorporate or copy the creative
process used to create the library.

> If the only thing you know is that some code uses the library, that may
> mean things like nontrivial inline functions being included in the
> compiled code, or copy relocations copying arbitrary amounts of data
> into an executable. It seems pretty clear that this can be considered a
> derived work. So I don't think you can ever claim that GPL wouldn't
> cover the linked work without at least some analysis of the specific
> library in question and how it's used in the program.
(I'm ignoring copy relocations which happen at runtime.)
You are right that a program compiled against a "header library" would
be most likely be a derivative work. But still, this is a special
case. I'm not claiming that GPL wouldn't apply ever, but that it
doesn't in the common case of a program calling a few functions from a
separately distributed library.


P.S. I think there's a lot of politicking on the FSF website, which
undermines their credibility:
"GNU/Linux is used by millions, though many call it “Linux” by mistake."
"We recommend installable versions of GNU (more precisely, GNU/Linux distributions)"

More information about the systemd-devel mailing list