Software licensing: risk, value and flexibility

Posted on June 17, 2016

Written by Jamie Packer, VP of Customer Engineering

Choosing 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.

Software 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).

There 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.

The 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.

SOMNIUM licensing

To 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.

A 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 simultaneous 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.

A 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.

The 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

It is very important that the license management is simple to set up, robust and reliable.

To 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).

For 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 server.

See the SOMNIUM Portal for full instructions on installing SOMNIUM DRT and activating a license.


The pricing of the DRT tools, combined with the flexible licensing terms, mean that DRT is a very competitive solution for professional software developers.

The 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.

Free 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.


Download a free trial of SOMNIUM DRT

   Got a question?