Custom Licensing Solution - Serverless

Wyatt,

I have a second product I am building that has what I think are unique licensing requirements and I would like to get your thoughts on this......I will have devices (windows-based) deployed in customer locations and there can be no master node, the devices will be on the same network but they all must be able to operate independently of one another. I am not sure if I care how many nodes a customer runs, just that Customer X can't re-distribute their license to another customer to share.

I am thinking about just distributing a file on a flash stick that the customer can use/make copies of that basically just contains the name of the customer, some form of expiration date and the features to enable. This way customers are discouraged from sharing the encrypted license file as it will have that Customer's name on all of the UI and reports and the next renewal period (typically every year), I would just send the customer a nice flash stick with the latest details and provide a mechanism to load that information in my products' secure database.

What are your thoughts on this scenario / possible solution, is there anything I can leverage from Wyday to accomplish this or something you might be able to build as a custom offering?

Thanks,Todd

Hey Todd,

What you're describing is basically the textbook use of floating licensing: http://wyday.com/limelm/help/using-turbofloat/

The customer installs the TurboFloat Server on a computer somewhere on their network. Your app can be installed on as many computers as the customer wants, and you can limit how many of them can run at any one time.

And you don't need to fool around with dongles or USB sticks of any kind.

Does that make sense?

Wyatt,

Thanks! I agree Turbofloat could be a possible solution, I will take a look at that. The biggest challenge I may have is relying on an external website/service to do the activation, though I suppose I could use offline activation with Turbofloat.

Todd

Wyatt,

I have been further analyzing this solution....I need to make sure my solution is not dependent on anything but the node and there is a possibility that the node will never be allowed to connect to the internet so I don't know that I would be able to get the customer to submit an offline activation request as that would hold up node registration, thus violating the requirement that the customer doesn't have to interact with the vendor or the vendor's servers to perform licensing functions. In this scenario I would also likely need to have Turbofloat installed on each node so there is no master node and each node can activate itself.

Any suggestions for a use case like this??

Thanks,Todd

Dongles. If the client is going to be that difficult to service via network then I think hardware dongles is the answer there.

Either that or Turbofloat for each node but that would be ... er, fun ... to administer. The Turbofloat node could use offline activations - once you have a request code I assume you can send them a new activation code for the same machine if you change any details of the license - Wyatt?

Another suggestion - get easier clients or charge a lot more (in the industry we call it sh_t-tax, the tax you charge if a job is ... well, you know).

Or figure out a business model for a site license so this problem goes away. This is what I would do.

Putting the customer name very prominently in the app should stop them sharing around, particularly if the app is seen by 3rd parties. I do it for my app: http://www.tvcad.tv/help/

Honestly, you could just give them a "preconfigured node" (i.e. a computer with the TurboFloat Server already installed and activated with the customer's license). All they would need to do is connect it to their network.

You could even do this on dirt cheap "embedded" hardware. Like a Raspberry Pi. We haven't stress-tested the TurboFloat Server on a Raspberry Pi, but I bet you could get at least 1000 lease requests per second on that hardware. In other words, way overkill for even large companies.

Honestly, difficult customers will be difficult even if you give them the software for free and fly out to their location and hand-hold them using your product.

All - thanks for the suggestions.

If it was my customers being difficult that would be one thing, but I am in a market where federal/state law is at play. One of the primary challenges is making sure the software is not dependent on a specific supply chain, another words if a laptop with the software needs to be brought online, it needs to do so without care of the outside world / are the servers / internet connection up.

So my job as the software creator is to balance that with my desire to prevent many installations of the application being made / passed around without associated revenue and the needs of the market.

>> "One of the primary challenges is making sure the software is not dependent on a specific supply chain, another words if a laptop with the software needs to be brought online, it needs to do so without care of the outside world / are the servers / internet connection up."

Right, and that's the advantage of the customer installing, configuring, and activating the TurboFloat Server on their own hardware.

It's a trade-off either way you do it.

a) If the customer buys a piece of hardware from you pre-confgured with all the software, they now depend on you to "create" this "hardware package".

b) If the customer just uses the TurboFloat Server on one of their machines: they actually have to activate it. The activation can be done in a "clean room". Meaning the it never has to touch the internet (or even the LAN).

You have to decide which is the best option for your customers. Option (b) is the more logical choice, but customers aren't always logical.

As much as I love the idea of supporting known hardware for a customer, if your specific customer can't get internet or network access then you have very little chance of their IT overlords allowing a foreign device on their networks. Speaking from bitter experience here.