From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51650) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Up2NT-00068q-0y for qemu-devel@nongnu.org; Tue, 18 Jun 2013 16:19:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Up2NR-0008Eg-TS for qemu-devel@nongnu.org; Tue, 18 Jun 2013 16:19:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Up2NR-0008EW-KY for qemu-devel@nongnu.org; Tue, 18 Jun 2013 16:19:41 -0400 Date: Tue, 18 Jun 2013 15:19:34 -0500 From: "Daniel P. Berrange" Message-ID: <20130618201934.GK31207@redhat.com> References: <51C04671.8090305@msgid.tls.msk.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Paolo Bonzini , Michael Tokarev , qemu-devel On Tue, Jun 18, 2013 at 07:42:11AM -0500, Anthony Liguori wrote: > Hi, > > On Tue, Jun 18, 2013 at 6:37 AM, Michael Tokarev wrote: > > Hello. > > > > I looked at what's needed to support DSO (dynamic shared objects) > > in qemu, in order to be able to split functionality into loadable > > "plugins". It isn't exactly difficult, but a few steps are needed > > still. > > As it turns out, this is an area of interest of mine too. I put up a > quick page describing some ideas a few weeks ago. > > http://wiki.qemu.org/Features/Modules > > > The whole thing is about splitting the functionality into plugins > > from one, single, qemu build, for now, not about allowing 3rd-party > > plugins to be distributed outside of qemu. > > Ack. Really critical and important distinction. Agreed, if we introduce a module system to QEMU we should clearly and explicitly document that closed source out of tree modules are considered to be forbidden & a license violation. We should also make use of any technical measures available to make out of tree modules impratical to use. For example, use ELF symbol versioning and make the version tags change on every single minor release so you can't easily provide pre-compiled 3rd party modules. Obviously don't install header files anywhere in /usr/include, etc 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 :|