From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53050) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QvtcT-0006ha-5e for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:14:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QvtcR-0004Qj-Lg for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:14:29 -0400 Received: from mail-yw0-f45.google.com ([209.85.213.45]:42799) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QvtcR-0004QI-J5 for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:14:27 -0400 Received: by ywf9 with SMTP id 9so237068ywf.4 for ; Tue, 23 Aug 2011 09:14:26 -0700 (PDT) Message-ID: <4E53D1DC.7030609@codemonkey.ws> Date: Tue, 23 Aug 2011 11:14:20 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1314032798-21423-1-git-send-email-smizrahi@redhat.com> <1314032798-21423-2-git-send-email-smizrahi@redhat.com> <4E52ADFC.5070506@redhat.com> <20110823161239.GO5728@redhat.com> In-Reply-To: <20110823161239.GO5728@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] Added target to build libvdisk List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: Saggi Mizrahi , qemu-devel@nongnu.org On 08/23/2011 11:12 AM, Daniel P. Berrange wrote: > On Mon, Aug 22, 2011 at 02:29:00PM -0500, Anthony Liguori wrote: >> On 08/22/2011 12:06 PM, Saggi Mizrahi wrote: >>> libvdisk is a library that packages qemu's handling of disk images. This >>> allows for other programs to link to it and get access to qemu image >>> file abstractions. >>> >>> To use install the lib and #include >>> all the bdrv_* functions work as expected. >>> >>> Signed-off-by: Saggi Mizrahi >> >> It's a good idea in principle but the approach is far too naive. >> >> The block layer needs a good bit of modularization first. Test >> cases need to be written, and most importantly, using the library >> shouldn't require writing a bunch of dummy functions. > > There are also licensing practicalities which can cause us > some trouble/pain. For example: > >>> ###################################################################### >>> +# libvdisk >>> + >>> +vdisk-obj-y = $(block-obj-y) >>> + >>> +vdisk-obj-y += qemu-tool.o qemu-error.o >>> +vdisk-obj-y += $(oslib-obj-y) $(trace-obj-y) $(block-obj-y) >>> +vdisk-obj-y += $(qobject-obj-y) $(version-obj-y) qemu-timer-common.o > > $(block-obj-y) pulls in 'aio.o' which is built from aio.c which > is licensed "GPLv2 only". So even those many files are BSD > licenses, the combined work will be GPLv2-only. Unfortunately ending > up with a libqemublock.so which is GPLv2-only is as good as useless > for libs/apps since it is incompatible with both LGPLv2(+) and GPLv3. > > Now in this case aio.c is labelled as Copyright IBM / Anthony, > so IBM could likely resolve this licensing to be more widely > compatible. This could^H^Hwould become a non-trivial task if we > need to look at many files& then also any patches accepted to > those files from 3rd parties over the years :-( If there was a block driver library, I would expect it to be GPL, not LGPL. Regards, Anthony Liguori > > Regards, > Daniel