[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: FRR package in Debian violates the GPL licence



On Mon, 18 Mar 2019, David Given wrote:

On Mon, 18 Mar 2019 at 11:10 Paul Jakma <paul@jakma.org> wrote:
[...]

One would need to obtain a licence from all the copyright holders
concerned. According to advice, I am one of those copyright holders. And
that includes having a copyright interest in the code in the ldpd/ and
babeld/ directories of FRR, being code which depends explicitly and
heavily on the GPL code in the other directories and which can not be
compiled, comprehended or function without reference to the GPL source
code.


I'll admit to having trouble following.

Can you point at a specific example of a derived file which they're
distributing under the BSD license, and the GPL-licensed file it was
derived from?

It'd probably be easier to list the files which are /not/. I tried a number of years ago - when I still thought (naively) others were ultimately acting in good faith and wished to respect licences - to untangle quagga-babeld into files with the GPL-dependent sections, and the files with just the original non-GPL-dependent code.

I was able to get about 3 .c files (and their .h) be clearly independent of the GPL library, and even then it needed a small compatibility library.

The other side rejected this approach to resolving the matter.

----

Anyway, a small, non-exhaustive sampling with rough, incomplete notes - for the sake of speed:

https://github.com/FRRouting/frr/blob/master/babeld/babel_filter.c

Depends heavily on lib/vty.{c,h} for the "VTY" CLI sub-system provided by the GPL source code, lib/prefix.{c,h} for address prefix, on lib/log.{c,h}, etc., and contains code which is exported as callbacks to have its execution orchestrated by GPL code, and see below.

https://github.com/FRRouting/frr/blob/master/babeld/babel_interface.c

Depends heavily on lib/command.{c,h}, etc.. Further, its functionality is orchestrated via the GPL library code by defining callbacks for babel_zebra below to register, whose execution is ultimately orchestrated by the GPL library code as well as being dependent on the GPL zebra daemon.

https://github.com/FRRouting/frr/blob/master/babeld/babel_zebra.c

Depends heavily on lib/command.{c,h}, lib/stream.*, lib/zclient.*, and on the GPL zebra daemon.

Many/most of these subsystems further depend on other pieces of GPL library or daemon code.

It's a similar story with ldpd/, there are a good number of files for which the FRR project have not put GPL headers on deliberately (see David's email), which make use of and depend upon (as per at top) GPL library and daemon code. E.g.:

https://github.com/FRRouting/frr/blob/master/ldpd/ldpd.c

Depends on lib/sigevent, lib/zclient (see comments above), lib/thread, etc. etc.

I don't think it's disputed that this code is wholly dependent on the GPL code for execution - it's implicit in David's email that this is the case, where he acknowledges (at least) that FRR accept that the /binaries/ are covered by the GPL.

regards,
--
Paul Jakma | paul@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
This fortune is encrypted -- get your decoder rings ready!


Reply to: