
Disclaimer:  The GStreamer team makes a real effort to make sure that
the information in this file is as up-to-date and accurate as possible.
However, this file may contain errors and omissions.  Some dependant
libraries change their licensing from version-to-version and some of 
the libraries listed here as LGPL were under the GPL license in
older releases.  Distributions which include GStreamer are responsible
for ensuring that plugins are used in accordance with licensing terms
and other laws.

GStreamer is developed under the terms of the LGPL (see LICENSE file for details).
Some of our plugins however rely on libraries which are available under other
licenses. This means that if you are using an application which has a non-GPL
compatible license, for instance a closed-source application with GStreamer
you have to make sure not to use GPL linked or derived plugins.  When using
GPL linked plugins GStreamer is for all practical reasons under the GPL itself. 

The plugins which use a GPL library are as follows:

a52dec           liba52           (http://liba52.sourceforge.net/)
aasink           aalib            (http://sourceforge.net/projects/aa-project/)
cdparanoia       libcdparanoia    (http://www.xiph.org/paranoia/)
dtsdec           libdts           (http://www.videolan.org/dtsdec.html)
dvdnavsrc        libdvdnav        (http://dvd.sourceforge.net/)
dxr3                              (http://dxr3.sourceforge.net/)
mad              libmad           (http://www.mars.org/home/rob/proj/mpeg/)
mpeg2dec         libmpeg2         (http://libmpeg2.sourceforge.net/)
mpeg2enc         libmpeg2enc      (http://mjpeg.sourceforge.net/)
mplex            libmplex         (http://mjpeg.sourceforge.net/)
siddec           libsidplay 1.36  (http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/,
                                   http://sourceforge.net/projects/sidplay2/)
trm              libmusicbrainz   (http://www.musicbrainz.org/)
xine             libxine          (http://xinehq.de/)
xvid             libxvidcore      (http://www.xvid.org/)

Plugins derived from GPL code are as follows:

dvdreadsrc       libdvdread       (http://www.dtek.chalmers.se/groups/dvd/)
monoscope        None             (Algorithm by Ralph Loader, Joerg Walter,
                                   Richard Boulton, and Andy Lo A Foe)
rtjpeg           None             (Erik Walthinsen's algorithm)
rtp              None             (http://www.linphone.org/ortp/)
synaesthesia                      (http://www.logarithmic.net/pfh/synaesthesia)
system_encode    None             (Algorithm by Chrisoph Moar, Wim Tayman's and
                                   Erik Walthinsen)
vbidec           None             (Algorithm by Billy Biggs, Doug Bell, 
                                   Erik Walthinsen and David I. Lehn)

Plugins which use a LGPL library are as follows:

alsa             alsa             (http://alsa-project.org/)
cacasink         libcaca          (http://sam.zoy.org/projects/libcaca/)
dvdec            libdv            (http://libdv.sourceforge.net/)
esdmon,esdsink   libesd           (ftp.gnome.org/pub/GNOME/stable/sources/esound/)
faac             libfaac          (http://www.audiocoding.com/modules/mydownloads/)
fameenc          libfame          (http://fame.sourceforge.net/)
ffmpeg           ffmpeg           (http://ffmpeg.sourceforge.net/)
gdkpixbuf        GTK+             (http://www.gtk.org/)
gnomevfs         gnome-vfs        (ftp.gnome.org//pub/GNOME/stable/sources/gnome-vfs/)
gst1394          libraw1394       (http://www.linux1394.org/)
gstaf            libaudiofile     (http://www.68k.org/~michael/audiofile/)
gstsf            libsndfile       (http://www.mega-nerd.com/libsndfile/)
kio              KDE              (http://www.kde.org/)
ladspa                            (http://www.ladspa.org/)
lame             libmp3lame       (http://lame.sourceforge.net/)
libvisual        libvisual        (http://libvisual.sourceforge.net/)
matroska                          (http://www.matroska.org/)
mikmod           libmikmod        (http://mikmod.raphnet.net/)
ossaudio                          (http://www.opensound.com/)
qcamsrc
rfbenc           librfb
sdlvideosink     libsdl           (http://www.libsdl.org/)
smoothwave      
swfdec                            (http://swfdec.sourceforge.net/)
tarkin                            (http://svn.xiph.org/trunk/tarkin/)
textoverlay      pango            (http://www.pango.org/)
dirac                             (http://www.bbc.co.uk/rd/projects/dirac/)
effectv (Our ports was relicensed)(http://effectv.sourceforge.net/)
musepack 			  (http://www.musepack.net/)
kate             libtiger         (http://libtiger.googlecode.com/)
                                   Optional, only for the tiger element

Plugins which use a BSD covered library are as follows:

ogg              libogg/libvorbis (http://www.xiph.org/ogg/vorbis/)
vorbis           libogg/libvorbis (http://www.xiph.org/ogg/vorbis/)
gsttheora        libtheora        (http://www.theora.org/)
speex                             (http://www.speex.org/)
flac             libFLAC          (http://flac.sourceforge.net/)
kate             libkate          (http://libkate.googlecode.com/)

Plugins based on libraries with other free licenses:

ximagesink       libXv
xvimagesink      libXv            
 - license:      MIT X11 / X Consortium license

gsm              libgsm           
 - license       MIT license http://kbs.cs.tu-berlin.de/~jutta/toast.html

festival                          (http://www.cstr.ed.ac.uk/projects/festival/)
 - license:      http://www.cstr.ed.ac.uk/projects/festival/freecopyright.shtml

jpeg                              (http://www.ijg.org/)
 - license:      IJG license

nas                               (http://radscan.com/nas.html)
 - license:      NAS license

snapshot         libpng           (http://www.libpng.org/pub/png/)
 - license:      PNG license

mngdec/mngenc	libmng	    	(http://gjuyn.xs4all.nl/libmng)
 - license 	 PNG license

Plugins using non-free libraries:
osxaudio                                (http://www.apple.com/macosx/)
sunaudiosink                            (http://www.sun.com/)

Unsure:

faad             libfaad          (http://www.audiocoding.com/)
faad's license depends on its major version :
  - for FAAD1 : it is LGPL
  - for FAAD2 : it is GPL
look at these pages for more information on licenses :
http://www.audiocoding.com/modules/wiki/?page=FAAD2
http://www.audiocoding.com/modules/wiki/?page=FAAC

by default, GStreamer faad plugin would compile against FAAD2 if available.
it falls back to FAAD1 if not.
