In this article, we will discuss about SLP (Software Licensing and Protecting) services provided by Microsoft. SLP services are designed to provide protection for our code and handle product licensing easily. It protects our code from reverse engineering (using tools like Reflector) and provides a secure license management system. Microsoft addressed the issues related to securing code and license management using SLP services. The main components of the SLP services are:
- SLP Server: This server allows us to host our own license management servers. It allows us to generate licenses based on machine or time dependent supporting various business models like pay-per-use, utility based pricing.
- SLP Online Service: Sometimes, it won't be feasible to host our own SLP server for license management. In those cases, we can use the SLP online services provided by Microsoft to handle license management activities.
- SLP Code Protector: This tool allows us to protect our code from reverse engineering and hacking.
Before moving into SLP Services functionality, we need to know the importance of license and code protection activities. We might be spending millions of dollars in developing a software product, expecting to get better returns on it. Even though our product is very helpful and being used by lot of customers, we won't get the complete returns due to lack of proper license system. Our product might have been pirated by hacking the license, or acquiring license from others like friends, sites etc. This kind of acquiring software will result a huge gap in the profits. So, we need to have good license management system to make sure our product is under use as per the license agreement.
Below figure shows the piracy rate by region wise as per "Fourth Annual BSA and IDC Global Software Piracy Study" for year 2005 and 2006.
Above statistics shows around 35% of the software in use is pirated one. So, we need to consider license management as part of our business.
As an ISV (Independent Software Vendor) of a product, we want our product to be secure from license hacking/misuse and reverse engineering. At the same time, we cannot invest huge amount just for protecting our product. Few ISVs can make investment for finding new techniques of protecting their software. But, hackers can break it, leading to countless unauthorized installations. So, we need an infrastructure that provides an integrated solution that addresses the challenges of securing code, adapting to changing business models easily at a better cost.
Microsoft came up with SLP services to provide healthy software system having integrated solution addressing the above challenges at a low price. SLP tools provide customers with an option to buy, or activate or upgrade your software product easily.
This tool reduces the development time by redirecting the license and securing code tasks towards it from the developer's hands.
Now, we will move into the risks faced by an ISV. As an ISV, there are lots of risks involved from designing to marketing of the product. Few of them are:
Reverse Engineering: A user can do a reverse engineering on your .NET code using tools like reflector, which in turn leads to exposing of our intellectual property like code or embedded resources to others.
User piracy: A user makes an unauthorized copy of software for his use, or gives that copy to others.
Internet piracy: Users download illegal copies of software from Web sites or across peer-to-peer file sharing networks.
Software counterfeiting: Pirates illegally duplicate and sell copyrighted, packaged software with the intent of duping the purchaser into believing it is a legal copy of the application.
License noncompliance: Many companies, often without realizing it, have more seats of software installed than their licensing agreement permits.
Hacking: Users try to hack the license key of the product and uploads it to a site for others.
Each of the above risks, results in huge losses. With increasing broadband services, it's becoming quite hard to protect our products.
SLP Services provides highly sophisticated protection and licensing system, which reduces piracy, increases compliance and profits.
SLP Services provides not only security to our product but also improves Agility. As software products are reaching high cost, customers want to pay for what they use only. So, we need to design our product in such way that specific functionality should be enabled on a particular version for a particular user. By using SLP's SKU Agility, we can easily implement this. It will break down our product into reassemble packages, with each package having its own price and license needs.
Now, we will move into the benefits provided by SLP Services:
- It provides an innovative and new business model that satisfies changing customer's needs, preferences like trails, rentals, subscriptions etc.
- Create, distribute and secure software licenses easily.
- SKU Agility lets your product meet customer needs by tuning the feature set to match their exact requirements.
- Strengthen license security.
Apart from the benefits, SLP Services provides following business models:
- A simple registration process
- On-demand purchasing
- Trial versions
- Time-, feature-, and component-use licensing
SLP Services changed the belief of implementing product activation by a developer is hard by providing flexible tools.
I am ending up the things here. In next article, we will look into internals of SLP Services. I hope this article will be helpful for all.