[pulseaudio-discuss] License problem: LDAC codec & pulseaudio

Arun Raghavan arun at arunraghavan.net
Mon Nov 11 01:47:34 UTC 2019


On Fri, 19 Apr 2019, at 3:34 PM, Tanu Kaskinen wrote:
> On Fri, 2019-04-19 at 00:17 +0200, Pali Rohár wrote:
> > On Saturday 23 February 2019 17:59:57 Tanu Kaskinen wrote:
> > > On Sat, 2019-02-23 at 16:06 +0100, Pali Rohár wrote:
> > > > Hello,
> > > > 
> > > > I would like to discuss about licence problems with usage of LDAC
> > > > encoder libldac in pulseaudio. LDAC is a codec used by some Sony
> > > > bluetooth headsets and it would be nice to have support for it after my
> > > > patch series for Modular API for A2DP codecs is merged.
> > > > 
> > > > There is only one released LDAC encoder. It is libldac which can be
> > > > found at: https://android.googlesource.com/platform/external/libldac/
> > > > It is licensed under Apache License Version 2.0.
> > > > 
> > > > If I understood correctly pulseaudio is licensed under LGPL v2.1 or
> > > > later with some exceptions when some optional GPL dependences are
> > > > enabled then server part is licensed under GPL v2 or later. So it can be
> > > > distributed under GPL v3, right? Please correct me if I'm wrong.
> > > > 
> > > > According to FSF https://www.gnu.org/licenses/license-list.html#apache2
> > > > Apache License Version 2.0 is compatible with GPL v3, but is
> > > > incompatible with GPL v2.
> > > > 
> > > > So, would it be feasible to write LDAC specific code for pulseaudio
> > > > under GPL v3 license (in separate files) and make compile time option to
> > > > enable/disable GPL v3 LDAC support? When enabled it would mean that
> > > > compiled binary of puleaudio server and server modules are forced to be
> > > > distributed under GPL v3 and thanks to compatibility with Apache License
> > > > Version 2.0, it would be possible to use libdac library. When disabled
> > > > then it would be like before (without LDAC and with license like
> > > > before). Am I correct?
> > > 
> > > Yes, I believe you're correct, and at least I am fine with adding LDAC
> > > support via libldac.
> > 
> > I asked people in SUSE and I got answer that it should be ok if there is
> > no GPLv2-only code. So has pulseaudio some GPLv2-only code or is all code
> > compatible with GPLv3 (i.e. GPLv2-or-later)?
> 
> PulseAudio doesn't have any GPL code, but it has optional GPL
> dependencies, all of which seem to be either GPLv2-or-later or GPLv3-
> or-later (gdbm is the one that is nowadays licensed under GPLv3). The
> LICENSE file could be more clear on these details...
> 
> You suggested writing LDAC specific code under GPLv3, but since
> LGPLv2.1-or-later is convertible to GPLv3, I think the LDAC code should
> be under LGPLv2.1-or-later like the rest of the code base.

Just saw this, sorry. This is why I intend to move all our codec-specific bits of BlueZ to use GStreamer and have as little codec-specific code in PulseAudio as possible. These choices should be at a system-integration level (i.e. selecting what plugins are available).

-- Arun


More information about the pulseaudio-discuss mailing list