On Mon, May 25, 2009 at 06:01:06PM +0200, Ruben S. Montero wrote:
Hi Daniel,
First, thank you very much for improving the OpenNebula driver with
your comments. I am totally agree with you suggestion about the
configure.in, it should be a quick fix.
Regarding the licenses, I do not really see the problem. I mean, you
can link with GPL and Apache as libvirt is using LGPL. But the
OpenNebula driver is not using any GPL libraries; I mean, you have to
be license compatible with all the libraries you are using, but do all
those libraries need to be also license compatible among them?. I am
not an expert in license issues so you are probably right.
Yes, they do need to all be license compatible. The way in which the
LGPL is is compatible with GPL, is because it allows the work to be
relicensed from LGPL to GPL
" 3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. "
So if libvirt links to Apache licensed code, it would no longer be
possible to remain in compliance with this part of the LGPL license.
*Unless*, we decide to stop supporting GPL/LGPLv2-only apops, and
use LGPLv3+ instead, since v3 is explicitly compatible with Apache 2
So, if finally there is some kind of incompatibility with OpenNebula
using Apache2, we have a couple of options:
1- use the conditional compilation. I do not like this one either
This does not solve the license problem, just makes it worse because
now effective license compatability changes according to compile
options :-(
2- Change the license of the OpenNebula client API to LPGL (just the
library files)
3- License the OpenNebula client API with LGPL for the libvirt project
4- Include a GPL linking exception in those libraries/drivers using GPL
5. Dual-license the client under Apache 2 and LGPL so apps can choose
6. talk XML RPC directly to the server and not use the client APIs
Daniel.
--
|: 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 :|