GStreamer Daemon - Licensing

From RidgeRun Developer Wiki


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 LGPLV2+ 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 (it may though), the license used for the daemon process does not impact the user application licensing. On the other hand, using a slightly more flexible license as LGPL instead of GPL permits the daemon to load and link closed-source proprietary GStreamer elements without violating the copyright.

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 LGPLV2+ 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 libraries is 3-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.

This license applies to all the clients included in the project under the libgstc directory.



Previous: Releases Index Next: FAQ