[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py |
Date: |
Thu, 24 Mar 2022 09:03:07 +0000 |
User-agent: |
Mutt/2.1.5 (2021-12-30) |
On Thu, Mar 24, 2022 at 09:00:05AM +0000, Daniel P. Berrangé wrote:
> On Wed, Mar 23, 2022 at 05:47:48PM -0400, John Snow wrote:
> > On Mon, Mar 21, 2022 at 5:08 PM John Snow <jsnow@redhat.com> wrote:
> > >
> > > The legacy.py module is heavily based on the QMP module by Luiz
> > > Capitulino (et al) which is licensed as explicit GPLv2-only. The async
> > > QMP package is currently licensed similarly, but I intend to relicense
> > > the async package to the more flexible GPLv2+.
> > >
> > > In preparation for that change, make the license on legacy.py explicit.
> > >
> > > Signed-off-by: John Snow <jsnow@redhat.com>
> > > ---
> > > python/qemu/aqmp/legacy.py | 11 +++++++++++
> > > 1 file changed, 11 insertions(+)
> > >
> > > diff --git a/python/qemu/aqmp/legacy.py b/python/qemu/aqmp/legacy.py
> > > index 46026e9fdc..f86cb29804 100644
> > > --- a/python/qemu/aqmp/legacy.py
> > > +++ b/python/qemu/aqmp/legacy.py
> > > @@ -4,6 +4,17 @@
> > > This class pretends to be qemu.qmp.QEMUMonitorProtocol.
> > > """
> > >
> > > +#
> > > +# Copyright (C) 2009-2022 Red Hat Inc.
> > > +#
> > > +# Authors:
> > > +# Luiz Capitulino <lcapitulino@redhat.com>
> > > +# John Snow <jsnow@redhat.com>
> > > +#
> > > +# This work is licensed under the terms of the GNU GPL, version 2. See
> > > +# the COPYING file in the top-level directory.
> > > +#
> > > +
> > > import asyncio
> > > from typing import (
> > > Any,
> > > --
> > > 2.34.1
> > >
> >
> > Anyone have any strong feelings on me doing this? CC'ing people with
> > known strong feelings on licenses.
> >
> > I'm:
> >
> > (1) Re-affirming that the legacy interface for async QMP is GPLv2
> > (like the classic QMP library is), because the interface and
> > docstrings here are largely copy-pasted from that library. It's
> > heavily remixed and modified, but it is undeniably derivative. (This
> > patch)
>
> If this is going to live for any length of time it is desirable to
> relience the legacy code to GPLv2+ too.
>
> I've not fully audited the git history, but what little I've looked
> at, the relicensing doesn't look too hard. The overwhealming majority
> of code was by @redhat.com authors, so we can cope with that fairly
> easily. There are a handful of other contributors still around in
> QEMU, and some of the patches are so trivial you couldn't claim
> copyright on them ie where adding 1 parameter to a method call is
> literally the only possible way you could implmenent the change.
> It is never fun to contact everyone, but it looks viable.
>
> > (2) Re-licensing async QMP as GPLv2+. (Next patch)
> >
> > (3) Someday, eventually, adding a different sync interface that
> > doesn't re-mix this specific compatibility interface and will provide
> > better event-waiting primitives and so on. legacy.py will get dropped
> > at that point and the sub-project will become wholly GPLv2+. Until
> > then, it will be mixed.
>
> Overall making it *all* GPLv2+ compat is going to be important if you
> want people to be comfortable using it. If it has a mix of GPLv2+
> and GPLv2-only code in the source tarball, then the overall combined
> work will have to be considered GPLv2-only and that will put people
> off using it. Even if they could theoreticallly restrict their usage
> to only the GPLv2+ parts, many won't get that far before moving on.
Actually I'll go furthuer and suggest that if we're going to do a
relicensing at all, and your goal is to encourage usage, then GPLv2+
is the wrong choice. Use LGPLv2+ if you want to facilitate usage, while
retaining a copyleft license.
With regards,
Daniel
--
|: 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 :|
- [PATCH 00/10] Python: Remove synchronous QMP library, John Snow, 2022/03/21
- [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, John Snow, 2022/03/21
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, John Snow, 2022/03/23
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, John Snow, 2022/03/24
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, Daniel P . Berrangé, 2022/03/24
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, John Snow, 2022/03/24
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, Eric Blake, 2022/03/25
- Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py, John Snow, 2022/03/25
[PATCH 02/10] python/aqmp: relicense as GPLv2+, John Snow, 2022/03/21
[PATCH 05/10] python/aqmp: fully separate from qmp.QEMUMonitorProtocol, John Snow, 2022/03/21
[PATCH 04/10] python/aqmp: take QMPBadPortError and parse_address from qemu.qmp, John Snow, 2022/03/21