Re: [vpp-dev] Scapy license in VPP

Luca Muscariello

On Fri, Jan 29, 2021 at 6:09 PM Vratko Polak -X (vrpolak - PANTHEON TECHNOLOGIES at Cisco) via <> wrote:

> Why do you say that vpp_papi need to be dual licensed?


I think e-mail reply would be long,

and I will need to address comments anyway,

so I respond via a Gerrit change [1].

Hi Vratko 

Combining Apache 2.0 and GPLv2 projects together is a difficult task
that several large projects have faced in the past and solved with different solutions.

I did not follow the unfolding of the discussion in this list about requirements
to end up with double licensing, so I may have limited visibility on the long term goal.
You may have discussed this already so I may be late. Apologies for that.
I remember following the beginning of the discussion some time ago only.

Nevertheless, you are right that this is a topic for lawyer but
- some lawyers think that Apache 2.0 and GPLv2 are compatible 
- some lawyers do not think that Apache 2.0 and GPLv2 are compatible 
- the issue has not been tested in court

Moreover the authors of both licenses are not in agreement: the Apache foundation
and the Free software foundation. 

I'm not a lawyer but I've found myself in an intricate situation and I've had the FSF
position very clearly stated by Eben Moglen in person.

According to FSF's viewpoint GPLv2 should contaminate the entire software including PAPI.
LLVM for instance has not chosen that path and instead has opted to an Apache 2.0 license
across the code they develop with the addition of exceptions to the binary distribution.

You can find the text of the exception at the end of the file below right after the end
of the Apache 2.0 license text.

which I report below for people's convenience 
---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined








From: Paul Vinciguerra <pvinci@...>
Sent: Friday, 2021-January-29 15:29
To: Vratko Polak -X (vrpolak - PANTHEON TECH SRO at Cisco) <vrpolak@...>
Cc: tsc@...; Kinsella, Ray <ray.kinsella@...>; vpp-dev@...
Subject: Re: [vpp-dev] Scapy license in VPP


Why do you say that vpp_papi need to be dual licensed?


On Thu, Jan 28, 2021 at 12:43 PM Vratko Polak -X (vrpolak - PANTHEON TECHNOLOGIES at Cisco) via <> wrote:

First draft created [0] for the change that will switch

licenses for Python files used together with Scapy.


For some files, I was not sure whether they are used together with Scapy.

One big detail is that vpp_papi needs to have dual license,

as test framework integrates with it (and with scapy).

If I understand the licensing logic correctly,

CSIT tests can still choose to use vpp_papi under Apache license option.

But we may need to discuss that with lawyers.


Ray, you may need to upgrade your contributor-finding shell pipeline

to cover all files I added the new license into.





Join to automatically receive all group messages.