Ansible Licensing

Hello Guys,
I am planning to develop a custom wrapper language and would like to use ansible inside my language. Once the product is ready, will I be able to sell it to other customers for free or for some charges?

Thank You!

I'm neither a lawyer nor an Ansible maintainer, but Ansible is licensed under GPLv3, so if you're creating a derivative work, you'll have to release the source under the same license. I don't think there's a firm legal definition of what constitutes a "derivative work", but if you're importing Ansible's Python code and using it from another Python program, then you'll have to release it under the GPL.

If you're writing something that just _calls_ Ansible, e.g. to run a playbook, you might not have to open-source it.

pacem in terris / мир / शान्ति / ‎‫سَلاَم‬ / 平和
Kevin R. Bullock

Thank you Kevin for a quick response. So If I generate a GPLv3 license inside my product folder (license.txt) and release it on github …etc will be ok?

Hi

Hello Guys,
I am planning to develop a custom wrapper language and would like to use ansible inside my language. Once the product is ready, will I be able to sell it to other customers for free or for some charges?

First: A disclaimer: I am neither an ansible developer nor a legal professional

Most of ansible is under GPL v3 or later (minor bits are under BSD-type, but let’s ignore those for now…), so you’ll have to follow the GPL License v3

The first place to visit should probably be here: https://www.gnu.org/licenses/gpl-3.0.en.html - it is pretty comprehensive. The FAQ is worth browsing too: https://www.gnu.org/licenses/gpl-faq.html

My own reading of it:

  • You can modify ansible to your heart’s content. The license implications only kick in if you attempt to distribute (=convey) the result. Your private modifications are private.
  • it doesn’t matter whether you charge for it or not. The GPL license allows you to charge whatever you like. The people buying the software from you will have the same rights though, so you cannot stop them from making further copies and selling them (or distributing them further for free). See https://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
  • Whether the GPL v3 license applies to your wrapper language depends on whether it is based on ansible - the looser the connection, the less GPLv3 applies:
  • If your wrapper language is a derivative of ansible, GPLv3 will definitely apply.
  • If your wrapper language is distributed separately (and thus the recipient has to install ansible separately), then GPLv3 is probably not relevant (but the license for your wrapper language obviously applies). The recipient still has to obey GPLv3 for ansible.
  • If you distribute your wrapper language with ansible (and make clear that the different parts have difference licenses), then it is probably considered an aggregate, which would be OK - https://www.gnu.org/licenses/gpl-faq.html#MereAggregation- If you make a subclass of an ansible-provided class, the subclass is considered a derivative work, and is thus covered by GPLv3 (similar to https://www.gnu.org/licenses/gpl-faq.html#OOPLang )

So it boils down to whether your wrapper language would be a derivative of ansible or not.

How closely will the wrapper language be tied to ansible? By the sound of it, pretty tight! So the result will probably have to be GPLv3 too: https://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins

Hope this helps (more than it confuses…)

-- 

Karl E. Jorgensen karl@jorgensen.org.uk

Thank you Karl for your detailed explanation. I think your description answers all my questions. Thank you!!!