[libvirt] [PATCH 1/2] (Updated & fixed) OpenNebula driver, libvirt-0.6.2

Daniel P. Berrange berrange at redhat.com
Tue May 26 10:15:15 UTC 2009

On Mon, May 25, 2009 at 02:08:53PM +0200, Daniel Veillard wrote:
> On Wed, May 20, 2009 at 04:07:12PM +0200, "Abel Míguez Rodríguez" wrote:
> > 
> > > On Wed, May 20, 2009 at 11:32:18AM +0100, Daniel P. Berrange wrote:
> [...]
> > > > > Here is the One driver & patches for the current git's 
> [...]
> > > > My inclination at this point is to merge the driver and then 
> > > we can do 
> > > > incremental patches to fix further problems as they arise.
> > > 
> > >   Agreed, unless Abel has a newer version to submit, I'm 
> > > inclined to
> > > push it before the end of the week,
> > > 
> > 
> > Hi,
> > This version is right to submit. 
> > I agree, after merged, any further modification needed will be solved by patches.
> > Related with Daniel's question, we will submit a patch to populate the running VM list at libvirt's startup.
>   Okay, I have commited the current set. There is however a few things
> to look at relatively quickly in my opinion:
>   - we don't build the driver by default, this is a bit against the rule
>     we should fix this
>   - but the build depends on the ONE development environment to be
>     present, for example OneClient.h header
>   - another thing to note is that OpenNebula seems to be released under
>     the Apache-2.0 Licence, which is not a problem for tyhe LGPL, but
>     may become a problem within qemud if we link it against a GPL (v2?)
>     library coming from another driver.

This is a bit of a pain. Apache 2 is not compatible with GPL v2, only
with GPL v3. Although the libvirtd source is LGPL, the resulting combined
work is GPLv2 due to the set of libraries we link against, in particular 
DBus. Also a number of applications using libvirt are GPL licensed such 
as virt-manager. Fortunately I think they're all v2+, not v2-only.

The GPL v3 addresses the Apache 2 compatability problem. So if we
include the OpenNebula driver the only way we can remain compliant
is to say that libvirt is now  LGPL v3+ licensed, and explicitly 
exclude any usage in GPLv2-only/LGPLv2-only applications. GPLv2+/
LGPLv2+ are of course OK, since they "upgrade" to GPLv3/LGPLv3.

> For the Licencing problem, it's a bit tricky, is OpenNebula released
> only as Apache-2.0 ? If yes, then maybe at configure time a check should
> also been made to avoid drivers under GPL and OpenNebula to be built
> together. It's a bit of a pain, and hopefully I get this wrong, but I'm
> afraid otherwise we would be in Licence violation of the GPL2 drivers
> (if any are configured in, I  think we have one but I can't remember
> which one right now).

Having the effective licensing of libvirt change according to compile
options is a total disaster :-( We need to have clearly defined licensing
no matter what compile options are used.  So if we want to distribute the
OpenNebula driver as is, IMHO we need to change libvirt to explicitly be 
LGPLv3+ licensed. Otherwise we should remove this driver code, until we 
can get a LGPLv2 compatible licensed driver.

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list