[openstack-dev] [tc][ansible][ironic] Reusing Ansible code in OpenStack projects
pshchelokovskyy at mirantis.com
Thu May 19 12:28:03 UTC 2016
I have a question re FOSS licenses interplay. I am pretty sure that
OpenStack community (e.g. openstack-ansible) has already faced such
questions and I would really appreciate any advice.
We are developing a new ansible-based deployment driver for Ironic  and
would like to use some parts of ansible-lib Python API to avoid boilerplate
code in custom Ansible modules and callbacks we are writing, and in the
future probably use Ansible Python API to launch playbooks themselves.
The problem is Ansible and ansible-lib in particular are licensed under GPL
v3  "or later" . According to  Apache 2.0 license is only one way
compatible with GPL v3 (GPL v3-licensed code can include Apache
2.0-licensed code, but not vice versa).
I am by far not a legal expert, so my questions are:
Does it mean that the moment I do "from ansible import ..." in my Python
code, which AFAIU means I am "linking" to it, I am required to use a
GPLv3-compliant license for my code too (in particular not Apache 2.0)?
What problems might that imply in respect with including such code in an
OpenStack project (e.g. submitting it to Ironic repo) and distributing the
If there are indeed problems with that, would it be safer to keep the code
in a separate project and also distribute it separately?
Even when distributed separately, will merely using (dynamically importing
at run-time) a GPLv3-licensed driver from ApacheV2-licensed Ironic
constitute any license violation?
Note that technically we could avoid re-using Ansible code for Ansible
modules and callbacks, just that it would be much-much less convenient.
Dr. Pavlo Shchelokovskyy
Senior Software Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev