You’ve nearly finished developing your software application, and now you begin looking for the next steps with regard to securing your app for delivery. After all, you have invested quite a bit of time in the development process, and you want to reduce the risk of people stealing your intellectual property. It’s also important to understand the difference between software “licensing” and software “protection.” Here’s a brief clarification.
Typically, the term “software licensing” is used to refer to protection of software against piracy and over-usage. Some examples of what software licensing technology allows:
Software licensing tools offer flexibility for managing license use within legitimate customer environments – as in, keeping honest people honest.
The term “software protection” refers to security against the loss of intellectual property. In the case of software, such loss may stem from:
Software protection provides more of a physical and logical security layer surrounding the application’s executables and other data files.
Software protection practices can be complex, meriting discussion far beyond this single post. The Protection PLUS 5 SDK Manual provides some high-level guidance meant to help you avoid the most common things that can lead to your application’s licensing mechanisms being bypassed or compromised.
For customers programming in Visual Studio.NET or Java programming languages, it is important to point out that these languages compile code into intermediary language code, which is compiled on demand when the application is executed. There are tools available to translate and reverse engineer this intermediary code back into source, so it is imperative that you select and use an obfuscation tool to further protect your application and your investments in it. Microsoft offers a good summary of this subject.
Depending on your company’s goals and requirements, you may want to consider a combination of software licensing tools and software protection tools, as they complement each other nicely. In many scenarios, it may not be required to implement a software protection scheme (unless you are programming in .NET or Java) in your product, but in most cases you will always have the need for software licensing to keep honest people honest and benefit from the many advantages of a licensing system.
Mike Wozniak is one of the co-founders of SoftwareKey.com and responsible for marketing, content and product strategy. When he isn't plotting new ways to help customers solve licensing and business automation challenges, he likes to travel and entertain guests who come to visit the Orlando area. He also writes most of the licensing tips here.
What is Cloud-Controlled Network Floating Licensing?
Why Software Licensing is a Smart Move
What you need to know about distributing and updating licensed software
Licensing for non-visual software and services
How to Protect a Web Application with Licensing Controls
7 Ways License Automation Increases Revenue and Saves Time