Subject: Re: [PATCH bpf-next] libbpf: relicense bpf_helpers.h and bpf_endian.h

From: Greg KH <[email-masked]>
Date: Fri, 16 Aug 2019 19:15:29 +0200

On Fri, Aug 16, 2019 at 05:29:27PM +0200, Daniel Borkmann wrote:
> On 8/16/19 2:10 PM, Jesper Dangaard Brouer wrote:
> > On Thu, 15 Aug 2019 22:45:43 -0700
> > Andrii Nakryiko <[email-masked]> wrote:
> > 
> > > bpf_helpers.h and bpf_endian.h contain useful macros and BPF helper
> > > definitions essential to almost every BPF program. Which makes them
> > > useful not just for selftests. To be able to expose them as part of
> > > libbpf, though, we need them to be dual-licensed as LGPL-2.1 OR
> > > BSD-2-Clause. This patch updates licensing of those two files.
> > 
> > I've already ACKed this, and is fine with (LGPL-2.1 OR BSD-2-Clause).
> > 
> > I just want to understand, why "BSD-2-Clause" and not "Apache-2.0" ?
> > 
> > The original argument was that this needed to be compatible with
> > "Apache-2.0", then why not simply add this in the "OR" ?
> 
> It's use is discouraged in the kernel tree, see also LICENSES/dual/Apache-2.0 (below) and
> statement wrt compatibility from https://www.apache.org/licenses/GPL-compatibility.html:
> 
>   Valid-License-Identifier: Apache-2.0
>   SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
>   Usage-Guide:
>     Do NOT use. The Apache-2.0 is not GPL2 compatible. [...]

That is correct, don't use Apache-2 code in the kernel please.  Even as
a dual-license, it's a total mess.

Having this be BSD-2 is actually better, as it should be fine to use
with Apache 2 code, right?

Jesper, do you know of any license that BSD-2 is not compatible with
that is needed?

thanks,

greg k-h