On Thu, May 19, 2016 at 03:58:11PM +0300, Pavlo Shchelokovskyy wrote:
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.
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).
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 project? 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?
Without addressing the actual substance of your legal questions, are they addressed for purposes of OpenStack policy by https://wiki.openstack.org/wiki/LegalIssuesFAQ#Licensing_of_library_dependen... and http://governance.openstack.org/reference/licensing.html ? Richard