From: MkfsSion <mkfssion@mkfssion.com>
To: "Hongren (Zenithal) Zheng" <i@zenithal.me>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Subject: Re: Apache license usage (was Re: [PULL 04/15] hw/usb: Add CanoKey Implementation)
Date: Mon, 1 May 2023 20:39:42 +0800 [thread overview]
Message-ID: <ZE-x296xL_dkvM0N@MkfsSion-LPC> (raw)
In-Reply-To: <ZE5smpiemFJWsMaQ@Sun>
On Sun, Apr 30, 2023 at 09:26:50PM +0800, Hongren (Zenithal) Zheng wrote:
> 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.
Acked-by: YuanYang Meng <mkfssion@mkfssion.com>
>
> >
> > 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-05-01 12:46 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
2023-05-01 12:39 ` MkfsSion [this message]
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=ZE-x296xL_dkvM0N@MkfsSion-LPC \
--to=mkfssion@mkfssion.com \
--cc=i@zenithal.me \
--cc=kraxel@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).