Re: ansible-runner: guidance requested on possible Apache-2.0/GPL-3.0 incompatibility

Soren Stoutner <[email protected]> Sat, 14 Mar 2026 11:05:24 -0700
Newsgroups gmane.linux.debian.devel.legal
Organization Debian
Message-ID <3717875.NG923GbCHz@soren-desktop>
On Saturday, March 14, 2026 3:15:31 AM Mountain Standard Time Sakirnth 
Nagarasa wrote:
> Hello
> 
> While reviewing ansible-runner for the new version I noticed that the
> file src/ansible_runner/display_callback/callback/awx_display.py and the
> directory
> test/fixtures/projects/collection_role/collections/ansible_collections/
groovy
> are licensed under GPL-3.0-or-later, while the project is licensed with
> Apache-2.0.
> 
> These files were therefore removed from the source package. However this
> breaks the package and I forwarded the bug them to consider to
> re-license [1]. The upstream already consulted internally and responded
> that there is no licensing incompatibility problem [2].
> 
> Their argument is that the GPL file in question is not actually used by
> the project code. According to them this means the file is a "aggregate"
> under GPLv3, and that distributing it alongside Apache-2.0 code in the
> same repository is fine.
> 
> Would it be acceptable for Debian to ship these GPL-3.0-or-later files
> inside an otherwise Apache-2.0 project if they are not used by the main
> code? Can this be considered a aggregation when everything is
> distributed in the same source package and in binary package?
> 
> Any guidance would be appreciated.
> 
> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130233
> [2]
> https://github.com/ansible/ansible-runner/issues/
1217#issuecomment-1505601824

Based on the fact that removing these files causes all functionality to break, 
that would indicate that the file in question *is* used by the project code 
and is not an "aggregate work”.  “Aggregate work” are two separate projects 
that don’t interact with each other but are distributed on the same media.  An 
example would be a Debian installation disk that includes all of the Debian 
packages.  Just because one package is GPL-3+, that doesn’t prevent other 
packages from being Apache-2.0 because *they don’t depend or interact with 
each other*.

However, it is perfectly acceptable to combine Apache-2.0 code with GPL-3+ 
into one project.  When doing so, the license of the combined work is GPL-3+.

If it were me I would simply add a comment to the main “Files: *” stanza in 
debian/copyright stating that because the project incorporates GPL-3+ code, 
the package as a whole is distributed under the GPL-3+, making it explicit to 
users what they are getting.

I would also pass this information along to the upstream project.  They don’t 
need to relicense their code.  Other people are free to copy or modify the 
Apache-2.0 portion of their code under the Apache-2.0 if they like.  But the 
upstream project should probably be explicit about the fact that if users take 
advantage of the project as a whole as it is currently distributed, the 
effective license is GPL-3+.

-- 
Soren Stoutner
[email protected]
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEJKVN2yNUZnlcqOI+wufLJ66wtgMFAmm1o2QACgkQwufLJ66w
tgPyKA/9FB9fjWHTvfv5dnuJOwrGeBW0bmLpOsk4UEiGodbb0K5MiEEjSf4O++qJ
eFE/QYfiYLIhFG3iJShb0bBfTaYSqBt+gcSsQ2AZoKbQJVS8zmpX6ruNmMObmbwP
icXDVzitMKOIxjNSoMnpYtcdF7iLGS/sLQyvSGE8PTdvtnqvM15dFLlIjibv2sG4
gV8fdtvQh05onr7cLvgJnTGLEdDcqRecrSCTdYOgH6aW99W8x8MQKs4sFLx/7LwK
kUB7AQBGohyJLCDpQplrlsoMlb9CLeZDPhnXTi6kgQDrvJcwATWM1Ag73JFyM9NQ
mCKG4RbFR3cwtuwpfl4VBL5Da16L2LRDYFu0VgfEkqUv/l2ckkojEdNWkOWKKFkp
5U6HI/DqtLBPIELRwz+7u48xjvxS70rVW9Zz49FH/2UfYJZAY+GgRZGsGJbD9V0E
I0RzZfs+XT/cYQZEF7bwDJAX72FDApOO4zhiwFzsAtkpNHnHu5kf67nhJ8T4WStn
NDkJW2d3/+p8+ihBUI6gp5kEQJnpdvAlZbNh3Wt5wkYzgsu7XTg8/F0hxfPin09b
OK61j6xDtrL6aJAmGhpiwhE6liI7bmZVPNN5vBvhmlRHz6nU6N+Cp7n4kfRxJFDo
6R22l4WUocfkfXg7zpCNq/ZP2eYzTu8z+OnB7P5onzyelEUNYBA=
=f4/y
-----END PGP SIGNATURE-----