From: Paolo Bonzini <pbonzini@redhat.com>
To: "Stefan Weil" <weil@mail.berlios.de>,
"Michael Tokarev" <mjt@tls.msk.ru>,
"Hannes Reinecke" <hare@suse.de>,
"Blue Swirl" <blauwirbel@gmail.com>, Lluís <xscript@gmx.net>
Cc: qemu-devel@nongnu.org, Anthony Liguori <aliguori@us.ibm.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API
Date: Fri, 13 Jul 2012 13:33:39 +0200 [thread overview]
Message-ID: <50000793.2020401@redhat.com> (raw)
In-Reply-To: <4FFFEF8E.5080705@redhat.com>
Il 13/07/2012 11:51, Paolo Bonzini ha scritto:
> Il 13/07/2012 11:16, Stefan Hajnoczi ha scritto:
>>> "Working around the QEMU block layer license" is not a goal per se,
>>> especially because you haven't a) assessed _what_ is the GPL code that
>>> the library would use; b) told us why the library should not be under
>>> the GPL.
>>>
>>> Please design first according to the functionality you want to
>>> implement, then think about the implementation.
>>
>> Licensing is one headache but the real challenge is that the QEMU block
>> layer relies on the QEMU main loop and a bunch of other architecture.
>
> It doesn't really, not on Windows which has no AIO for example. That's
> why I suggested:
>
> - assessing what code is GPL and what are the dependencies on it
So I tried trimming down the list of files needed to compile
qemu tools, and here is a list:
Easy to relicense to LGPLv2+:
block/raw.c none (GPLv2+: Red Hat, IBM)
error.c LGPLv2 (Red Hat, IBM, Stefan Weil)
iov.c GPLv2 (Red Hat, SuSE/Hannes Reinecke, Michael Tokarev)
module.c GPLv2 (Red Hat, IBM, Blue Swirl)
qemu-error.c GPLv2+ (Red Hat, Blue Swirl, IBM)
trace/control.c GPLv2 (Lluis Vilanova)
trace/default.c GPLv2 (Lluis Vilanova)
(I added some people to Cc. Lluis and Michael, can you also look at
http://wiki.qemu.org/Relicensing if you're willing to relicense
your past contributions from GPLv2 to GPLv2+?. Blue Swirl said
he'd accept any other GPLv2 or GPLv3 compatible license, which
should include LGPLv2+).
Harder to relicense to LGPLv2+:
block/vdi.c GPLv2+
"Good" license:
aes.c BSD
async.c BSD
block.c BSD
block/bochs.c BSD
block/cloop.c BSD
block/cow.c BSD
block/dmg.c BSD
block/parallels.c BSD
block/qcow.c BSD
block/qcow2-cache.c BSD
block/qcow2-cluster.c BSD
block/qcow2-refcount.c BSD
block/qcow2-snapshot.c BSD
block/qcow2.c BSD
block/qed-check.c BSD
block/qed-cluster.c BSD
block/qed-gencb.c BSD
block/qed-l2-cache.c BSD
block/qed-table.c BSD
block/qed.c BSD
block/vmdk.c BSD
block/vpc.c BSD
block/vvfat.c BSD
cutils.c BSD
osdep.c BSD
oslib-posix.c BSD
qemu-coroutine-io.c BSD
qemu-coroutine-lock.c BSD
qemu-option.c BSD
qemu-progress.c BSD
coroutine-ucontext.c LGPLv2+
json-lexer.c LGPLv2+
json-parser.c LGPLv2+
json-streamer.c LGPLv2+
qbool.c LGPLv2+
qdict.c LGPLv2+
qemu-coroutine.c LGPLv2+
qerror.c LGPLv2+
qfloat.c LGPLv2+
qint.c LGPLv2+
qjson.c LGPLv2+
qlist.c LGPLv2+
qstring.c LGPLv2+
Doesn't need to be included in a library:
qemu-tool.c GPLv2
Autogenerated:
trace.c
Remaining undefined symbols:
qemu_aio_flush
qemu_aio_wait
qemu_free_timer
qemu_new_timer
qemu_mod_timer
qemu_del_timer
qemu_get_clock_ns
vm_clock
+ those defined in qemu-tool.c
Paolo
next prev parent reply other threads:[~2012-07-13 11:34 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-09 8:54 [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API Wenchao Xia
2012-07-09 9:13 ` Paolo Bonzini
2012-07-10 5:04 ` Wenchao Xia
2012-07-10 7:17 ` Paolo Bonzini
2012-07-13 9:16 ` Stefan Hajnoczi
2012-07-13 9:51 ` Paolo Bonzini
2012-07-13 11:33 ` Paolo Bonzini [this message]
2012-07-13 15:03 ` Michael Tokarev
2012-07-13 15:17 ` Blue Swirl
2012-07-13 17:07 ` Stefan Weil
2012-07-13 22:55 ` Lluís Vilanova
2012-07-16 10:39 ` Stefan Hajnoczi
2012-07-23 11:55 ` Lluís Vilanova
2012-07-23 12:09 ` Paolo Bonzini
2012-07-24 9:33 ` Lluís Vilanova
2012-07-16 8:16 ` Wenchao Xia
2012-07-16 8:19 ` Paolo Bonzini
2012-07-18 8:51 ` Wenchao Xia
2012-07-18 9:03 ` Paolo Bonzini
2012-07-18 15:28 ` Kevin Wolf
2012-07-18 9:41 ` Stefan Hajnoczi
2012-07-18 10:42 ` Paolo Bonzini
2012-07-18 12:50 ` Stefan Hajnoczi
2012-07-18 13:51 ` Andreas Färber
2012-07-18 13:55 ` Kevin Wolf
2012-07-18 13:58 ` Daniel P. Berrange
2012-07-18 14:02 ` Paolo Bonzini
2012-07-18 14:12 ` Daniel P. Berrange
2012-07-18 15:23 ` Kevin Wolf
2012-07-18 15:35 ` Daniel P. Berrange
2012-07-19 11:37 ` Paolo Bonzini
2012-07-20 11:38 ` Daniel P. Berrange
2012-07-20 11:53 ` Paolo Bonzini
2012-07-23 18:15 ` Blue Swirl
2012-07-25 8:08 ` Wenchao Xia
2012-07-09 9:27 ` Daniel P. Berrange
2012-07-10 5:37 ` Wenchao Xia
2012-07-10 7:18 ` Paolo Bonzini
2012-07-13 9:12 ` Stefan Hajnoczi
2012-07-13 9:16 ` Daniel P. Berrange
2012-07-13 9:47 ` Stefan Hajnoczi
2012-07-16 7:48 ` Wenchao Xia
2012-07-09 14:36 ` Christoph Hellwig
2012-07-10 5:42 ` Wenchao Xia
2012-07-13 9:13 ` Stefan Hajnoczi
2012-07-13 9:27 ` Christoph Hellwig
2012-07-13 9:43 ` Stefan Hajnoczi
2012-07-13 10:42 ` Kevin Wolf
2012-07-13 10:55 ` Christoph Hellwig
2012-07-13 11:19 ` Kevin Wolf
2012-07-16 7:55 ` Wenchao Xia
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=50000793.2020401@redhat.com \
--to=pbonzini@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=blauwirbel@gmail.com \
--cc=hare@suse.de \
--cc=mjt@tls.msk.ru \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
--cc=weil@mail.berlios.de \
--cc=xiawenc@linux.vnet.ibm.com \
--cc=xscript@gmx.net \
/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.