RE: Re: Clarification on bpftool dual licensing

2 messages, 2 authors, 2021-11-18 · open the first message on its own page

RE: Re: Clarification on bpftool dual licensing

From: Martin Kelly <hidden>
Date: 2021-11-18 01:08:22

On Tue, Nov 16, 2021 at 2:16 AM Daniel Borkmann [off-list ref]
wrote:
quoted
On 11/15/21 7:20 PM, Martin Kelly wrote:
quoted
Hi,

I have a question regarding the dual licensing provision of bpftool. I
understand that bpftool can be distributed as either GPL 2.0 or BSD 2-
clause.
quoted
quoted
That said, bpftool can also auto-generate BPF code that gets specified inline
in the skeleton header file, and it's possible that the BPF code generated is
GPL. What I'm wondering is what happens if bpftool generates GPL-licensed
BPF
quoted
quoted
code inside the skeleton header, so that you get a header like this:

something.skel.h:
/* this file is BSD 2-clause, by nature of dual licensing */
Fwiw, the generated header contains an SPDX identifier:

  /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
  /* THIS FILE IS AUTOGENERATED! */
quoted
/* THIS FILE IS AUTOGENERATED! */

/* standard skeleton definitions */

...

s->data_sz = XXX;
s->data = (void *)"\
<eBPF bytecode, produced by GPL 2.0 sources, specified in binary>
";

My guess is that, based on the choice to dual-license bpftool, the header is
meant to still be BSD 2-clause, and the s->data inline code's GPL license is
not meant to change the licensing of the header itself, but I wanted to
Yes, definitely that is the intent (but not a lawyer either).
 Thanks everyone, that's what I assumed as well. Any objection to a patch clarifying this more explicitly?

One other, related question: vmlinux.h (generated by "bpftool btf dump file /sys/kernel/btf/vmlinux format c"), does not currently contain a license declaration. I assume this would have to be a GPL header, since vmlinux.h references many GPL'd Linux kernel structs and similar, though again I'm not a lawyer and therefore am not certain. Would you all agree with this? If so, any objection to a patch adding an SPDX line to the generated vmlinux.h?

Re: Re: Clarification on bpftool dual licensing

From: Andrii Nakryiko <hidden>
Date: 2021-11-18 00:37:45

On Wed, Nov 17, 2021 at 4:32 PM Martin Kelly
[off-list ref] wrote:
quoted
On Tue, Nov 16, 2021 at 2:16 AM Daniel Borkmann [off-list ref]
wrote:
quoted
On 11/15/21 7:20 PM, Martin Kelly wrote:
quoted
Hi,

I have a question regarding the dual licensing provision of bpftool. I
understand that bpftool can be distributed as either GPL 2.0 or BSD 2-
clause.
quoted
quoted
That said, bpftool can also auto-generate BPF code that gets specified inline
in the skeleton header file, and it's possible that the BPF code generated is
GPL. What I'm wondering is what happens if bpftool generates GPL-licensed
BPF
quoted
quoted
code inside the skeleton header, so that you get a header like this:

something.skel.h:
/* this file is BSD 2-clause, by nature of dual licensing */
Fwiw, the generated header contains an SPDX identifier:

  /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
  /* THIS FILE IS AUTOGENERATED! */
quoted
/* THIS FILE IS AUTOGENERATED! */

/* standard skeleton definitions */

...

s->data_sz = XXX;
s->data = (void *)"\
<eBPF bytecode, produced by GPL 2.0 sources, specified in binary>
";

My guess is that, based on the choice to dual-license bpftool, the header is
meant to still be BSD 2-clause, and the s->data inline code's GPL license is
not meant to change the licensing of the header itself, but I wanted to
Yes, definitely that is the intent (but not a lawyer either).
 Thanks everyone, that's what I assumed as well. Any objection to a patch clarifying this more explicitly?

One other, related question: vmlinux.h (generated by "bpftool btf dump file /sys/kernel/btf/vmlinux format c"), does not currently contain a license declaration. I assume this would have to be a GPL header, since vmlinux.h references many GPL'd Linux kernel structs and similar, though again I'm not a lawyer and therefore am not certain. Would you all agree with this? If so, any objection to a patch adding an SPDX line to the generated vmlinux.h?
Is vmlinux DWARF data GPL'ed? I certainly hope not. So vmlinux.h
shouldn't be licensed under GPL.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help