Difference between revisions of "GStreamer Daemon - Licensing"

From RidgeRun Developer Connection
Jump to: navigation, search
Line 1: Line 1:
 
{{GStreamer Daemon/Head | previous=Releases | next=FAQ}}
 
{{GStreamer Daemon/Head | previous=Releases | next=FAQ}}
  
GStreamer Daemon is dual-licensed.  You can use the Open Source licensed version of GStreamer Daemon as described below, or you [https://www.ridgerun.com/contact contact RidgeRun] regarding how to purchase a proprietary licensed version of GStreamer Daemon.
+
Below is a non-legal layman's perception of the GStreamer Daemon licensing and the logic behind why the license was chosen.  Put simply, we really want you to use GStreamer Daemon technology in your proprietary product and thus the licensing chosen should enable that to happen.
  
Below is a non-legal layman's perception of the GStreamer Daemon licensing and the logic behind why the license was chosenPut simply, we really want you to use GStreamer Daemon technology in your proprietary product and thus the licensing chosen should enable that to happen.
+
GStreamer Daemon was initially dual-licensedYou can use the Open Source licensed version of GStreamer Daemon as described below, or you [https://www.ridgerun.com/contact contact RidgeRun] regarding how to purchase a proprietary licensed version of GStreamer Daemon.  At this point it is unclear if RidgeRun can even offer a proprietary license as contributors outside RidgeRun have made improvements to the codebase.  No one has purchased a proprietary license as of this writing.  The original reason for even offering a proprietary license was to address the needs of companies that refuse to have any open source software in their product.
  
 
== Daemon Licensing ==
 
== Daemon Licensing ==
Line 13: Line 13:
 
If you find GStreamer Daemon useful, then provide back your enhancements and defect fixes.  That will make it more useful to you going forward, as well as to others.  We each contribute a little and we each get a lot.  This '''give a little, get a lot''' philosophy is why the daemon process source code has a GPLV2 license.
 
If you find GStreamer Daemon useful, then provide back your enhancements and defect fixes.  That will make it more useful to you going forward, as well as to others.  We each contribute a little and we each get a lot.  This '''give a little, get a lot''' philosophy is why the daemon process source code has a GPLV2 license.
  
If you find you make a change to GStreamer Daemon and you want to keep your change proprietary, then you need to buy a proprietary license.  This likely means you don't understand the philosophy of GStreamer Daemon nor the division of labor between GStreamer Daemon and the client code.  You proprietary logic most likely belongs in either a new GStreamer element, with my understanding being you can make your new element proprietary, or your proprietary logic belongs in the client code.
+
If you find you want to change to GStreamer Daemon to add proprietary logic, then this likely means you don't understand the design philosophy of GStreamer Daemon nor the division of labor between GStreamer Daemon, GStreamer pipelines, and your client code.  Your proprietary logic most likely belongs in either a new GStreamer element, with my understanding being you can make your new element proprietary, or your proprietary logic belongs in your client code.
 
 
Since this section was first written, it is unclear that RidgeRun can even offer a proprietary license as contributors outside RidgeRun have made improvements to the codebase.  No one has purchased a proprietary license as of this writing.  The original reason for even offering a proprietary license was to address the needs of companies that refuse to have any open source software in their product.
 
  
 
== Client Library Licensing ==
 
== Client Library Licensing ==
  
The source code that makes up the GStreamer Daemon client library is [https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html LGPLV2.1] licensed.
+
The source code that makes up the GStreamer Daemon client library is [https://opensource.org/licenses/BSD-2-Clause 2-clause BSD] licensed.
 
 
To make GStreamer Daemon easy to use, a client library named <tt>libgst-client</tt> is part of the package.  The purpose of  <tt>libgst-client</tt> is to provide a simple API the user application can use to interact with the daemon process.  <tt>libgst-client</tt> encapsulates the interprocess communication (IPC) mechanism used to exchange data with the daemon process.  The user application will dynamically link to  <tt>libgst-client</tt>.
 
 
 
We added a CRUD (create, read, update, delete) low level API to <tt>libgst-client</tt> so any enhancements you want to make and keep proprietary should be possible using the CRUD APIs.  Please let us know if you find an exception to this approach.
 
  
If you find GStreamer Daemon useful, then provide back your enhancements and defect fixes.  That will make it more useful to you going forward, as well as to othersWe each contribute a little and we each get a lot. This '''give a little, get a lot''' philosophy is why the GStreamer Daemon client library source code has a LGPLV2.1 license.
+
To make GStreamer Daemon easy to use, a client library named <tt>libgst-client</tt> is part of the packageThe purpose of <tt>libgst-client</tt> is to provide a simple API the user application can use to interact with the daemon process.  <tt>libgst-client</tt> encapsulates the interprocess communication (IPC) mechanism used to exchange data with the daemon process.
  
 
== Example Client Licensing ==
 
== Example Client Licensing ==

Revision as of 10:20, 9 November 2021


Previous: Releases Index Next: FAQ




Below is a non-legal layman's perception of the GStreamer Daemon licensing and the logic behind why the license was chosen. Put simply, we really want you to use GStreamer Daemon technology in your proprietary product and thus the licensing chosen should enable that to happen.

GStreamer Daemon was initially dual-licensed. You can use the Open Source licensed version of GStreamer Daemon as described below, or you contact RidgeRun regarding how to purchase a proprietary licensed version of GStreamer Daemon. At this point it is unclear if RidgeRun can even offer a proprietary license as contributors outside RidgeRun have made improvements to the codebase. No one has purchased a proprietary license as of this writing. The original reason for even offering a proprietary license was to address the needs of companies that refuse to have any open source software in their product.

Daemon Licensing

The source code that makes up the daemon process of GStreamer Daemon is GPLV2 licensed.

When you run the command gstd, you are running the daemon process of GStreamer Daemon. Most users will simply install and run gstd without making any changes to the daemon process code. Since the user application doesn't directly link to the daemon process, the license used for the daemon process does not impact the user application licensing.

If you find GStreamer Daemon useful, then provide back your enhancements and defect fixes. That will make it more useful to you going forward, as well as to others. We each contribute a little and we each get a lot. This give a little, get a lot philosophy is why the daemon process source code has a GPLV2 license.

If you find you want to change to GStreamer Daemon to add proprietary logic, then this likely means you don't understand the design philosophy of GStreamer Daemon nor the division of labor between GStreamer Daemon, GStreamer pipelines, and your client code. Your proprietary logic most likely belongs in either a new GStreamer element, with my understanding being you can make your new element proprietary, or your proprietary logic belongs in your client code.

Client Library Licensing

The source code that makes up the GStreamer Daemon client library is 2-clause BSD licensed.

To make GStreamer Daemon easy to use, a client library named libgst-client is part of the package. The purpose of libgst-client is to provide a simple API the user application can use to interact with the daemon process. libgst-client encapsulates the interprocess communication (IPC) mechanism used to exchange data with the daemon process.

Example Client Licensing

The source code that makes up the GStreamer Daemon client application (gst_client.c) is Creative Commons Zero (CC0) licensed.

When incorporating some technology into your application, it is nice to have some example code you can cut-and-paste into your application without worry the code might restrict your options. This cut-and-paste philosophy is why the client application source code has a CC0 license.


Previous: Releases Index Next: FAQ