From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D7lCa-0005eD-LB for qemu-devel@nongnu.org; Sat, 05 Mar 2005 21:09:04 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D7lCV-0005aF-7N for qemu-devel@nongnu.org; Sat, 05 Mar 2005 21:09:04 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D7lCV-0005Yh-0n for qemu-devel@nongnu.org; Sat, 05 Mar 2005 21:08:59 -0500 Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1D7kwF-0006nU-E3 for qemu-devel@nongnu.org; Sat, 05 Mar 2005 20:52:11 -0500 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1D7kqt-0002s7-Vz for qemu-devel@nongnu.org; Sun, 06 Mar 2005 02:46:40 +0100 Received: from mailgate.antistream.com ([62.49.248.98]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Mar 2005 02:46:39 +0100 Received: from robert by mailgate.antistream.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 06 Mar 2005 02:46:39 +0100 From: Robert Wittams Date: Sun, 06 Mar 2005 01:51:41 +0000 Message-ID: References: <4228C0D9.8000601@win4lin.com> <200503051413.36906.os2@videotron.ca> <422A325B.1090301@win4lin.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit In-Reply-To: <422A325B.1090301@win4lin.com> Sender: news Subject: [Qemu-devel] Re: Sponsorship for QEMU Developers... Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Leonardo E. Reiter wrote: > Marc, > > here is an easy link to use: > > ftp://ftp.win4lin.com/pub/oss/ > > oss stands for Open Source Software of course. > > the qemu tarball is a CVS head snapshot from the 2/20/05; mergepro.patch > gets applied to it to add our 3rd party stuff. Basically what we do is > enable loading a dynamic shared object as a "plugin", and export symbols > back and forth as needed by supplying pointers to them both in vl.c and > in our plugin. We do not use any additional header files or anything > like that in our closed source bits, since that would of course violate > the GPL. We mainly did this so that we could "replace" the > initialization of certain built-in peripherals in QEMU with our own > proprietary versions that live in the plugin. To date, we replace the > GUI ("display") and the IDE driver with our own home-grown versions. You > will notice that all QEMU structures are passed in as void pointers back > and forth, since we don't use any of the QEMU header files which define > them. We instead get and set only the members we are interested in by > address in our plugin. > > Note that this is fairly temporary. We are working on making all of > QEMU a shared library object itself, and adding accessors (get/set) for > each QEMU structure type that are exported from the shared library. This > would encapsulate the GPL'd code in a much cleaner way, and would let us > avoid having to calculate addresses of members in our closed-source code > when getting or setting data from structures. > > Let me know if you have any additional questions. > > Best regards, > > Leo Reiter Erm... does this sound exactly like linking to anyone else? You can't honestly think that manually passing pointers around is going to be an end run around the GPL? Leo, where did you get the idea that not using header files means that the combined system is not a derivative work? If the combined system is distributed with the GPLed work included, and relies on it to function, I see no way it can escape being considered a derived work and therefore GPL covered or undistributable. Re your future plans: A client of a GPLed library is considered a derivative work. That is Trolltechs entire business model, for chrissakes. Please read the GPL Faq at least. ----------------------- http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL ----------------------- If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL? Yes, because the program as it is actually run includes the library. ----------------------- If you have received Qemu under another licence (eg GPL + exceptions), please let the list know about it. If not, you need to try to get it under another licence. If that fails, you need to find a way to run your proprietary code in a separate process - ie not linked to existing GPLed code. I'm not a copyright holder on any portion of Qemu.... but this still concerns me.