[quagga-dev 11486] Re: non-GPL code calling and depending on GPL libzebra

Jeroen Massar jeroen at massar.ch
Thu Sep 11 13:44:28 BST 2014

On 2014-09-11 14:00, Paul Jakma wrote:
> On Thu, 11 Sep 2014, Jeroen Massar wrote:
>> As you own the copyright on both parts, you can do whatever you want.
>> Dual-licensing, commercial selling. Your thing.
> We don't the copyright on all parts. Quagga and libzebra has a diverse
> range of copyright holders. Many of them inherited from GNU Zebra. Not
> necessarily active.
> So we can't change the GPL licence on libzebra, nor can we dual-licence it.

Indeed, in such a situation, there is little you can do.

Unless you ask all of them to approve changing it (not happening) or
rewrite the whole thing from scratch that is ;)

> One question is, when A comes to depend on B through explicit, specific
> function calls in the source code of A, whether there is some difference
> between binary and source. My understanding has been binary and source
> are generally different representations of the same thing under US
> copyright law[1]. That is, the source code files of A become subject to
> the licence of B - was my understanding.

Your mixing "license" up with "copyright".

Copyright is automatically assigned to the author of the piece
The License is determined by the copyright owner.

The GPL has a clause in their license that any code linked to it (and
effectively in any other way is an 'exclusive requirement', that that
code must also be GPLd.

Unless the owners of the copyright (and thus the right to set a license)
can come to a different agreement.

As for "binary and source are different representations of the same
thing", that is quite likely correct under US law. (IANAL though ;)

> Some have argued this is not the case, that it only applies to the
> binaries that have been mechanically linked by the compiler/linker. This
> view implies the source code files of A can be copied/distributed
> without regard to the licence of B.

As several GPL lawsuits have shown, that is not how it works ;)

> That latter view doesn't seem safe to my understanding.

It definitely is not.

> Though, I'm sure
> examples of this being done can be found. What would be useful is any
> weighty or authoritative opinions on this.

I think the best thing is that I point you at:


>> Btw, instead of a BSD license, think of Apache License 2.0 it has a
>> few nice protections for patenty loopholes.
> Good point.
> Thanks.

Note that while I do respect the GPL where it is in place, I used to
stamp a BSD-2-clause on things, then for a bit an ISC-style license but
now, I definitely prefer a Apache License 2.0, as people a whole lot
more into the legal stuff have pointed out that that is the best and
truely free one out there.

I think the major difference between GPL or BSD/Apache License 2.0 is:
 - do you want to require others to publish changes
 - do you want vendors to use your stuff on their kit

IMHO the latter is the better thing and also the reason why there are a
whole lot of boxes out there that have aiccu + ecmh on it, while with
GPL stuff they would have had to open up their whole code tree for a
little feature that my code brings.

In the end it is mostly a personal thing though. But as an extra one:
Playstation4 has a whole lot of BSD in it, and so does Mac OSX...


More information about the Quagga-dev mailing list