<p dir="ltr">So as Clint mentioned, strategy plugins probably will be tainted by GPL. One of alternatives would be to create separate project for this single plugin, but I'd rather avoid that. </p>
<p dir="ltr">Any other alternatives comes to mind?</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Nov 4, 2016 5:18 PM, "Fox, Kevin M" <<a href="mailto:Kevin.Fox@pnnl.gov">Kevin.Fox@pnnl.gov</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Must be gplv3 compatible. not necessarily gpl. apache license is compatible.<br>
<br>
Thanks,<br>
Kevin<br>
______________________________<wbr>__________<br>
From: Clint Byrum [<a href="mailto:clint@fewbar.com">clint@fewbar.com</a>]<br>
Sent: Friday, November 04, 2016 4:38 PM<br>
To: openstack-dev<br>
Subject: Re: [openstack-dev] [tc][kolla] Ansible module with GPLv3<br>
<br>
Excerpts from Jeremy Stanley's message of 2016-11-04 23:05:54 +0000:<br>
> On 2016-11-04 22:50:10 +0000 (+0000), Jeremy Stanley wrote:<br>
> [...]<br>
> > As I understand it, the challenge here is that plugins for Ansible<br>
> > will by definition be derivative works of Ansible and thus inherit<br>
> > their license choice. No amount of "clean room reimplementation"<br>
> > will solve that unless you also reimplement Ansible under a<br>
> > different license while you're at it.<br>
> [...]<br>
><br>
> Further research suggests I'm wrong on this front. I was assuming<br>
> Ansible was providing a Python plug-in API here, in which case<br>
> coding to that would potentially create a derivative work. Instead<br>
> it looks like for at least some things they refer to as plug-ins<br>
> they pass around a JSON data structure which upstream Ansible has<br>
> said in the past they do not consider to result in plug-ins becoming<br>
> derivative works of Ansible. For example:<br>
><br>
> <a href="https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/basic.py" rel="noreferrer" target="_blank">https://github.com/ansible/<wbr>ansible/blob/devel/lib/<wbr>ansible/module_utils/basic.py</a><br>
<br>
Modules are not plugins.<br>
<br>
> <a href="https://groups.google.com/forum/#!topic/ansible-project/GLwe3vbwTQk" rel="noreferrer" target="_blank">https://groups.google.com/<wbr>forum/#!topic/ansible-project/<wbr>GLwe3vbwTQk</a><br>
<br>
Same here.<br>
<br>
> <a href="https://github.com/ansible/ansible/issues/8864" rel="noreferrer" target="_blank">https://github.com/ansible/<wbr>ansible/issues/8864</a><br>
<br>
This only refers to dynamic inventory, which is hardly even a plugin<br>
interface.<br>
<br>
Strategy plugins run in ansible itself and must import pieces of Ansible,<br>
and thus must be GPLv3:<br>
<br>
<a href="https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/strategy" rel="noreferrer" target="_blank">https://github.com/ansible/<wbr>ansible/tree/devel/lib/<wbr>ansible/plugins/strategy</a><br>
<br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
</blockquote></div></div>