Enterprise software often needs to support concurrent user licensing - where multiple employees share a limited pool of licenses. This guide shows you how to implement floating licenses in your .NET applications.
What Problem Do Floating Licenses Solve?
Imagine selling software to a company with 100 employees, but only 20 use it simultaneously. With traditional node-locked licenses, you'd need to sell 100 licenses. With floating licenses, you sell 20 concurrent-use licenses that any of the 100 employees can access.
The business case:
- Customers pay for actual usage, not potential users
- Reduces software costs for enterprises
- Increases your sales to larger organizations
- Prevents license waste from inactive users
How Floating Licenses Work
Unlike node-locked licenses that bind to specific machines, floating licenses operate from a central license server:
- Application starts → Requests a license from the pool
- License available → Granted and marked as "in use"
- Heartbeat signals → Application proves it's still running
- Application closes → License returns to the pool
- Crash or timeout → Server automatically releases the license
Check out the QLM license models documentation on GitHub for more details.
Implementation with Quick License Manager
Quick License Manager provides two deployment options for floating licenses:
Cloud-Based Floating Licenses
The QLM License Server runs in the cloud, managed by Soraco. Your applications connect via HTTPS to check out licenses.
Advantages:
- No server infrastructure to maintain
- Automatic updates and monitoring
- Built-in redundancy and uptime
- Works for distributed teams globally
Learn more: Cloud-Based Floating Licenses
On-Premise Floating Licenses
You host the QLM License Server on your own infrastructure or your customer's network.
Advantages:
- Full control over the license server
- Works in air-gapped environments
- Meets strict security requirements
- No external dependencies
Documentation: On-Premise Floating Licenses
GitHub reference: How-to guides
Key Technical Considerations
Heartbeat Mechanism
The license server needs to know when an application crashes without properly releasing its license. QLM uses configurable heartbeat intervals:
- Application sends periodic "still alive" signals
- Server expects heartbeats within the timeout window
- Missed heartbeats trigger automatic license release
- Prevents licenses being locked by crashed processes
Network Dependency
Floating licenses require network connectivity to the license server. Consider:
- Connection failures - How long should the app continue working?
- Grace periods - Allow brief disconnections without termination
- Offline checkout - QLM supports temporary offline usage
Hybrid Licensing Models
You can support both floating and node-locked licenses in the same application. This lets you offer:
- Floating licenses for enterprise customers
- Node-locked licenses for individual users (see computer-bound keys)
- Mixed deployments within the same organization
See: Supporting floating and node-locked licenses together
Advanced Features
Product Properties
Customize license behavior using product properties to:
- Set different feature sets per license
- Control expiry dates for specific features
- Define custom license attributes
Maintenance Plans
Implement upgrade protection with QLM maintenance plans:
- Control which versions customers can upgrade to
- Manage perpetual licenses with optional upgrade subscriptions
- Validate version entitlements during activation
View the complete feature list for all supported capabilities.
Comparison with Other Licensing Models
For different use cases, consider:
- Trial licenses - Time-limited evaluation periods (see implementation guide)
- Offline activation - Air-gapped environments (QR code approach)
- License protection - Understanding the difference from code obfuscation (read more)
Getting Started
To implement floating licenses in your .NET application:
- Choose your deployment model (cloud vs on-premise)
- Configure the QLM License Server
- Integrate the QLM SDK into your application
- Set heartbeat intervals and timeout policies
- Test license checkout, heartbeat, and release flows
GitHub Resources:
Conclusion
Floating licenses make enterprise software more accessible by reducing per-seat costs while maintaining license compliance. Quick License Manager handles the complex server infrastructure, heartbeat monitoring, and failover scenarios - letting you focus on your application features.
Explore the GitHub repository for detailed documentation and examples.
Need help with .NET licensing? Visit soraco.co, check out our GitHub repo, or read our other licensing tutorials.
Top comments (0)