[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API |
Date: |
Fri, 13 Jul 2012 15:17:55 +0000 |
On Fri, Jul 13, 2012 at 11:33 AM, Paolo Bonzini <address@hidden> wrote:
> 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+).
I'm fine with LGPLv2+ too.
I have some reservations to supporting a block device library API/ABI
by external users, but if this is OK with block maintainer and we
allow some decent API/ABI changes in the future if needed, this should
be OK.
>
> 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
- [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Wenchao Xia, 2012/07/09
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/09
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Wenchao Xia, 2012/07/10
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/10
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Stefan Hajnoczi, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Michael Tokarev, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API,
Blue Swirl <=
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Stefan Weil, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Lluís Vilanova, 2012/07/13
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Stefan Hajnoczi, 2012/07/16
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Lluís Vilanova, 2012/07/23
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/23
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Lluís Vilanova, 2012/07/24
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Wenchao Xia, 2012/07/16
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/16
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Wenchao Xia, 2012/07/18
- Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API, Paolo Bonzini, 2012/07/18