From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Anthony Liguori" <aliguori@us.ibm.com>,
"Stefan Hajnoczi" <stefanha@linux.vnet.ibm.com>,
"Michael Tokarev" <mjt@tls.msk.ru>,
qemu-devel@nongnu.org, Lluís <xscript@gmx.net>,
"Blue Swirl" <blauwirbel@gmail.com>,
"Stefan Weil" <weil@mail.berlios.de>,
"Hannes Reinecke" <hare@suse.de>
Subject: Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API
Date: Mon, 16 Jul 2012 16:16:06 +0800 [thread overview]
Message-ID: <5003CDC6.2040103@linux.vnet.ibm.com> (raw)
In-Reply-To: <50000793.2020401@redhat.com>
于 2012-7-13 19:33, Paolo Bonzini 写道:
> 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:
>
Really thanks for the investigation, I paid quite sometime to dig out
which license is compatible to LGPL, this have sorted it out.
The coroutine and structure inside is quite a challenge. What about
provide the library first in nbd + sync access, and waiting for the
library employer response? If it is good to use, then replace implement
code to native qemu block layer code, change code's license, while keep
API unchanged.
> 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
>
--
Best Regards
Wenchao Xia
next prev parent reply other threads:[~2012-07-16 8:17 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
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 [this message]
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=5003CDC6.2040103@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=blauwirbel@gmail.com \
--cc=hare@suse.de \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
--cc=weil@mail.berlios.de \
--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 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).