Thanks Dmitry and Jeremy for your quick response. Also thanks Jeremy for replying in Launchpad as well. My answers inline. On Sat, Mar 13, 2021 at 12:07 PM Dmitry Tantsur <dtantsur@redhat.com> wrote:
Not only the projects that have "Ansible" in name might be affected, e.g. Ironic also imports Ansible parts.
Only in our ansible modules and only the BSD parts, namely https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/basic...
Yes, that's something I have missed. The main README suggests everything is GPL in there so I was confused. Perhaps this is what also confused the OP from Launchpad. On Sat, Mar 13, 2021 at 2:07 PM Jeremy Stanley <fungi@yuggoth.org> wrote:
On 2021-03-13 10:28:37 +0100 (+0100), Radosław Piliszek wrote: [...]
And a related (and very relevant) project using Ansible - Zuul - includes a note about partial GPL [3]. A quick search [4] reveals a lot of places that could be violating GPL in OpenStack (e.g. in Ironic, base CI jobs) if we followed this linking logic. [...]
The reason parts of Zuul are GPL is that they actually include forks of some components of Ansible itself (for example, to be able to thoroughly redirect command outputs to a console stream). Zuul isolates the execution of those parts of its source in order to avoid causing the entire service to be GPL.
That's good to know and good that Zuul does it this way. Zuul was given as *the good* example. (if it was not clear from my message)
Are you suggesting that files shipped in Ironic's deliverable repos directly import (in a Python sense) these GPL files? Nothing in the https://opendev.org/zuul/zuul-jobs repository is GPL. I've never seen any credible argument that merely executing a GPL program makes the calling program a derivative work. Also, if the Zuul jobs in project repositories really were GPL, that should still be fine according to our governance:
I'm not suggesting anything. Dmitry gave a good example that parts of Ansible are actually BSD-licensed (even though it's only obvious after inspecting each file) so it has to be analysed file-per-file then. Also, a purist may say that Ansible still "curses" such usage by GPL because, when you import in Python, you are actually executing the __init__s in the context of your software and those are licensed under GPL, especially the root one.
Anyway, we have a separate mailing list for such topics:
http://lists.openstack.org/cgi-bin/mailman/listinfo/legal-discuss
I have missed it. Should we post there? It looks pretty abandoned (perhaps for a good reason ;-) ).
Let's please not jump to conclusions when it comes to software licenses. It's not as cut and dried as you might expect.
I know, and thus expect, it to be a complex topic and that's the role of the word "possible" in the very subject. I am seeking advice. Also, for clarity, I am just propagating the original report with my extra findings. I was not aware that there could be any issue whatsoever with the licenses we have. -yoctozepto