• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1All PulseAudio source files, except as noted below, are licensed under the GNU
2Lesser General Public License. (see file LGPL for details)
3
4However, the server side has optional GPL dependencies.  These include the
5libsamplerate and gdbm (core libraries), LIRC (lirc module) and FFTW (equalizer
6module), although others may also be included in the future.  If PulseAudio is
7compiled with these optional components, this effectively downgrades the
8license of the server part to GPL (see the file GPL for details), exercising
9section 3 of the LGPL.  In such circumstances, you should treat the client
10library (libpulse) of PulseAudio as being LGPL licensed and the server part
11(libpulsecore) as being GPL licensed.  Since the PulseAudio daemon, tests,
12various utilities/helpers and the modules link to libpulsecore and/or the afore
13mentioned optional GPL dependencies they are of course also GPL licensed also
14in this scenario.
15
16In addition to this, if D-Bus support is enabled, the PulseAudio client library
17(libpulse) MAY need to be licensed under the GPL, depending on the license
18adopted for libdbus. libdbus is licensed under either of the Academic Free
19License 2.1 or GPL 2.0 or above. Which of these applies is your choice, and the
20result affects the licensing of libpulse and thus, potentially, all programs
21that link to libpulse.
22
23Andre Adrian's echo cancellation implementation is licensed under a less
24restrictive license - see src/modules/echo-cancel/adrian-license.txt for
25details.
26
27Some other files pulled into PA source (i.e. reference implementations that are
28considered too small and stable to be considered as an external library) use the
29more permissive MIT license. These include the device reservation DBus protocol
30and realtime kit implementations.
31
32A more permissive BSD-style license is used for LFE filters, see
33src/pulsecore/filter/LICENSE.WEBKIT for details.
34
35Additionally, a more permissive Sun license is used for code that performs
36u-law, A-law and linear PCM conversions.
37
38While we attempt to provide a summary here, it is the ultimate responsibility of
39the packager to ensure the components they use in their build of PulseAudio
40meets their license requirements.
41