source: trunk/third/gstreamer/docs/manual/appendix-licensing.xml @ 21448

Revision 21448, 5.4 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21447, which included commits to RCS files with non-trunk default branches.
RevLine 
[21447]1<chapter id="chapter-licensing">
2<title>Licensing advisory</title>
3  <sect1 id="section-application-licensing">
4  <title>How to license the applications you build with <application>GStreamer</application></title>
5<para>
6The licensing of GStreamer is no different from a lot of other libraries
7out there like GTK+ or glibc: we use the LGPL. What complicates things
8with regards to GStreamer is its plugin-based design and the heavily
9patented and proprietary nature of many multimedia codecs. While patents
10on software are currently only allowed in a small minority of world
11countries (the US and Australia being the most important of those), the
12problem is that due to the central place the US hold in the world economy
13and the computing industry, software patents are hard to ignore wherever
14you are.
15
16Due to this situation, many companies, including major GNU/Linux
17distributions, get trapped in a situation where they either get bad
18reviews due to lacking out-of-the-box media playback capabilities (and
19attempts to educate the reviewers have met with little success so far), or
20go against their own - and the free software movement's - wish to avoid
21proprietary software. Due to competitive pressure, most choose to add some
22support. Doing that through pure free software solutions would have them
23risk heavy litigation and punishment from patent owners. So when the
24decision is made to include support for patented codecs, it leaves them
25the choice of either using special proprietary applications, or try to
26integrate the support for these codecs through proprietary plugins into
27the multimedia infrastructure provided by GStreamer. Faced with one of
28these two evils the GStreamer community of course prefer the second option.
29</para>
30<para>
31The problem which arises is that most free software and open source
32applications developed use the GPL as their license. While this is
33generally a good thing, it creates a dilemma for people who want to put
34together a distribution. The dilemma they face is that if they include
35proprietary plugins in GStreamer to support patented formats in a way that
36is legal for them, they do risk running afoul of the GPL license of the
37applications. We have gotten some conflicting reports from lawyers on
38whether this is actually a problem, but the official stance of the FSF is
39that it is a problem. We view the FSF as an authority on this matter, so
40we are inclined to follow their interpretation of the GPL license.
41</para>
42<para>
43So what does this mean for you as an application developer? Well, it means
44you have to make an active decision on whether you want your application
45to be used together with proprietary plugins or not. What you decide here
46will also influence the chances of commercial distributions and Unix
47vendors shipping your application. The GStreamer community suggest you
48license your software using a license that will allow proprietary plugins
49to be bundled with GStreamer and your applications, in order to make sure
50that as many vendors as possible go with GStreamer instead of less free
51solutions. This in turn we hope and think will let GStreamer be a vehicle
52for wider use of free formats like the Xiph.org formats.
53</para>
54<para>
55If you do decide that you want to allow for non-free plugins to be used
56with your application you have a variety of choices. One of the simplest
57is using licenses like LGPL, MPL or BSD for your application instead of
58the GPL. Or you can add a exceptions clause to your GPL license stating
59that you except GStreamer plugins from the obligations of the GPL.
60</para>
61<para>
62A good example of such a GPL exception clause would be, using the Muine
63music player project as an example:
64The Muine project hereby grants permission for non-GPL-compatible
65GStreamer plugins to be used and distributed together with GStreamer and
66Muine. This permission goes above and beyond the permissions granted by
67the GPL license Muine is covered by.
68</para>
69<para>
70Our suggestion among these choices is to use the LGPL license, as it is
71what resembles the GPL most and it makes it a good licensing fit with the
72major GNU/Linux desktop projects like GNOME and KDE. It also allows you to
73share code more openly with projects that have compatible licenses.
74Obviously, pure GPL code without the above-mentioned clause is not usable
75in your application as such. By choosing the LGPL, there is no need for an
76exception clause and thus code can be shared more freely.
77</para>
78<para>
79I have above outlined the practical reasons for why the GStreamer
80community suggest you allow non-free plugins to be used with your
81applications. We feel that in the multimedia arena, the free software
82community is still not strong enough to set the agenda and that blocking
83non-free plugins to be used in our infrastructure hurts us more than it
84hurts the patent owners and their ilk.
85</para>
86<para>
87This view is not shared by everyone. The Free Software Foundation urges
88you to use an unmodified GPL for your applications, so as to push back
89against the temptation to use non-free plug-ins. They say that since not
90everyone else has the strength to reject them because they are unethical,
91they ask your help to give them a legal reason to do so.
92</para>
93<para>
94This advisory is part of a bigger advisory with a FAQ which you can find
95on the <ulink url="http://gstreamer.freedesktop.org/documentation/licensing.html">GStreamer website</ulink>
96</para>
97
98
99</sect1>
100
101</chapter>
Note: See TracBrowser for help on using the repository browser.