Recently we received a common question from one of our customers looking for some advice.
The answer depends on whether the components are always released on separate schedules or as a group. If the former, then use a separate LICENSE line for each one. This allows them to have different attributes, such as version and expiration.
If the components are always released as a group, then they can be licensed with a single LICENSE, with the specific set of components authorized expressed in the “OPTIONS=” attribute of the license (example below).
If you choose the OPTIONS field route, then the value of the OPTIONS attribute can be retrieved using the RLM api call rlm_license_options(). This call returns the contents of the OPTIONS string so that your application can parse it to determine which features should be enabled.
Example: OPTIONS=”pie bar scatter max_points=1000″