### 3.4.2. Enabling Commercially Licensed Recipes

By default, the OpenEmbedded build system disables components that have commercial or other special licensing requirements. Such requirements are defined on a recipe-by-recipe basis through the `LICENSE_FLAGS` variable definition in the affected recipe. For instance, the `$HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly` recipe contains the following statement:

         LICENSE_FLAGS = "commercial"

Here is a slightly more complicated example that contains both an explicit recipe name and version (after variable expansion):

         LICENSE_FLAGS = "license_${PN}_${PV}"

In order for a component restricted by a `LICENSE_FLAGS` definition to be enabled and included in an image, it needs to have a matching entry in the global `LICENSE_FLAGS_WHITELIST` variable, which is a variable typically defined in your `local.conf` file. For example, to enable the `$HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly` package, you could add either the string "commercial_gst-plugins-ugly" or the more general string "commercial" to `LICENSE_FLAGS_WHITELIST`. See the "License Flag Matching" section for a full explanation of how `LICENSE_FLAGS` matching works. Here is the example:

         LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly"

Likewise, to additionally enable the package built from the recipe containing `LICENSE_FLAGS = "license_${PN}_${PV}"`, and assuming that the actual recipe name was `emgd_1.10.bb`, the following string would enable that package as well as the original `gst-plugins-ugly` package:

         LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10"

As a convenience, you do not need to specify the complete license string in the whitelist for every package. you can use an abbreviated form, which consists of just the first portion or portions of the license string before the initial underscore character or characters. A partial string will match any license that contains the given string as the first portion of its license. For example, the following whitelist string will also match both of the packages previously mentioned as well as any other packages that have licenses starting with "commercial" or "license".

         LICENSE_FLAGS_WHITELIST = "commercial license"