mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
Merge licensing information from website into docs.
This commit is contained in:
parent
08355fb5bb
commit
37058f0c97
2 changed files with 131 additions and 5 deletions
2
index.md
2
index.md
|
@ -75,7 +75,7 @@ gst-plugins-base are guaranteed to be API and ABI stable
|
||||||
The GStreamer community provides the following licensing advisory for
|
The GStreamer community provides the following licensing advisory for
|
||||||
developers planing on or already using GStreamer for their applications:
|
developers planing on or already using GStreamer for their applications:
|
||||||
|
|
||||||
<a href="/documentation/licensing.html">GStreamer Licensing Advisory</a>
|
[GStreamer Licensing Advisory and legal FAQ](sdk-legal-information.md)
|
||||||
|
|
||||||
|
|
||||||
## GStreamer plugin module split-up
|
## GStreamer plugin module split-up
|
||||||
|
|
|
@ -92,10 +92,43 @@ need a warranty on the fact that software works as intended or have any
|
||||||
kind of indemnification, you have the option to subscribe a software
|
kind of indemnification, you have the option to subscribe a software
|
||||||
maintenance agreement with a company or entity that is in that business.
|
maintenance agreement with a company or entity that is in that business.
|
||||||
|
|
||||||
## Data protection
|
|
||||||
|
|
||||||
This website might use cookies and HTTP logs for statistical analysis
|
## Licensing of code contributed to GStreamer itself
|
||||||
and on an aggregate basis only.
|
|
||||||
|
GStreamer is a plugin-based framework licensed under the LGPL. The
|
||||||
|
reason for this choice in licensing is to ensure that everyone can use
|
||||||
|
GStreamer to build applications using licenses of their choice.
|
||||||
|
|
||||||
|
To keep this policy viable, the GStreamer community has made a few licensing
|
||||||
|
rules for code to be included in GStreamer's core or GStreamer's
|
||||||
|
official modules, like our plugin packages.
|
||||||
|
|
||||||
|
**We require that all code going into our core packages is LGPL.**
|
||||||
|
|
||||||
|
For the plugin code, we require the <B>use of the LGPL for all plugins
|
||||||
|
written from scratch or linking to external libraries</B>. The only
|
||||||
|
exception to this is when plugins contain older code under the BSD and
|
||||||
|
MIT license. They can use those licenses instead and will still be
|
||||||
|
considered for inclusion, we do prefer that all new code written
|
||||||
|
though is at least dual licensed LGPL. We do not accept GPL code to be
|
||||||
|
added to our plugins modules, but we do accept LGPL-licensed plugins
|
||||||
|
using an external GPL library for some of our plugin modules. The
|
||||||
|
reason we demand plugins be licensed under the LGPL, even when they
|
||||||
|
are using a GPL library, is that other developers might want to use
|
||||||
|
the plugin code as a template for plugins linking to non-GPL
|
||||||
|
libraries. We also accept dual licensed plugins for inclusion as long
|
||||||
|
as one of the licenses offered for dual licensing is the LGPL.
|
||||||
|
|
||||||
|
We also do not allow plugins under any license into our core,base
|
||||||
|
or good packages if they have known patent issues associated with
|
||||||
|
them. This means that even a contributed LGPL/MIT licensed
|
||||||
|
implementation of something which there is a licensing body claiming
|
||||||
|
fees for, those plugins would need to go into our gst-plugins-ugly
|
||||||
|
module.
|
||||||
|
|
||||||
|
All new plugins, regardless of licensing or patents
|
||||||
|
tend to have to go through a period in our incubation module,
|
||||||
|
gst-plugins-bad before moving to ugly, base or good.
|
||||||
|
|
||||||
## Frequently Asked Questions
|
## Frequently Asked Questions
|
||||||
|
|
||||||
|
@ -168,7 +201,7 @@ available.
|
||||||
Since patent protection is a national state-granted monopoly,
|
Since patent protection is a national state-granted monopoly,
|
||||||
distributing software that violates patents in a given country could be
|
distributing software that violates patents in a given country could be
|
||||||
entirely safe if done in another country. Fair use exceptions also
|
entirely safe if done in another country. Fair use exceptions also
|
||||||
exist. So we cannot advice you whether the software we provide would be
|
exist. So we cannot advise you whether the software we provide would be
|
||||||
considered violating patents in your country or in any other country,
|
considered violating patents in your country or in any other country,
|
||||||
but that can be said for virtually all kinds of sofware. Only, since we
|
but that can be said for virtually all kinds of sofware. Only, since we
|
||||||
deal with audio-video standards, and these standards are by and large
|
deal with audio-video standards, and these standards are by and large
|
||||||
|
@ -216,3 +249,96 @@ relink the library (“any data and utility programs needed for
|
||||||
reproducing the executable from it”, except the “major components”) and
|
reproducing the executable from it”, except the “major components”) and
|
||||||
that the license of the conditions of the resulting program must allow
|
that the license of the conditions of the resulting program must allow
|
||||||
decompilation to debug modifications to the library.
|
decompilation to debug modifications to the library.
|
||||||
|
|
||||||
|
## Licensing applications under the GNU GPL using GStreamer
|
||||||
|
|
||||||
|
The licensing of GStreamer is no different from a lot of other libraries out
|
||||||
|
there like GTK+ or glibc:
|
||||||
|
we use the [LGPL](http://www.fsf.org/licenses/lgpl.html).
|
||||||
|
|
||||||
|
What complicates things with regards to GStreamer is its plugin-based design
|
||||||
|
and the heavily patented and proprietary nature of many multimedia codecs.
|
||||||
|
While patents on software are currently only allowed in a small minority of
|
||||||
|
world countries (the US and Australia being the most important of those), the
|
||||||
|
problem is that due to the central place the US hold in the world economy and
|
||||||
|
the computing industry, software patents are hard to ignore wherever you are.
|
||||||
|
|
||||||
|
Due to this situation, many companies, including major GNU/Linux distributions,
|
||||||
|
get trapped in a situation where they either get bad reviews due to lacking
|
||||||
|
out-of-the-box media playback capabilities (and attempts to educate the
|
||||||
|
reviewers have met with little success so far), or go against their
|
||||||
|
own - and the free software movement's - wish to avoid proprietary software.
|
||||||
|
|
||||||
|
Due to competitive pressure, most choose to add some support. Doing that
|
||||||
|
through pure free software solutions would have them risk heavy litigation and
|
||||||
|
punishment from patent owners. So when the decision is made to include support
|
||||||
|
for patented codecs, it leaves them the choice of either using special
|
||||||
|
proprietary applications, or try to integrate the support for these codecs
|
||||||
|
through proprietary plugins into the multimedia infrastructure provided by
|
||||||
|
GStreamer. Faced with one of these two evils the GStreamer community of
|
||||||
|
course prefer the second option.
|
||||||
|
|
||||||
|
The problem which arises is that most free software and open source
|
||||||
|
applications developed use the GPL as their license. While this is generally a
|
||||||
|
good thing, it creates a dilemma for people who want to put together a
|
||||||
|
distribution. The dilemma they face is that if they include proprietary
|
||||||
|
plugins in GStreamer to support patented formats in a way that is legal for
|
||||||
|
them, they do risk running afoul of the GPL license of the applications. We
|
||||||
|
have gotten some conflicting reports from lawyers on whether this is actually a
|
||||||
|
problem, but the official stance of the FSF is that it is a problem.
|
||||||
|
We view the FSF as an authority on this matter, so we are inclined to follow
|
||||||
|
their interpretation of the GPL license.
|
||||||
|
|
||||||
|
So what does this mean for you as an application developer? Well, it
|
||||||
|
means **you have to make an active decision on whether you want your
|
||||||
|
application to be used together with proprietary plugins or
|
||||||
|
not**. What you decide here will also influence the chances of
|
||||||
|
commercial distributions and Unix vendors shipping your
|
||||||
|
application. The GStreamer community suggest you license your software
|
||||||
|
using a license that will allow non-free, patent implementing or
|
||||||
|
non-GPL compatible plugins to be bundled with GStreamer and your
|
||||||
|
applications, in order to make sure that as many vendors as possible
|
||||||
|
go with GStreamer instead of less free solutions. This in turn we
|
||||||
|
hope and think will let GStreamer be a vehicle for wider use of free
|
||||||
|
formats like the [Xiph.org](http://www.xiph.org/) formats.
|
||||||
|
|
||||||
|
If you do decide that you want to allow for non-free plugins to be used with
|
||||||
|
your application you have a variety of choices. One of the simplest is using
|
||||||
|
licenses like LGPL, MPL or BSD for your application instead of the GPL.
|
||||||
|
Or you can add a exceptions clause to your GPL license stating that you except
|
||||||
|
GStreamer plugins from the obligations of the GPL.
|
||||||
|
|
||||||
|
A good example of such a GPL exception clause would be, using the Totem
|
||||||
|
video player project as an example:
|
||||||
|
|
||||||
|
*The developers of the Totem video player hereby grants permission for
|
||||||
|
non-GPL compatible GStreamer plugins to be used and distributed together
|
||||||
|
with GStreamer and Totem. This permission is above and beyond the permissions
|
||||||
|
granted by the GPL license by which Totem is covered. If you modify this code,
|
||||||
|
you may extend this exception to your version of the code, but you are
|
||||||
|
not obligated to do so. If you do not wish to do so, delete this exception
|
||||||
|
statement from your version.*
|
||||||
|
|
||||||
|
Our suggestion among these choices is to use the LGPL license, as it is what
|
||||||
|
resembles the GPL most and it makes it a good licensing fit with the major
|
||||||
|
GNU/Linux desktop projects like GNOME and KDE. It also allows you to share
|
||||||
|
code more openly with projects that have compatible licenses. As you might
|
||||||
|
deduce, pure GPL licensed code without the above-mentioned clause is not
|
||||||
|
re-usable in your application under a GPL plus exception clause unless you
|
||||||
|
get the author of the pure GPL code to allow a relicensing to GPL plus
|
||||||
|
exception clause. By choosing the LGPL, there is no need for an exception
|
||||||
|
clause and thus code can be shared freely between your application and
|
||||||
|
other LGPL using projects.
|
||||||
|
|
||||||
|
We have above outlined the practical reasons for why the GStreamer community
|
||||||
|
suggest you allow non-free plugins to be used with your applications. We feel
|
||||||
|
that in the multimedia arena, the free software community is still not strong
|
||||||
|
enough to set the agenda and that blocking non-free plugins to be used in our
|
||||||
|
infrastructure hurts us more than it hurts the patent owners and their ilk.
|
||||||
|
|
||||||
|
This view is not shared by everyone.
|
||||||
|
The [Free Software Foundation](http://www.fsf.org) urges you to use
|
||||||
|
an unmodified GPL for your applications, so as to push back against the
|
||||||
|
temptation to use non-free plug-ins. They say that since not everyone else has
|
||||||
|
the strength to reject them because they are unethical, they ask your help to
|
||||||
|
give them a legal reason to do so.
|
||||||
|
|
Loading…
Reference in a new issue