Implement our own theme, yay!
[platform/upstream/gstreamer.git] / sdk-legal-information.md
1 ---
2 short-description: Patents, Licenses and legal F.A.Q.
3 ...
4
5 # Legal information
6
7 ## Installer, default installation
8
9 The installer (Microsoft Windows and MacOSX) and the default
10 installation (GNU/Linux) contain and install the minimal default
11 installation. At install time or later, the downloading of optional
12 components is also possible, but read on for certain legal cautions you
13 might want to take. All downloads are from the
14 [gstreamer.freedesktop.org](http://gstreamer.freedesktop.org) website.
15
16 ## Licensing of GStreamer
17
18 GStreamer minimal default installation only contains packages which
19 are licensed under the [GNU LGPL license
20 v2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). This
21 license gives you the Freedom to use, modify, make copies of the
22 software either in the original or in a modified form, provided that the
23 software you redistribute is licensed under the same licensing terms.
24 This only extends to the software itself and modified versions of it,
25 but you are free to link the LGPL software as a library used by other
26 software under whichever license. In other words, it is a weak copyleft
27 license.
28
29 Therefore, it is possible to use GStreamer to build applications that are
30 then distributed under a different license, including a proprietary one,
31 provided that reverse engineering is not prohibited for debugging
32 modifications purposes. Only the pieces of GStreamer that are under the
33 LGPL need to be kept under the LGPL, and the corresponding source code
34 must be distributed along with the application (or an irrevocable offer
35 to do so for at least three years from distribution). Please consult
36 section 6 of the
37 [LGPL](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) for
38 further details as to what the corresponding source code must contain.
39
40 Some portions of the minimal default installation may be under
41 different licenses, which are both more liberal than the LGPL (they are
42 less strict conditions for granting the license) and compatible with the
43 LGPL. This is advised locally.
44
45 ## Optional packages
46
47 There are two types of optional packages (GPL and Patented), which are
48 under a different license or have other issues concerning patentability
49 (or both).
50
51 #### GPL code
52
53 Part of the optional packages are under the GNU GPL
54 [v2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) or
55 [v3](http://www.gnu.org/licenses/gpl-3.0.html). This means that you
56 cannot link the GPL software in a program unless the same program is
57 also under the GPL, but you are invited to seek competent advice on how
58 this works in your precise case and design choices. GPL is called
59 “strong copyleft” because the condition to distributed under the same
60 license has the largest possible scope and extends to all derivative
61 works.
62
63 #### Patents
64
65 Certain software, and in particular software that implements
66 multimedia standard formats such as MP3, MPEG 2 video and audio, h.264,
67 MPEG 4 audio and video, AC3, etc, can have patent issues. In certain
68 countries patents are granted on software and even software-only
69 solution are by and large considered patentable and are patented (such
70 as in the United States). In certain others, patents on pure software
71 solutions are formally prohibited, but granted (this is the case in many
72 European countries), and in others again are neither allowed nor granted.
73
74 It is up to you to make sure that in the countries where GStreamer is
75 used, products are made using it and product are distributed, a license
76 from the applicable patent holders is required or not. Receiving GStreamer
77 – or links to other downloadable software – does not provide any license
78 expressed or implied over these patents, except in very limited
79 conditions where the license so provides. No representation is made.
80
81 In certain cases, the optional packages are distributed only as source
82 code. It is up to the receiver to make sure that in the applicable
83 circumstances compiling the same code for a given platform or
84 distributing the object code is not an act that infringes one or more
85 patents.
86
87 ## Software is as-is
88
89 All software and the entire GStreamer binaries areprovided as-is, without any
90 warranty whatsoever. The individual licenses have particular language
91 disclaiming liability: we invite you to read all of them. Should you
92 need a warranty on the fact that software works as intended or have any
93 kind of indemnification, you have the option to subscribe a software
94 maintenance agreement with a company or entity that is in that business.
95 Fluendo and Collabora, as well as some other companies, provide software
96 maintenance agreements under certain conditions, you are invited to
97 contact them in order to receive further details and discuss of the
98 commercial terms.
99
100 ## Data protection
101
102 This website might use cookies and HTTP logs for statistical analysis
103 and on an aggregate basis only.
104
105 ## Frequently Asked Questions
106
107 #### What licenses are there?
108
109 GStreamer binaries containst software under various licenses. See above.
110
111 #### How does this relate to the packaging system?
112
113 The packaging is only a more convenient way to install software and
114 decide what's good for you. GStreamer is meant to be modular, making use
115 of different modules, or plugins, that perform different activities.
116
117 We provide some of them by default. Others are provided as an additional
118 download, should you elect to do so. You could do the same by finding
119 and downloading the same packages for your own platform. So it is
120 entirely up to you to decide what to do.
121
122 Also, we note that GStreamer elements are divided into different packages,
123 roughly following the licensing conditions attached to the same. For
124 instance, the codecs-gpl package contains GPL licensed codecs. All the
125 packages installed by default, conversely, are licensed under the LGPL
126 or a more liberal license. This division is provided only for ease of
127 reference, but we cannot guarantee that our selection is 100% correct,
128 so it is up to the user to verify the actual licensing conditions before
129 distributing works that utilize GStreamer.
130
131 #### Can I / must I distribute GStreamer along with my application?
132
133 You surely can. All software is Free/Open Source software, and can be
134 distributed freely. You are not **required** to distribute it. Only,
135 be reminded that one of the conditions for you to use software under
136 certain licenses to make a work containing such software, is that you
137 also distribute the complete source code of the original code (or of
138 the modified code, if you have modified it). There are alternative
139 ways to comply with this obligation, some of them do not require any
140 actual distribution of source code, but since GStreamer contains the
141 entire source code, you might want to include it (or the directories
142 containing the source code) with your application as a safe way to
143 comply with this requirement of the license.
144
145 #### What happens when I modify the GStreamer's source code?
146
147 You are invited to do so, as the licenses (unless you are dealing with
148 proprietary bits, but in that case you will not find the corresponding
149 source code) so permit. Be reminded though that in that case you need
150 to also provide the complete corresponding source code (and to
151 preserve the same license, of course). You might also consider to push
152 your modifications upstream, so that they are merged into the main
153 branch of development if they are worth it and will be maintained by
154 the GStreamer project and not by you individually. We invite you not
155 to fork the code, if at all possible.  he Cerbero build system has a
156 "bundle-source" command that can help you create a source bundle
157 containing all of the complete corresponding machine readable source
158 code that you are required to provide.
159
160 #### How does licensing relate to software patents? What about software patents in general?
161
162 This is a tricky question. We believe software patents should not exist,
163 so that by distributing and using software on a general purpose machine
164 you would not violate any of them. But the inconvenient truth is that
165 they do exist.
166
167 Software patents are widely available in the USA. Despite they are
168 formally prohibited in the European Union, they indeed are granted by
169 the thousand by the European Patent Office, and also some national
170 patent offices follow the same path. In other countries they are not
171 available.
172
173 Since patent protection is a national state-granted monopoly,
174 distributing software that violates patents in a given country could be
175 entirely safe if done in another country. Fair use exceptions also
176 exist. So we cannot advice you whether the software we provide would be
177 considered violating patents in your country or in any other country,
178 but that can be said for virtually all kinds of sofware. Only, since we
179 deal with audio-video standards, and these standards are by and large
180 designed to use certain patented technologies, it is common wisdom that
181 the pieces of software that implement these standards are sensitive in
182 this respect.
183
184 This is why GStreamer has taken a modular approach, so that you can use
185 a Free plugins or a proprietary, patent royalty bearing, plugin for a
186 given standard.
187
188 #### What about static vs. dynamic linking and copyleft?
189
190 We cannot provide one single answer to that question. Since copyright in
191 software works as copyright in literature, static linking means
192 basically that the programmer includes bits of code of the original
193 library in the bytecode at compile time. This amounts to make derivative
194 code of the library without conceivable exceptions, so you need a
195 permission from the copyright holders of the library to do this.
196
197 A widespread line of thinking says that dynamic linking is conversely
198 not relevant to the copyleft effect, since the mingling of code in a
199 larger work is done at runtime. However, another equally authoritative
200 line of thought says that only certain type of dynamic linking is not
201 copyright relevant.  Therefore, using a library that is specifically
202 designed to be loaded into a particular kind of software, even through
203 API,  requires permission by the copyright holder of the library when
204 the two pieces are distributed together.
205
206 In all cases, since most of the software we include in GStreamer is under
207 the LGPL, this permission is granted once for all, subject to compliance
208 with the conditions set out by it. Therefore, the problem only arises
209 when you want to use GPL libraries to make non-GPL applications, and you
210 need to audit your software in that case to make sure that what you do
211 is not an infringement. This is why we have put the GPL libraries in a
212 separate set of optional components, so you have a clearer view of what
213 is safely clear for use, and what might need better investigation on a
214 case-by-case basis.
215
216 Please be reminded that even for LGPL, the recipient of the software
217 must be in a position to replace the current library with a modified
218 one, and to that effect some conditions apply, among which that for
219 static linking you must also provide the complete toolchain required to
220 relink the library (“any data and utility programs needed for
221 reproducing the executable from it”, except the “major components”) and
222 that the license of the conditions of the resulting program must allow
223 decompilation to debug modifications to the library.