<div dir="ltr">Hi all,<div><br></div><div>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.</div><div><br></div><div>We are developing a new ansible-based deployment driver for Ironic [0] 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.</div><div><br></div><div>The problem is Ansible and ansible-lib in particular are licensed under GPL v3 [1] "or later" [2]. According to [3] 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).</div><div><br></div><div>I am by far not a legal expert, so my questions are:</div><div><br></div><div>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)?</div><div>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 project?</div><div>If there are indeed problems with that, would it be safer to keep the code in a separate project and also distribute it separately?</div><div>Even when distributed separately, will merely using (dynamically importing at run-time) a GPLv3-licensed driver from ApacheV2-licensed Ironic constitute any license violation?</div><div><br></div><div>Note that technically we could avoid re-using Ansible code for Ansible modules and callbacks, just that it would be much-much less convenient.</div><div><br></div><div>[0] <a href="https://review.openstack.org/#/q/topic:bug/1526308" target="_blank">https://review.openstack.org/#/q/topic:bug/1526308</a><br></div><div>[1] <a href="https://github.com/ansible/ansible/blob/devel/COPYING" target="_blank">https://github.com/ansible/ansible/blob/devel/COPYING</a></div><div>[2] <a href="https://github.com/ansible/ansible/blob/devel/lib/ansible/__init__.py#L8" target="_blank">https://github.com/ansible/ansible/blob/devel/lib/ansible/__init__.py#L8</a></div><div>[3] <a href="http://www.apache.org/licenses/GPL-compatibility.html" target="_blank">http://www.apache.org/licenses/GPL-compatibility.html</a></div><div><br></div><div>Best regards,</div><div><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr">Dr. Pavlo Shchelokovskyy<div>Senior Software Engineer</div><div>Mirantis Inc</div><div><a href="http://www.mirantis.com" target="_blank">www.mirantis.com</a></div></div></div></div></div></div>
</div></div>