Licensing System

Here you can talk about anything related to BBC BASIC, not covered in another category
jimcroisdale
Posts: 2
Joined: Thu 27 Feb 2020, 12:32

Licensing System

Post by jimcroisdale »

Hi all,

I've written a price costing program for a niche industry and have a client that is very interested.

I want to know a simple way of making the program so that it will only run for say, one month, before requiring a new "password" to continue, or to just stop working altogether so I have to send them a new copy with another month's use-time on it.

This is because I want to be able to rent the software to them, rather than them paying a one-off fee.

Is this easily achievable?

Regards,

James

DDRM
Posts: 185
Joined: Mon 02 Apr 2018, 18:04

Re: Licensing System

Post by DDRM »

Hi James,

Richard may have much better ideas, such as keeping a record in the registry, which I wouldn't dare try (certainly not on someone else's computer!), but I guess it depends partly on how secure/bypass-able you want your system to be, and how big the incentives are for the company to "cheat".

A simple solution would be to read the system time/date using TIME$, and check it hasn't advanced too far from the date of installation/update/relevant password. Easy to bypass, by changing the system time, but (a) you need to know that's what to do, and (b) in a commercial setting they may need it to be correct in order to issue invoices, etc...

As a security check that they HADN'T fiddled the time, you could monitor it (i.e. that it is always increasing, and has increased by at least the runtime of your program).

You could get the program to keep a private data file, which would record the number/duration of times it had run, and cap that. You could also store the baseline time there, so it could be updated when they pay the rent. You'd probably want to encrypt the file in some way to make it harder for the user to re-write. A registry key would be a variant of this approach.

You could insist that your program had online access, and then it could check an online data file that you control before it would run - though if it were MY company I'd be pretty reluctant to agree to it! Of course, if your software needs online access anyway, then it's probably a bit more of an option.

This is a fairly common problem - is there a solution described on line? A similar topic is discussed here:
https://stackoverflow.com/questions/950 ... sage-times

Best wishes,

D

Edit: there's another useful discussion of a 30 day trial here:

https://stackoverflow.com/questions/202 ... time-trial

reassuringly, it says most of the same things I did...