Written by Jamie Packer, VP of Customer Engineering
the right licensing strategy for commercial software is a difficult
balance. It must provide the software vendor with reasonable
protection but, at the same time, be easy to install and give users
the flexibility they need to do their work. This can be made more
complicated by the fact we no longer have a simple model of "one
computer, one user" because of the increasing use of
telecommuting, multi-core processors, servers, virtualization and
cloud computing. This means that a single user may need to access the
software in many different ways, using different computers. On the
other hand, a single computer may be used by multiple people -
concurrently or at different times.
may be priced on a per-user basis, with the number of users strictly
controlled. This typically requires a separate license for each named
user. There may be special prices for site-wide, multiple-user
licenses or for software that runs on a server (as a shared resource
or as part of a build system, for example).
is a trend at the moment for providing software on a subscription
basis, where the user pays on a monthly basis. This fits well with
the cloud-based software-as-a-service model. It also allows the
vendor an ongoing revenue stream while in return the user gets
ongoing support and updates. But users need to consider what happens
if the vendor stops offering the service and the software, and more
importantly, their data is no longer accessible.
licensing strategy needs to consider all these factors as well as the
protection mechanism to be used. This must provide the vendor with
the required level of protection but without being complex to set up
or causing conflicts with other software. A hardware or software
"key" can be used to limit the use of the software to a
particular computer by means of a unique identifier. Alternatively,
the vendor may rely on the user to ensure compliance with the license
terms. For this reason, large software contracts often include a
clause allowing the vendor to audit a customer's use of the software
to ensure compliance.
provide the flexibility that our customers need, SOMNIUM provides two
types of license: fixed and floating. How these work, and which might
be more appropriate in different contexts is discussed below.
fixed license enables a single copy of DRT to work on a single
computer. A license key is locked to the unique identifier for that
computer. This computer can be used by different people at different
times, or it could be a server used in the build system. The only
restriction is that there cannot be multiple
users. To enable parallel builds, up to four instances of the
compiler can be run in parallel. Any further instances (including any
from multiple users) are queued up until a license is available.
fixed license is appropriate if there are only one or two users, or
when you need to be able to run DRT on a computer that is not on a
network. Because the fixed license is associated with the computer it
is installed on, rather than a named user, it makes things very
simple when there are changes in your team. Whether you need to use a
contractor to cover for vacations or are setting up a team for a new
project, you can use the same license. There will be no interruption
to your work–or extra costs–for the new users. Two (or more)
developers can share a laptop using only a single DRT license.
other option is a floating license. This allows multiple users to run
DRT simultaneously on any number of computers. The license key is
installed on a central computer that acts as a license server. Any
other computer that can communicate with the license server can run
DRT. Although any number of people can use DRT, there is a limit to
the number of
concurrent users. The standard floating license
terms allow up to three concurrent users and six concurrent instances
of the compiler per user. Additional license requests are queued up
until a license is available for them to run.
Floating licenses for other numbers of users are available on request.
A floating license is more flexible and economical if you have a larger number of users who are all on the same network. Consider an organization that has four engineers who only spend a part of their time coding and debugging, plus a build system that runs on one or more servers. In this case a three-user floating license may meet their needs. Up to three of the developers can use DRT simultaneously. At night, the build system can use all the licenses to do parallel builds. And during working hours the build system can be configured to run using a limited number concurrent instances of the compiler, to ensure that “real” developers can always get a license for the tools.
Managing the license
is very important that the license management is simple to set up,
robust and reliable.
manage DRT licensing, we use a commercial license manager built into
the DRT tools. The license manager needs a software license key based
on a unique "host ID" for the computer running DRT (for a
fixed license) or for the license sever (for a floating license).
a fixed license, DRT can automatically install the license key the
first time it starts up. Floating licenses need the license manager
software and the license key file to be installed manually on the
See the SOMNIUM Portal for full instructions on installing SOMNIUM DRT and activating a license.
pricing of the DRT tools, combined with the flexible licensing terms,
mean that DRT is a very competitive solution for professional
fixed and floating licenses for DRT are permanent licenses that
include 12 months technical support and free upgrades. Support can be
renewed annually for a modest fee.
trial licenses are available to enable you to test the DRT tools with
your project. The SOMNIUM advanced project importer makes it easy to
migrate your code to DRT for evaluation and future development work.
The trial licenses are fully-functional but time limited. This means
you can test all the features of DRT on a full-size project to ensure
it meets your needs.