All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: John Snow <jsnow@redhat.com>, qemu-devel <qemu-devel@nongnu.org>,
	Hanna Reitz <hreitz@redhat.com>, Cleber Rosa <crosa@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	Qemu-block <qemu-block@nongnu.org>, Kevin Wolf <kwolf@redhat.com>,
	Beraldo Leal <bleal@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Andrea Bolognani <abologna@redhat.com>,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py
Date: Thu, 24 Mar 2022 09:03:07 +0000	[thread overview]
Message-ID: <Yjwzy97JAHKhvCHn@redhat.com> (raw)
In-Reply-To: <YjwzCM3/wZ4S2fxf@redhat.com>

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



  reply	other threads:[~2022-03-24  9:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 21:08 [PATCH 00/10] Python: Remove synchronous QMP library John Snow
2022-03-21 21:08 ` [PATCH 01/10] python/aqmp: add explicit GPLv2 license to legacy.py John Snow
2022-03-23 21:47   ` John Snow
2022-03-24  8:59     ` Daniel P. Berrangé
2022-03-24  9:03       ` Daniel P. Berrangé [this message]
2022-03-24 14:29         ` Andrea Bolognani
2022-03-24 14:47           ` Daniel P. Berrangé
2022-03-24 15:03         ` John Snow
2022-03-24 15:25           ` Daniel P. Berrangé
2022-03-24 16:07             ` John Snow
2022-03-25 14:55               ` Eric Blake
2022-03-25 17:32                 ` John Snow
2022-03-21 21:08 ` [PATCH 02/10] python/aqmp: relicense as GPLv2+ John Snow
2022-03-21 21:08 ` [PATCH 03/10] python: temporarily silence pylint duplicate-code warnings John Snow
2022-03-21 21:08 ` [PATCH 04/10] python/aqmp: take QMPBadPortError and parse_address from qemu.qmp John Snow
2022-03-21 21:08 ` [PATCH 05/10] python/aqmp: fully separate from qmp.QEMUMonitorProtocol John Snow
2022-03-21 21:08 ` [PATCH 06/10] python/aqmp: copy qmp docstrings to qemu.aqmp.legacy John Snow
2022-03-23 18:24   ` Hanna Reitz
2022-03-23 19:36     ` John Snow
2022-03-21 21:08 ` [PATCH 07/10] python: remove the old QMP package John Snow
2022-03-21 21:08 ` [PATCH 08/10] python: re-enable pylint duplicate-code warnings John Snow
2022-03-21 21:08 ` [PATCH 09/10] python: rename qemu.aqmp to qemu.qmp John Snow
2022-03-23 18:19   ` Hanna Reitz
2022-03-23 21:25     ` John Snow
2022-03-21 21:08 ` [PATCH 10/10] python: rename 'aqmp-tui' to 'qmp-tui' John Snow

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=Yjwzy97JAHKhvCHn@redhat.com \
    --to=berrange@redhat.com \
    --cc=abologna@redhat.com \
    --cc=armbru@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=hreitz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /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.