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