Software license management is a key process for all organizations and can be quite complex depending on its reach. It involves keeping an inventory of all purchased software licenses and lining that inventory up with deployed software installations. Read my blog, Best practices for software license management, which will serve as a prelude to what I have to share today.
In this blog, I’ll discuss how to maintain the status quo of software compliance.
Recap: Baseline activity
To prepare for software license management, you need to build a baseline. The baseline is made up of two parts:
- Take an inventory of all procured software licenses
- Take an inventory of all deployed software. The baseline is further fine tuned by ensuring that the deployed software does not exceed what has been procured.
Now, the bigger challenge is to maintain software compliance on a continuous basis. Unlike baselining - maintaining compliance isn’t a one-time activity, but a set of repetitive actions that need to be done regularly.
- Whenever I’m consulted for implementation of software compliance, my first thought is about user privileges. Empowering users to install software on their own is like poisoning software compliance. I press for admin and super user privileges to be revoked before I will even start working on a compliance project. In my opinion, it’s absolutely necessary. No amount of education and hand-holding will keep users off installable software files. So, it’s better to cut the access.
- If I plan on taking installation privileges away from users, I need to have an alternate plan in mind for maintaining their productivity. I create a dedicated team that installs software after verifying procurement and ownership details.
- I install a ticketing tool to raise requests along with a license database.
Sample process for handling software installations
I have developed a basic software license maintenance process (Figure A). The objective of this process is to install software only when licenses are available, hence ensuring compliance.
Step 1 : Request for new software to be installed
When a user needs an application to be installed, he or she registers a request. (Remember the user doesn’t have the rights to install on his/her own, even if the installation files are available.)
Step 2: Check the license database to see if the user has procured the requested license
The dedicated software license management team picks up the request, and checks to see if the user has procured the license for the requested software in the license database. It’s possible that the requested software may not reflect in the license database against the user directly; it could be covered under enterprise agreement or concurrent license as well. The license management team will have to check where the license category fits and take appropriate action. Read this blog to find out the widely used license types.
Step 3: We make the decision as to whether the license is procured or not.
Step 4 : Install license on user’s machine
If the user is identified as the owner of the requested software, the software license management team installs the software on the user’s machine, either by visiting the physical location or taking remote control of the machine. Some advanced tools provide the ability to automate installation directly through an agent residing on the user’s machine.
In some cases, it’s possible that the user has a license procured that is currently installed on another machine. In that case, I suggest uninstalling the previous deployment before starting with a new installation. This approach is risk-free, and protects proactively towards license compliance mishaps.
In Step 5, the deployed machine details are noted in the license database. If a software is uninstalled on one machine and deployed on another, both these actions are noted on the license database.
Step 6: Ask user to provide proof of procured license
If the software license management team does not find a license registered as a result of Step 3, it could be one of two reasons:
- The user does not have a valid license.
- The user has procured the license but the details are not keyed in the database.
Check with the user before shooting down the requisition.
Step 9: Request for software installation after procuring license
If the user does not have a valid license, the license management team simply has to close the call by asking the user to procure first and request next.
Step 8: Add new license details in license database
If the user has a valid proof of license, the software license management team adds the new license details on the license database first, and then proceeds with the installation.
Interfaces for software license management
The software license management process doesn’t work in a vacuum. It mainly interfaces with the asset management process. Let’s discuss the possibilities.
Asset management is a process that manages IT assets and its corresponding attributes, such as the owner, location, machine details among others. So, under asset management, I will know exactly who is using what machine, whether the machine is under warranty or not and other necessary details.
So how do software license management and asset management interact? Let’s say an IT asset is getting transferred from one owner to another. While this change takes place, all the licenses owned by the previous owner of the asset must be uninstalled and all the licenses owned by the new owner must be installed. So, the change of ownership for any asset must flow through software license management.
Let’s consider another case. An IT asset is identified for scrapping. The software license management team will first have to reclaim all the licenses installed on the machine (except the OEM licenses of course.)
When to implement software license management
If I were being consulted on complete ITIL implementation, I would start with IT asset management and follow it up with software license management. These two processes are directly related to finances in any organization, and the lack of it could spell doom even to the giants.