Select provider of libav* libraries

Bálint Réczey balint at
Sat Jun 6 00:01:35 UTC 2015

Hi Andreas,

2015-06-05 17:53 GMT+02:00 Andreas Cadhalpun <andreas.cadhalpun at>:
> Hi Bálint,
> On 05.06.2015 17:25, Bálint Réczey wrote:
>> 2015-06-05 0:28 GMT+02:00 Andreas Cadhalpun <andreas.cadhalpun at>:
>> ...
>>>> That's not only because of optimization, but also for licensing
>>>> issues: The lib*-extra-* packages are licensed with GPLv3+, which is
>>>> not acceptable for the majority of applications in debian.
>>>> Note that it does not matter whether or not there are GPLv3+
>>>> applications in the archive. These -extra- package do provide
>>>> additional functionality that users do appreciate. However, we cannot
>>>> provide that in the "standard" libav* packages because we do have
>>>> GPLv2-only applications that we must not link against a GPLv3
>>>> libavcodec.
>>> The current implementation of the extra flavor doesn't prevent using it
>>> with a GPLv2-only program and thus is effectively nearly as bad as just
>>> enabling the GPLv3 code in the standard build.
>>> Adding a mechanism to prevent this would make the extra flavor even
>>> more complex.
>> The aim is not preventing GPLv3 usage, but offering a choice for
>> reverse dependencies.
> The problem is that using a GPLv2-only program like hedgewars [1] with
> the GPLv3+ libavcodec-extra is not legally allowed, but currently
> possible, because hedgewars depends on:
>  libavcodec56 (>= 6:11~beta1) | libavcodec-extra-56 (>= 6:11.1)
> This has been discussed some month ago on the debian-multimedia list [2].
GPL imposes no restrictions on _using_ software, but on distributing
it without properly licensed source, i.e. distributing a binary
compiled from GPLv3 source without also providing the source under
GPLv3 is prohibited.
Compiling hedgewars without libavcodec-extra creates a GPLv2 binary
which is distributable.
The user can install libavcodec-extra which would also work with
hedgewars, but no one violated GPLv3 up to this point AFAIK.

>> GPLv2 only packages can build-depend on only the GPLv2 compatible -dev
>> packages, while packages compatible with GPLv3 can include FFmpeg's
>> GPLv3 -dev packages in the build dependencies as well.
> I don't think having different build-dependencies would help, because the
> API is the same for GPLv2+ and GPLv3+. The possible solutions discussed
> back then were around manually adding binary package dependencies.
>> I don't have the numbers on the GPLv2-only packages,
> There are a few, at least those mentioned in [3].
>> but if there are
>> important ones which can't be relicensed this may make a good reason
>> for providing separate GPLv2 and GPLv3 compatible libraries.
> The thing is that the only additional functionality of the GPLv3+ libavcodec
> is an AMR encoder. I think this is not enough to justify the hassle with
> the extra variant.
Since the hassle makes more work for active ffmpeg maintainers and
while I sponsored a few uploads I don't consider myself one I should
not make the call, but it would be really nice to provide the AMR
encoder as well in Debian and also keeping hedgewars in the archive.

Maybe there is a way of providing libavcodec-extra and having modern
packaging scripts. Maybe patching the build could help, but I have not
checked this idea.


> Best regards,
> Andreas
> 1:
> 2:
> 3:
> _______________________________________________
> pkg-multimedia-maintainers mailing list
> pkg-multimedia-maintainers at

More information about the pkg-multimedia-maintainers mailing list