On Tue, May 26, 2009 at 11:23:27AM +0100, Daniel P. Berrange wrote:
On Mon, May 25, 2009 at 06:01:06PM +0200, Ruben S. Montero wrote:
> 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
After looking at the scope of the APIs, I'm inclined to say we should
take option 6. The current impl
- libvirt one driver -> one C client
- one C client is a wrapper around one C++ client
- one C++ client talks to XMLRPC-C C++ library
- XMLRPC-C C++ library is a wrapper around XMLRPC-C library
So, not only do we currently have a license problem, but we're pulling in the
whole C++ runtime for no particularly good reason or benefit. The APIs being
invoked from the libvirt ONE driver are pretty simple - even the C++ client
library is a merely couple of 100 lines of code. So I think its pretty easy
to just have the libvirt one driver use xmlrpc C library directly.
Regards,
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 :|