-
Notifications
You must be signed in to change notification settings - Fork 49
Make it clear that code outside plugins/ can have other free software licenses as well #212
Conversation
I agree with the premise of this change. Thank you for proposing it, @felixfontein! I think |
I implemented that in 3c36d09. |
What is the process for getting this approved? Can the SC just vote on it or does it have to go through legal? |
I think a SC vote suffices, since this doesn't really change much. (Assuming nobody from SC disagrees and asks for a review by RH legal... I really don't think that will happen though.) |
Besides that one other change, this looks good to me. |
Since unit tests import modules, plugins or ansible-core code, it's probably worth clarifying that. [repeating since my original statement was attached to a now hidden comment] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Any more comments? Or should we start voting on the current state? |
There is now an active vote on this topic: ansible-community/community-topics#142 |
… licenses as well.
Co-authored-by: Maxwell G <[email protected]>
Co-authored-by: Maxwell G <[email protected]>
Co-authored-by: Sandra McCann <[email protected]>
626b67e
to
2f862dd
Compare
(I rebased after #216 was merged, no content changes.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@felixfontein thanks for the clarifications!
I have 2 questions:
- Do i understand correctly that if a collection is fully licensed with a GPL compatible license and contains, say,
plugins/actions/..
or anything else besidesmodules
andmodule_utils
in theplugins
directory, the maintainers must re-license it with GPLv3+, otherwise we can't include/have such a collection included? - Should we use uppercase modal verbs as we do in other paragraphs?
Thanks
Yes. But that's not related to including the collection into Ansible, it's a result of the GPL already. Action plugins (and other plugin types, except a few of them) import code from ansible-core, and thus these plugins must be licensed under GPLv3 as well. |
Hmmm, I'm not sure whether this is a good idea to change since the vote already started. |
It doesn't change the meaning, just makes it a bit more recognizable (anyway it's not an obstacle to merge it as-is and we can do it later in another PR). Let's continue without changing it here |
This PR has been approved, see ansible-community/community-topics#123 (comment). |
Thanks everyone! :) |
SUMMARY
Right now, the rules state that "[a]ll other code must be under the GPL-3.0-or-later". From the explanation it is clear that this sentence is about all other code in plugins/, but it is not formulated that way.
The current formulation implies for example that all unit tests, helper scripts, or code files included in roles, playbooks, or integration tests must be licensed under GPLv3+. Especially for unit tests this can be problematic; for example community.docker now vendors some code from Docker SDK for Python (Apache 2.0 licensed) including unit tests for that code. The unit tests are also licensed under Apache 2.0, but this would violate a strict interpretation of the inclusion requirements.
This PR proposes an improved formulation that makes it clear that other code outside
plugins/
can also use other licenses.(Ref: ansible-collections/community.docker#433 (comment))
ISSUE TYPE
COMPONENT NAME
inclusion requirements