As the other reply said, to a certain extent you have to trust your customers. Big companies don't want to be exposed to liability - I know of a large organization that accidentally skimped on their license accounting for a database product (not Oracle) and got handed a $40m bill. They negotiated it down from there, but still, people lose their jobs over things like that.
Along those lines, the contracts that customers sign should always include a clause that says you have the right to audit them if you believe they are not in compliance. Typically, you don't want to do that unless you absolutely have to, but it can be a useful tool when renegotiating enterprise "all-you-can-eat" support contracts.
Still, there's technical stuff you can do. Log the IP address, hostname, hostid, mac address, and so on into your logs on startup. Then, when a customer submits a support case and uploads log files, store that info somewhere. Or create a "support package" that includes anonymous usage data and ask customers to upload.
But the absolute last thing you want to do is deal with licenses and keys and hard limitations. All you'll do is piss off your customers when they hit their hard limit under a deadline at Friday at 4pm.
Comments
As the other reply said, to a certain extent you have to trust your customers. Big companies don't want to be exposed to liability - I know of a large organization that accidentally skimped on their license accounting for a database product (not Oracle) and got handed a $40m bill. They negotiated it down from there, but still, people lose their jobs over things like that.
Along those lines, the contracts that customers sign should always include a clause that says you have the right to audit them if you believe they are not in compliance. Typically, you don't want to do that unless you absolutely have to, but it can be a useful tool when renegotiating enterprise "all-you-can-eat" support contracts.
Still, there's technical stuff you can do. Log the IP address, hostname, hostid, mac address, and so on into your logs on startup. Then, when a customer submits a support case and uploads log files, store that info somewhere. Or create a "support package" that includes anonymous usage data and ask customers to upload.
But the absolute last thing you want to do is deal with licenses and keys and hard limitations. All you'll do is piss off your customers when they hit their hard limit under a deadline at Friday at 4pm.