Licensing a multi-featured product with RLM

Recently we received a common question from one of our customers looking for some advice.

Q: My application is a suite of programs that can be licensed in various combinations.  What’s the best way to design the licenses in this case?

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″

Leave a Reply

Your email address will not be published. Required fields are marked *