Extensibilty and Security
Usually software grows through the addition of new features. But when it comes to licensing software, new features aren’t necessarily a good thing.
- More features adds to the complexity of the software. It takes longer to learn to use the software, and easier to miss features that might be important.
- Complexity makes it harder to characterize the behavior of the software – and increases the attack surface.
With the release of version 2 of the software we hardly touched the core licensing system, adding only subscription support, the ability to disable keys, the ability extend demos, and a new mechanism to upgrade existing certificates rather than relying on reinstallation to update a certificate.
Instead we built a new extensibility and metadata management system. We used this system to implement several new features:
- Feature/module settings for installation codes.
- Define modules that can be unlocked on a client system using a password.
- The ability to revoke an installation – freeing an installation code to be used on another system (supporting software uninstall/transfer).
This resolves the complexity issue nicely:
- You only need to learn and test against features you choose to support.
- You can define extensions on a per-application basis – allowing you to control the licensing experience and scenarios for each application you license independently.
- You can extend the licensing system without modifying core code – meaning you can update your software in confidence.
Buy the Desaware Licensing System for $1495 (includes one client and one server license) |