Hit by a bus

What could I do to ensure continuity for my customers if your activation service went permanently offline for whatever reason?

Ideally I'd be using the 'IsGenuine' function call every 30 days or so to ensure a license hasn't been de-activated.

Let's imagine my customer is using the software 5 years from now, and the activation service has become permanently unavailable. Would I be able to put my own in place?

Hey Alex,

We've covered this a few times before. The short answer is that you can host LimeLM on your own servers and it has absolutely no communication with our severs. And/or you can get source code escrow.

As as business we're profitable and growing. I have no intention of selling my company.

So if you want to run LimeLM from your own servers, you can.

Thanks for the link - I hadn't been able to find anything on it myself.

I'd like the convenience of using LimeLM as SaaS and would hope that your servers will run for a very long time. I'm just trying to understand what I'd be able to do if your service went down for whatever reason. I'm not sure if code escrow would help - how would my software know to use the new server?

I guess I could add some code to have my software ask my server whether to call IsGenuine - but I feel like I'd be adding a weak link in the protection chain.

I'd like the convenience of using LimeLM as SaaS and would hope that your servers will run for a very long time.

We plan to - it's profitable and growing, so we would have no reason to shut it down.

I'd be able to do if your service went down for whatever reason. I'm not sure if code escrow would help - how would my software know to use the new server?

You'd have to update your app with a new version of TurboActivate that talks to your servers.

I guess I could add some code to have my software ask my server whether to call IsGenuine - but I feel like I'd be adding a weak link in the protection chain.

Yeah, don't do that.

You'd have to update your app with a new version of TurboActivate that talks to your servers.

My application doesn't have an automatic update feature. Updating and distributing an old app in 5 or 10 years time is the scenario I'm trying to protect against.

I guess I could add some code to have my software ask my server whether to call IsGenuine - but I feel like I'd be adding a weak link in the protection chain.

Yeah, don't do that.

Currently this is the only way I'd feel comfortable including the periodic de-activation call. I'm looking for better suggestions.

Another way to handle it would be if the IsGenuine call was made to http://www.myserver.com/check - which just forwarded the call onto your server, but which I could have return a 'true' response in the event your server was down. Consider that a feature request, assuming it is not there already.

I'm sorry if this question is uncomfortable (n.b. feel free to delete the thread), but activation is really core to a software business - if I'm outsourcing it, I've got to make sure I retain full control.

My application doesn't have an automatic update feature. Updating and distributing an old app in 5 or 10 years time is the scenario I'm trying to protect against.

Sure, I realize that. You're asking what happens if we go out of business. I'm giving you the worst case scenario.

However, we're not going out of business in foreseeable future. Nor do we plan to go out of business.

Currently this is the only way I'd feel comfortable including the periodic de-activation call. I'm looking for better suggestions.

The better solution is to host LimeLM on your own servers. If you do something like you were suggesting then you'd be adding a bottleneck (not to mention another point of failure) to the process.

I'm sorry if this question is uncomfortable (n.b. feel free to delete the thread), but activation is really core to a software business - if I'm outsourcing it, I've got to make sure I retain full control.

I'm not uncomfortable at all. These are all reasonable questions. If you want complete control then host LimeLM on your own servers. It's pricier, but you'll have absolute control of everything (nothing is communicated to our servers).

I'm not uncomfortable at all. These are all reasonable questions. If you want complete control then host LimeLM on your own servers. It's pricier, but you'll have absolute control of everything (nothing is communicated to our servers).

So just in case you missed it - the ideal scenario would be to have the convenience of SaaS, but control in the event of a problem. So please consider my suggestion of the URL redirection for the isGenuine call.

So just in case you missed it - the ideal scenario would be to have the convenience of SaaS, but control in the event of a problem. So please consider my suggestion of the URL redirection for the isGenuine call.

We've considered it before, but we don't plan on implementing it. Adding a redirecting causes 2 problems:

  1. Your servers will be a speed bottleneck. (Speed matters).
  2. If your servers are down then the user won't be able to activate.

That's why we recommend choosing one or the other. Our hosted version of LimeLM or hosting LimeLM on your own servers.

If you want to host LimeLM on your own server at a later time, then you can certainly do that and we'll make it easy to move to your servers.

We've considered it before, but we don't plan on implementing it. Adding a redirecting causes 2 problems:

  1. Your servers will be a speed bottleneck. (Speed matters).
  2. If you servers are down then the user won't be able to activate.

Agreed - these are problems.One possible solution would be (in the case where a customer wants to use the feature) to make two calls - one to your server, one to the customer server(usually redirected to your server) - as soon as either one returns true the condition is met.

Problem solved?

[*]If you servers are down then the user won't be able to activate.[/list]

Oh - also, i'm not worried about activation - only worried about this periodic call that my software needs to make to check if should deactivate.

One possible solution would be (in the case where a customer wants to use the feature) to make two calls - one to your server, one to the customer server(usually redirected to your server) - as soon as either one returns true the condition is met.

Problem solved?

Is this something you absolutely need before you switch to LimeLM? The reason I ask is that is a doable idea, but it's extremely "hacky".

No, I think I've figured out a workaround. I've mentioned it by e-mail, but don't want to detail it publicly.

I think this question is going to keep coming up for you. It would be comforting for me, and make your value proposition stronger if you were able to plausibly say,

"Even if we were to disappear from the face of the earth tomorrow, it wouldn't cause a problem for you or your customers because . . . . "

"Even if we were to disappear from the face of the earth tomorrow, it wouldn't cause a problem for you or your customers because . . . . "

... you can host LimeLM on your own servers or get source code escrow ensuring you'll always have access to LimeLM even in the unlikely case of us going out of business.

I've mentioned it by e-mail, but don't want to detail it publicly.

I'll respond to your email shortly.