3 ms·
YAML playbooks can be under whatever licence you choose. They aren't /linked/ in to or in any way part of ansible. They are completely input to ansible. Sayi
by deckiedan 13y ago
YAML playbooks can be under whatever licence you choose.
They aren't /linked/ in to or in any way part of ansible.
They are completely input to ansible. Saying that playbooks would be 'infected' or something is absurd. It would be like saying if I use GNU tar to compress a file, that file is now GPL.
And, after all that, even if your playbooks were GPL, there is no reason at all that you'd have to release them. It's perfectly fine to have internal non-released mods to GPL software.
- benatkin 13y agoMost of the talk about linking is gone from the GPLv3. It's mentioned multiple times in the GPLv2 [1] but only once in the GPLv3 [2]. This to me means that it doesn't matter much whether it's a compiler or an interpreter. As for your tar example, the input to tar, to me, is pretty clearly data. The YAML from ansible, on the other hand, straddles the line between code and data. If I consider it to be code, though, in most cases it calls out to Ansible's GPLed modules. If it was Python doing this it would be pretty clear to me that it would fall under the GPL. I'm not sure I see the distinction between a sequence of function calls in Python and a sequence of tasks in YAML for ansible. When you flatly state that "YAML playbooks can be under whatever license you choose" you are doing something common in the GPL world, which is making a specific interpretation for the GPL for a specific project. This has been done with WordPress. The distinction between JavaScript, CSS, and PHP code has been made by the leaders of the WordPress project. It doesn't come directly from the GPL. I don't like this at all. I think if they want specific rules they should state them in the license, and not do some hand waving so it looks like they're just using a standard license. [1] http://www.gnu.org/licenses/lgpl-2.1.html http://www.gnu.org/licenses/lgpl-2.1.html [2] http://www.gnu.org/licenses/gpl.html http://www.gnu.org/licenses/gpl.html
- icebraining 13y agoEven if the YAML playbook does fall under the GPL, who cares? Are you planning on releasing them publicly under a proprietary license?
- belorn 13y agoWhen talking about copyright licenses, one can not avoid involving 1) How the law work, 2) What the law say, 3) How the law is interpreted. Everything else is speculation or FUD if done with bad intentions. The LGPL linking clause is based around the concept of a derivative work. If additional code is used to extend the original licensed work, GPL consider the new program to be based on it. Linking is thus considered to be a clear general example where such extension of the original work has happened. A WordPress module is simply considered an extension of WordPress. If, and at what point a compiler like Python is considered to be "extended" simple run-time interpretation of python code, is not something the license or the courts has ever made a decision on. Copyright owners, and project communities has speculated on the question, and others has spread FUD, but the question has never seriously been handled as a matter of law. While it might be useful if the court decided on it, I doubt it would be worth the judge's time. Nor do I think it would be worth the license drafter's (for GPLv3, the community's) time.
- deckiedan 13y agoGPL3 - .5: > 'A compilation of a covered work with other separate and independent works, > which are not by their nature extensions of the covered work, and which are > not combined with it such as to form a larger program, in or on a volume of > a storage or distribution medium, is called an “aggregate” if the > compilation and its resulting copyright are not used to limit the access or > legal rights of the compilation's users beyond what the individual works > permit. Inclusion of a covered work in an aggregate does not cause this > License to apply to the other parts of the aggregate.' Doesn't that cover it pretty much? You can distribute a GPL program, such as Ansible, and even bundle it with your playbooks, modules, etc, as those are explicitly NOT extensions of ansible, they are separate, you now have an "aggregate". And as long as you aren't modifying the original GPL program, then "Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate". So you could licence your modules and playbooks in whatever licence you want. To be honest though, you don't need to licence them at all, if they are just for internal company use. And if you're going to distribute them, it doens't matter what licence it is. Next, you aren't actually in 90% of circumstances, actually distributing ansible, or your playbooks. You're running it yourself (either you, or your company). That's actually one nice thing about it, you aren't installing extraneous software on the machines you're managing. GPL covers the distribution of software, and requires the source to also be distributed along side it. It does not cover the use of it. Wordpress, et al, are a slightly different situation. There, you actually are distributing and installing it on multiple computers. You're also distributing parts of it, in that quite a bit of it (javascript, templates, etc) are going to and from client machines, and even running bits of it on client computers. It's a bit more complicated.
- mpdehaan2 13y agoExactly. Content you write is your own. The part of common code that gets mixed into modules is also BSD, so modules you write are your own. For those that want a GUI and REST API on top, we've got a commercial product that allows you to use the API without any concern of GPL-things, or you could just shell out to Ansible-playbook too.
- benatkin 13y agoSo is the GPL plus comments like this one the license, or is the GPL the license? Does the text of the GPL not matter? What code that gets mixed into modules is BSD? This says it's GPL: https://github.com/ansible/ansible/blob/devel/library/packaging/apt https://github.com/ansible/ansible/blob/devel/library/packag...