Merge branch 'master' into 0.11
[platform/upstream/gstreamer.git] / docs / faq / legal.xml
1 <sect1 id="chapter-legal">
2   <title id="title-legal">GStreamer Legal Issues</title>
3   <para>
4 This part of the FAQ is based on a series of questions we asked the FSF
5 to understand how the GPL works and how patents affects the GPL. These
6 questions were answered by the <ulink url="http://www.fsf.org/">
7 FSF lawyers</ulink>, so we view them as the
8 final interpretation on how the GPL and LGPL interact with patents in our 
9 opinion. This consultancy was paid for by
10 <ulink url="http://www.fluendo.com/">Fluendo</ulink>
11 in order to obtain clear and quotable answers.  These answers were certified
12 by the FSF lawyer team and verified by FSF lawyer and law professor Eben Moglen.
13   </para>
14
15   <qandaset defaultlabel="qanda">
16
17     <qandaentry>
18       <question id="legal-distribute-three">
19         <para>
20 Can someone distribute the combination of
21 <itemizedlist>
22   <listitem><para>GStreamer, the LGPL library</para></listitem>
23   <listitem><para>MyPlayer, a GPL playback application</para></listitem>
24   <listitem><para>The binary-only Sorenson decoder</para></listitem>
25 </itemizedlist>
26 together in one distribution/operating system ? If not, what
27 needs to be changed to make this possible ?
28         </para>
29       </question>
30
31       <answer>
32         <para>
33 This would be a problem, because the GStreamer and MyPlayer licenses would
34 forbid it.  In order to link GStreamer to MyPlayer, you need to use section
35 3 of the LGPL to convert GStreamer to GPL.  The GPL version of GStreamer
36 forbids linking to the Sorenson decoder.  Anyway, the MyPlayer GPL
37 license forbids this.  
38         </para>
39
40         <para>
41 If the authors of MyPlayer want to permit this, we have an
42 exception for them: the controlled interface exception from the FAQ.
43 The idea of this is that you can't get around the GPL just by including
44 a LGPL bit in the middle.
45         </para>
46
47         <para>
48 Note: MyPlayer is a completely fictituous application at the time of writing.
49         </para>
50
51       </answer>
52     </qandaentry>
53
54     <qandaentry>
55       <question id="legal-binary-plugin">
56         <para>
57 Suppose Apple wants to write a binary-only proprietary 
58 plugin for GStreamer to decode Sorenson video, which will be shipped 
59 stand-alone, not part of a package like in the question above. 
60 Can Apple distribute this binary-only plugin ?
61         </para>
62       </question>
63
64       <answer>
65         <para>
66 Yes, modulo certain reverse engineering requirements in section 6 of
67 the LGPL.
68         </para>
69       </answer>
70     </qandaentry>
71
72     <qandaentry>
73       <question id="legal-gpl-program">
74         <para>
75 If a program released under the GPL uses a library that 
76 is LGPL, and this library can dlopen plug-ins at runtime, what are the
77 requirements for the license of the plug-in ?
78         </para>
79       </question>
80
81       <answer>
82         <para>
83 You may not distribute the plug-in with the GPL application. 
84 Distributing the plug-in alone, with the knowledge that it will be used
85 primarily by GPL software is a bit of an edge case.  We will not advise you
86 that it would be safe to do so, but we also will not advise you that it
87 would be absolutely forbidden.
88         </para>
89       </answer>
90     </qandaentry>
91
92     <qandaentry>
93       <question id="legal-safe-countries">
94         <para>
95 Can someone in a country that does not have software patents distribute 
96 code covered by US patents under the GPL to people in, for example, Norway ? 
97 If he/she visits the US, can he/she be arrested ?
98         </para>
99       </question>
100
101       <answer>
102         <para>
103 Yes, he can.
104 No,  there are no criminal penalties for patent infringement in the US.
105         </para>
106       </answer>
107     </qandaentry>
108
109     <qandaentry>
110       <question id="legal-unsafe-countries">
111         <para>
112 Can someone from the US distribute software covered by
113 US patents under the GPL to people in Norway ? To people in the US ?
114         </para>
115       </question>
116
117       <answer>
118         <para>
119 This might infringe some patents, but the GPL would not forbid it 
120 absent some actual restriction, such as a court judgement or agreement.
121 The US government is empowered to refuse importation of patent
122 infringing devices, including software.
123         </para>
124       </answer>
125     </qandaentry>
126
127     <qandaentry>
128       <question id="legal-gpl-library-patents">
129         <para>
130 There are a lot of GPL- or LGPL-licensed libraries that 
131 handle media codecs which have patents.  Take mad, an mp3 decoding library,
132 as an example.  It is licensed under the GPL. In countries where patents 
133 are valid, does this invalidate the GPL license for this project ?
134         </para>
135       </question>
136
137       <answer>
138         <para>
139 The mere existence of a patent which might read on the program does not
140 change anything. However, if a court judgement or other agreement
141 prevents you from distributing libmad under GPL terms, you can not
142 distribute it at all.
143         </para>
144
145         <para>
146 The GPL and LGPL say (sections 7 and 11):
147 <quote>If you cannot distribute so as to satisfy simultaneously your
148 obligations under this License and any other pertinent obligations, then
149 as a consequence you may not distribute the Library at all.</quote>
150         </para>
151       </answer>
152     </qandaentry>
153
154     <qandaentry>
155       <question id="legal-gpl-court-judgment">
156         <para>
157 So let's say there is a court judgement. Does this mean that the GPL license is
158 invalid for the project everywhere, or only in the countries where it conflicts
159 with the applicable patents ?
160         </para>
161       </question>
162
163       <answer>
164         <para>
165 The GPL operates on a per-action, not per-program basis.  That is, if
166 you are in a country which has software patents, and a court tells you
167 that you cannot distribute (say) libmad in source code form, then you
168 cannot distribute libmad at all.  This doesn't affect anyone else.
169         </para>
170       </answer>
171     </qandaentry>
172
173     <qandaentry>
174       <question id="legal-gpl-and-binary">
175         <para>
176 Patented decoding can be implemented in GStreamer either by
177 having a binary-only plugin do the decoding, or by writing a plugin
178 (with any applicable license) that links to a binary-only library.
179 Does this affect the licensing issues involved in regards to GPL/LGPL?
180         </para>
181       </question>
182
183       <answer>
184         <para>
185 No.
186         </para>
187       </answer>
188     </qandaentry>
189
190     <qandaentry>
191       <question id="legal-gpl-patent-distribution">
192         <para>
193 Is it correct that you cannot distribute the GPL mad library to
194 decode mp3's, *even* in the case where you have obtained a valid license 
195 for decoding mp3 ?
196         </para>
197       </question>
198
199       <answer>
200         <para>
201 The only GPL-compatible patent licenses are those which are open to  
202 all parties posessing copies of GPL software which practices the 
203 teachings of the patent.
204         </para>
205
206         <para>
207 If you take a license which doesn't allow others to distribute
208 original or modified versions of libmad practicing the same patent
209 claims as the version you distribute, then you may not distribute at
210 all.
211         </para>
212       </answer>
213     </qandaentry>
214   </qandaset>
215 </sect1>