qemu-devel
[Top][All Lists]
Advanced

[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 08:59:52 +0000
User-agent: Mutt/2.1.5 (2021-12-30)

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.

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 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]