From: Luca Boccassi <bluca@xxxxxxxxxx> libbpf and bpftool have been dual-licensed to facilitate inclusion in software that is not compatible with GPL2-only (ie: Apache2), but the samples are still GPL2-only. Given these files are samples, they get naturally copied around. For example it is the case for samples/bpf/bpf_insn.h which was copied into the systemd tree: https://github.com/systemd/systemd/blob/main/src/shared/linux/bpf_insn.h Dual-license this header as GPL-2.0-only OR BSD-2-Clause to follow the same licensing used by libbpf and bpftool: 1bc38b8ff6cc ("libbpf: relicense libbpf as LGPL-2.1 OR BSD-2-Clause") 907b22365115 ("tools: bpftool: dual license all files") Signed-off-by: Luca Boccassi <bluca@xxxxxxxxxx> --- Most of systemd is (L)GPL2-or-later, which means there is no perceived incompatibility with Apache2 softwares and can thus be linked with OpenSSL 3.0. But given this GPL2-only header is included this is currently not possible. Dual-licensing this header solves this problem for us as we are scoping moving to OpenSSL 3.0, see: https://lists.freedesktop.org/archives/systemd-devel/2021-September/046882.html The authors of this file according to git log are: Alexei Starovoitov <ast@xxxxxxxxxx> Björn Töpel <bjorn.topel@xxxxxxxxx> Brendan Jackman <jackmanb@xxxxxxxxxx> Chenbo Feng <fengc@xxxxxxxxxx> Daniel Borkmann <daniel@xxxxxxxxxxxxx> Daniel Mack <daniel@xxxxxxxxxx> Jakub Kicinski <jakub.kicinski@xxxxxxxxxxxxx> Jiong Wang <jiong.wang@xxxxxxxxxxxxx> Joe Stringer <joe@xxxxxxx> Josef Bacik <jbacik@xxxxxx> (excludes a commit adding the SPDX header) All authors and maintainers are CC'ed. An Acked-by from everyone in the above list of authors will be necessary. One could probably argue for relicensing all the samples/bpf/ files given both libbpf and bpftool are, however the authors list would be much larger and thus it would be much more difficult, so I'd really appreciate if this header could be handled first by itself, as it solves a real license incompatibility issue we are currently facing. samples/bpf/bpf_insn.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/bpf/bpf_insn.h b/samples/bpf/bpf_insn.h index aee04534483a..29c3bb6ad1cd 100644 --- a/samples/bpf/bpf_insn.h +++ b/samples/bpf/bpf_insn.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0 */ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ /* eBPF instruction mini library */ #ifndef __BPF_INSN_H #define __BPF_INSN_H -- 2.33.0