[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: Sponsorship for QEMU Developers...

From: Robert Wittams
Subject: [Qemu-devel] Re: Sponsorship for QEMU Developers...
Date: Sun, 06 Mar 2005 01:51:41 +0000
User-agent: Mozilla Thunderbird 1.0 (X11/20050111)

Leonardo E. Reiter wrote:

here is an easy link to use:


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.

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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]