TRex distribution and licensing of external libraries

Maciek Konstantynowicz <mackonstan@...>

Hi, Here is the background to Scapy licensing agenda topic for today’s TSC meeting.


Begin forwarded message:

From: "Miroslav Los -X (mirlos - PANTHEON TECHNOLOGIES at Cisco)" <mirlos@...>
Subject: TRex distribution and licensing of external libraries
Date: 26 September 2019 at 15:02:36 BST
To: "Hanoch Haim (hhaim)" <hhaim@...>
Cc: "Vratko Polak -X (vrpolak - PANTHEON TECHNOLOGIES at Cisco)" <vrpolak@...>, "Maciek Konstantynowicz (mkonstan)" <mkonstan@...>

I’ve been looking at the dependencies for TRex’s client library, in order to find if it could be distributed independent of the complete trex-core distribution.
I have noticed that the external_lib contains code from several other projects, and may or may not have been modified.
It is reportedly the case for at least pyzmq-ctypes and scapy. Pyzmq-ctypes, apparently abandoned by its original authors, is licensed under GNU LGPL.
Whereas scapy is GPLv2 – in the 2.3.1 version included, this was indicated in the file of the original release sources on github; the authors added an explicit LICENSE file with GPLv2 for the next version. Nonetheless, TRex would not have any license other than the GPLv2 which would let it distribute scapy 2.3.1.
I do not see the licensing terms for either of those packages indicated in the distribution, or repository. Nor do I believe the Apache 2.0 license of TRex can be applied to that code.
And most importantly, any code that imports those modules, as it may be a derived work. I’ve only seen scapy used by code under the scripts directory. I think the licensing of those parts of TRex distribution should be clarified, or otherwise resolved. Thoughts?