Currently CloudStack has dependencies on third party software that are under 
'excluded license' [1] or does not fall under category A/B licenses. While 
effort in underway [2] to remove the dependencies, I want to bring to the 
discussion on what is the best approach for CloudStack to remove the 
dependencies. As a orchestration software CloudStack deals/designed to deal 
with diverse set of Hypervisors, networking devices and file systems etc. While 
the core orchestration software can be made not to depend on the third party 
software which are not under ASF license, support for hypervisor etc might 
require dependency on thirty party software that are not under ASF friendly 
license. For e.g. in order to  manage Vmware and Kvm hypervisors CloudStack is 
using Vmware and libvirt libraries. While support software for the Vmware/Kvm 
can treated as optional components of CloudStack, critical value comes from 
these optional components. Given this, following seems to some obvious options.

 *   Keep CloudStack code that integrates with third party libraries in the 
repo. But exclude it from the default build targets. Expect the 
users/developers to download the compile dependencies and modify the build 
settings to include the code. But this will take out the critical support for 
Vmware etc in the default build.
 *   Have the compile tasks pull the dependent components from non-asf repo's. 
Apache Cassandra, Hadoop projects seems to have maven/ivy tasks to pull the 
compile dependencies on build from remote maven repos. Can third-party software 
that are not under ASF license can be hosted on remote repo?

Perhaps mentors or any one who has knowledge of how other apache projects deal 
with such dependencies can share the knowledge.

[1]http://www.apache.org/legal/3party.htm<http://www.apache.org/legal/3party.html#category-x>l
[2]http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/201206.mbox/%3c35f04d4c394874409d9be4bf45ac5ea9fed4f25...@banpmailbox01.citrite.net%3E

Reply via email to