From: "Hongren (Zenithal) Zheng" <i@zenithal.me>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
"Canokeys.org" <contact@canokeys.org>,
MkfsSion <mkfssion@mkfssion.com>
Subject: Re: Apache license usage (was Re: [PULL 04/15] hw/usb: Add CanoKey Implementation)
Date: Sun, 30 Apr 2023 21:26:50 +0800 [thread overview]
Message-ID: <ZE5smpiemFJWsMaQ@Sun> (raw)
In-Reply-To: <ZEpKXncC/e6FKRe9@redhat.com>
On Thu, Apr 27, 2023 at 11:11:42AM +0100, Daniel P. Berrangé wrote:
> On Tue, Jun 14, 2022 at 02:15:59PM +0200, Gerd Hoffmann wrote:
> > From: "Hongren (Zenithal) Zheng" <i@zenithal.me>
> >
> > This commit added a new emulated device called CanoKey to QEMU.
> >
> > CanoKey implements platform independent features in canokey-core
> > https://github.com/canokeys/canokey-core, and leaves the USB implementation
> > to the platform.
> >
> > In this commit the USB part was implemented in QEMU using QEMU's USB APIs,
> > therefore the emulated CanoKey can communicate with the guest OS using USB.
> >
> > Signed-off-by: Hongren (Zenithal) Zheng <i@zenithal.me>
> > Message-Id: <YoY6Mgph6f6Hc/zI@Sun>
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> > hw/usb/canokey.h | 69 +++++++++++
> > hw/usb/canokey.c | 300 +++++++++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 369 insertions(+)
> > create mode 100644 hw/usb/canokey.h
> > create mode 100644 hw/usb/canokey.c
> >
> > diff --git a/hw/usb/canokey.h b/hw/usb/canokey.h
> > new file mode 100644
> > index 000000000000..24cf30420346
> > --- /dev/null
> > +++ b/hw/usb/canokey.h
> > @@ -0,0 +1,69 @@
> > +/*
> > + * CanoKey QEMU device header.
> > + *
> > + * Copyright (c) 2021-2022 Canokeys.org <contact@canokeys.org>
> > + * Written by Hongren (Zenithal) Zheng <i@zenithal.me>
> > + *
> > + * This code is licensed under the Apache-2.0.
> > + */
>
> > diff --git a/hw/usb/canokey.c b/hw/usb/canokey.c
> > new file mode 100644
> > index 000000000000..6cb8b7cdb089
> > --- /dev/null
> > +++ b/hw/usb/canokey.c
> > @@ -0,0 +1,300 @@
> > +/*
> > + * CanoKey QEMU device implementation.
> > + *
> > + * Copyright (c) 2021-2022 Canokeys.org <contact@canokeys.org>
> > + * Written by Hongren (Zenithal) Zheng <i@zenithal.me>
> > + *
> > + * This code is licensed under the Apache-2.0.
> > + */
>
> In the process of auditing licensing in QEMU I found this patch
> adding code that is Apache-2.0 licensed, and as such I don't
> think we should have ever merged the patch as is.
>
> QEMU as a combined work is GPLv2-only.
>
> There is disagreement between the Apache foundation and FSF on this
> topic[1], but FSF considered Apache 2.0 to be incompatible with the
> GPL-v2. Fedora licensing follows the same view of Apache being GPLv2
> incompatible.
>
> More generally I think it is a little dubious to write new devices
> while claiming a license that's different from normal QEMU code
> license. I expect there is inevitably a degree of cut+paste from
> existing QEMU code to handle the device boilerplate code which
> would be sufficient to expect a GPLv2-or-later license to apply.
>
> The two added files in this commit are the only occurrence of
> Apache licensing in QEMU that I see.
>
> Hongren, IIUC from the attribution above, you wrote the code but
> Canokeys.org claims copyright. Could you report whether Canokeys.org
> will agree to change the licensing on these files to QEMU's normal
> GPLv2-or-later licensing.
I have discussed it internally with canokeys.org and they agreed
to re-license it under GPLv2+
I will send a patch modifying the license.
In the meantime, canokey.c was also modified by
MkfsSion <mkfssion@mkfssion.com>
I've Cc'ed MkfsSion for their attitude on this.
>
> With regards,
> Daniel
>
> [1] https://www.apache.org/licenses/GPL-compatibility.html
> --
> |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org -o- https://fstop138.berrange.com :|
> |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
>
next prev parent reply other threads:[~2023-04-30 13:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-14 12:15 [PULL 00/15] Kraxel 20220614 patches Gerd Hoffmann
2022-06-14 12:15 ` [PULL 01/15] ui/gtk-gl-area: implement GL context destruction Gerd Hoffmann
2022-06-14 12:15 ` [PULL 02/15] ui/gtk-gl-area: create the requested GL context version Gerd Hoffmann
2022-06-14 12:15 ` [PULL 03/15] ui/cocoa: Fix poweroff request code Gerd Hoffmann
2022-06-14 12:15 ` [PULL 04/15] hw/usb: Add CanoKey Implementation Gerd Hoffmann
2023-04-27 10:11 ` Apache license usage (was Re: [PULL 04/15] hw/usb: Add CanoKey Implementation) Daniel P. Berrangé
2023-04-30 13:26 ` Hongren (Zenithal) Zheng [this message]
2023-05-01 12:39 ` MkfsSion
2023-05-02 8:25 ` Daniel P. Berrangé
2022-06-14 12:16 ` [PULL 05/15] hw/usb/canokey: Add trace events Gerd Hoffmann
2022-06-14 12:16 ` [PULL 06/15] meson: Add CanoKey Gerd Hoffmann
2022-06-14 12:16 ` [PULL 07/15] docs: Add CanoKey documentation Gerd Hoffmann
2022-06-14 12:16 ` [PULL 08/15] docs/system/devices/usb: Add CanoKey to USB devices examples Gerd Hoffmann
2022-06-14 12:16 ` [PULL 09/15] MAINTAINERS: add myself as CanoKey maintainer Gerd Hoffmann
2022-06-14 12:16 ` [PULL 10/15] hw/usb/hcd-ehci: fix writeback order Gerd Hoffmann
2022-06-14 12:16 ` [PULL 11/15] usbredir: avoid queuing hello packet on snapshot restore Gerd Hoffmann
2022-06-14 12:16 ` [PULL 12/15] virtio-gpu: update done only on the scanout associated with rect Gerd Hoffmann
2022-06-14 12:16 ` [PULL 13/15] ui/console: Do not return a value with ui_info Gerd Hoffmann
2022-06-14 12:16 ` [PULL 14/15] ui: Deliver refresh rate via QemuUIInfo Gerd Hoffmann
2022-06-14 12:16 ` [PULL 15/15] virtio-gpu: Respect UI refresh rate for EDID Gerd Hoffmann
2022-06-14 15:11 ` [PULL 00/15] Kraxel 20220614 patches Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZE5smpiemFJWsMaQ@Sun \
--to=i@zenithal.me \
--cc=berrange@redhat.com \
--cc=contact@canokeys.org \
--cc=kraxel@redhat.com \
--cc=mkfssion@mkfssion.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.