This is about software licensing for automated software distribution, and some recent changes in licensing methods. Quick summary: both Microsoft and Adobe are introducing Licensing Servers as the way to control licenses for volume use.
If you wanted to distribute software automatically up to now you generally needed a volume license. A volume license enables you to use the same serial number for more than one installation. Therefore you can provide the serial number with the media to perform an automated installation on more than one computer. For example, with Adobe Photoshop Elements, you add the license number as a parameter in the setup and no user input is required at all. It can be deployed automatically using Group Policy or a software distribution product like SMS or Altiris.
Volume licenses are prone to theft. The license number has to be visible to be used, and can therefore be copied. If the number can be copied it can be stolen. Also, more installations can be made than the license provides. So the system relies on honesty, and using a software inventory system to check how many copies are actually in use.
The next step in license protection is online license checking. The serial number provides a proof of purchase, and you go online to exchange this for a key, a process known as activation. Unfortunately this directly conflicts with automated distribution, and therefore results is a lot of expense and inconvenience for the customer. A few examples:
- Someone needs to attend the installation to go online and activate the license
- If you want to reuse the license on another PC you need first to deactivate it
- If you rebuild a PC without first deactivating the license, you need to correspond with the vendor to cancel the activation and enable reuse. Vendors have opening hours, so if you are in Europe or Asia and you need to re-enable a license from a vendor in the US you are going to have a delay.
- Some products have a fixed number of installations associated with a serial number, so if you need more you need another serial number, and from that point have to keep track of how many installations have been made with each serial number.
You can imagine that if you have a high staff turnover, or if you run a design studio, you could spend a lot of time administering licenses.
Microsoft products like Windows and Office retail versions use online checking and therefore have these problems. Microsoft up to now effectively have bypassed license checking for corporate customers by giving them an activation number that is not exclusive to one computer and not checked online. This means they have the same problem with theft as with a standard volume license.
Adobe operates the same way. For products like Acrobat, Photoshop and Illustrator Adobe provides a volume license with no license checking.
For some reason theft seems to be prevalent in the creative industries which therefore use online checking more extensively. Movie Magic Scheduling from Entertainment Partners shows the problem. Movie Magic requires online activation. You can obtain a volume serial number, but each installation still requires manual activation. If you buy more licenses these can not be added to the same serial number, so you need to keep track of each installation and record which serial number was used. AutoCAD from Autodesk is another one. AutoCAD lite requires activation for each installation and does not have a volume license. This puts up the cost of administering AutoCAD considerably. AutoCAD proper has a volume license, but each installation needs to be activated manually.
Final Draft shows how to do activation properly. Final Draft is the number one script writing tool. Final Draft uses a simple online activation for retail and volume licenses. To work round the inconvenience you can run Final Draft with the CD in the drive, or you can activate it for up to two installations, for use by the same person only. The volume licenses are flexible, and more licenses can be added to the original license number. For automated deployment Final Draft use a network licensing service, KeyServer from Sassafras. This is similar to online activation, but the service runs on your own network and so can be automated. You need to use the KeyServer enabled version of Final Draft. Then you need to set up a KeyServer licensing service on the network, and add your volume license for Final Draft to the KeyServer service. When Final Draft starts, it looks for the KeyServer, and draws down one license. The license is checked each time Final Draft start. This means that a laptop would have a problem off the network, but KeyServer has a Checkout facility that lets you opt to check a license out for a specified period. This reduces the number of licenses available to other users, but means that you do not need to contact the licensing server until the checkout period expires. KeyServer is an independent product, but the software needs to be KeyServer-enabled to use it, meaning that its license checking is deferred to KeyServer.
The network licensing server is the way to go to combine license checking with ease of deployment. Microsoft already does this with client licenses, for example for Terminal Services. Your licenses need to be entered into a Terminal Services Licensing Server, and the client contacts the licensing server to see if it is allowed to run. This makes the licensing server a key part of the infrastructure. If the terminal services licensing server can not be contacted, the client will not run.
Now Microsoft and Adobe are adopting the licensing server approach more widely. Windows Vista volume versions will require activation from a network licensing service, the Key Management Service (KMS). Adobe products starting with Acrobat are going to use the new Adobe License Manager service. There is a really interesting background to this.
A product called FlexLM has provided a popular network licensing service for a while, like Sassafras KeyServer but predominantly for Unix and Mac products. AutoCAD have a version using FlexLM for network licensing. FlexLM was originally developed by Globetrotter, and later marketed by Highland Software. Then it was acquired in 2000 by Macrovision, and renamed FlexNet. Macrovision started by creating copy protection for videos and DVD’s. Macrovision also acquired Installshield, the leading developer of software installer or packaging tools, in 2004. So now Macrovision own both the leading software packager and the leading software licensing service. Adobe products use Installshield for their installers, and now Adobe volume products will be activated by FlexNet technology rebadged as the Adobe License Manager (ALM) service.
This is great news for Adobe licensing as it makes it much easier to automate. However it raises a question: how many different licensing services will you need to operate, how will you operate them and would it not be easier if there was only one? The new standard for software management, ISO 19770-1, defines the process for managing licenses, but not a method. The proposed new standard, ISO 19700-2 defines a new method called a TAG, that has a unique ID for each software instance, but the standard is not expected to be agreed before 2010, which means we are likely to have multiple methods until at least then. However if other vendors choose FlexNet, we could have a standard licensing server on the network before then.
Licensing servers are easy to set up, although you need to be familiar with how each one works. For example, you need to know that the Microsoft Terminal Services Licensing Service in Enterprise mode (as opposed to Domain mode) does not work across the enterprise as you might expect but only across all domains on one site. You need to provide redundancy in case a licensing server fails, and you need to provide one per site in case a site link fails. I see an opportunity to provide a licensing server appliance in a device like a router box, able to run all the different licensing services you will require on the network.