P R O D U C T
Nested Product Items
Many challenges, one solution: Nested Product Items facilitate license configuration, prevent inconsistencies with licensing
modular software, and guarantee the simple and smooth transfer of licenses. The ability to nest licenses and bequeath
properties down the line answers the needs of many a product manager and avoids some headaches for developers grappling
with licensing models.
Avoiding Redundant Information
When one looks at licenses that software
vendors prepare for CmContainers, one
often finds certain entries again and again
in multiple licenses. The annual license for
a software suite includes licenses for the
various applications contained in it, but all
of them have the same expiry date. Modular
software with multiple license entries (Product
Items) include defined maintenance periods in
every license. If any of these settings needs
to be changed, all of the licenses need to be
reprogrammed one by one – an unnecessary
effort that just invites errors and mistakes.
This case, and other scenarios that we will look
at later on, all benefit from Nested Product
Items: The nested licenses enable software
developers to set the same configuration
only once, but have it available wherever they
need it.
Nesting Licenses
A license entry, the so-called Product Item,
can come with several options: From time
limits such as a defined expiry date or a
10
defined usage period, or limited license
counters or a countdown for the number
of uses, to different data types, software
vendors have a whole battery of settings at
their disposal to model their license terms to
their needs.
With Nested Product Items, licenses that use
a Universal Firm Code now have the option
of attaching one license entry to another. The
attached nested item is called a Module Item.
Such Module Items can use all the settings
and options of a Product Item, without any
restrictions. A Product Item can contain one,
multiple, or no Module Items. Vertically, the
nesting has only one level: A nested Module
Item cannot have other Module Items nested
within it.
Bequeathing Options
The unique feature of this nesting is that all
Module Items inherit the properties of their
parent Product Item. If a specific setting is
made for a license in a Module Item that
was already set differently in the parent
Product Item, the new setting overrides the
inherited setting. This is a case of traditional
inheritance in software development.
Consider a concrete scenario: A trial version
for an office suite. The applications in it (word
processing, spreadsheet, contact database)
are available for testing over a 30-day period.
The license setup could be: one Product Item
“Demo Pack” with a defined usage period of
30 days, with three nested Module Items for
the three applications. If the user starts the
spreadsheet application, the usage period
kept in the parent Product Item springs into
action. The start date then applies for all
Module Items.
Separate License Allocation
Just like the usage period is defined in only
one place in this case, the license counter
can also be managed from one place. The
available licenses are defined depending on
the allowed access type. If our trial license
is a single-user license, the Product Item
defines a license counter of 1. If the software
package has a user limit (requiring one
license per running application), only one