]> code.delx.au - pulseaudio/blob - LICENSE
doc: Update LICENSE to reflect optional libpulse dep on libdbus
[pulseaudio] / LICENSE
1 All PulseAudio source files are licensed under the GNU Lesser General Public
2 License. (see file LGPL for details)
3
4 However, the server side has optional GPL dependencies. These include the
5 libsamplerate and gdbm (core libraries), LIRC (lirc module), FFTW (equalizer
6 module) and bluez (bluetooth proximity helper program) libraries, although
7 others may also be included in the future. If PulseAudio is compiled with these
8 optional components, this effectively downgrades the license of the server part
9 to GPL (see the file GPL for details), exercising section 3 of the LGPL. In
10 such circumstances, you should treat the client library (libpulse) of PulseAudio
11 as being LGPL licensed and the server part (libpulsecore) as being GPL licensed.
12 Since the PulseAudio daemon, tests, various utilities/helpers and the modules
13 link to libpulsecore and/or the afore mentioned optional GPL dependencies they
14 are of course also GPL licensed also in this scenario.
15
16 In 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
18 adopted for libdbus. libdbus is licensed under either of the Academic Free
19 License 2.1 or GPL 2.0 or above. Which of these applies is your choice, and the
20 result affects the licensing of libpulse and thus, potentially, all programs
21 that link to libpulse.
22
23 Andre Adrian's echo cancellation implementation is licensed under a less
24 restrictive license - see src/modules/echo-cancel/adrian-license.txt for
25 details.
26
27 Some other files pulled into PA source (i.e. reference implementations that are
28 considered too small and stable to be considered as an external library) use the
29 more permissive MIT license. This include the device reservation DBus protocol
30 and realtime kit implementations.
31
32 Additionally, a more permissive Sun license is used for code that performs
33 u-law, A-law and linear PCM conversions.
34
35 While we attempt to provide a summary here, it is the ultimate responsibility of
36 the packager to ensure the components they use in their build of PulseAudio
37 meets their license requirements.