From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:52544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qvtap-0005Qv-KI for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:12:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qvtao-0004Aj-Bn for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:12:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:3019) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qvtan-0004Ab-Vy for qemu-devel@nongnu.org; Tue, 23 Aug 2011 12:12:46 -0400 Date: Tue, 23 Aug 2011 17:12:39 +0100 From: "Daniel P. Berrange" Message-ID: <20110823161239.GO5728@redhat.com> References: <1314032798-21423-1-git-send-email-smizrahi@redhat.com> <1314032798-21423-2-git-send-email-smizrahi@redhat.com> <4E52ADFC.5070506@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4E52ADFC.5070506@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/2] Added target to build libvdisk Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Saggi Mizrahi , qemu-devel@nongnu.org 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 :-( Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|