Hi, I have been reading several posts about anti piracy and have been thinking about the pros and cons of various schemes. I know that it is not easy or cheap to prevent piracy entirely so I would like to implement enough measures to encourage most potential customers to purchase a licence!
I really don’t like using dongles and as a consumer, I tend to avoid purchasing software that uses one. I am also less keen on purchasing from smaller companies that only offer online activation as I would be relying on the licencing server being available in the future. For this reason, I am increasingly liking the idea of using an RSA encrypted keyfile containing user information only (not tied to hardware IDs).
The pros of using a keyfile instead of online activation are:
- Users can keep a copy of the keyfile forever and activate it on a new machine in the future.
- Activation is offline so users don’t have to rely on the company maintaining a licence server forever.
- Activation is easier for users and should reduce support costs.
- The web server code is far easier to implement.
The cons are:
- The keyfile can be easily shared with non-paying users.
- I can’t think of any way to prevent shared keyfiles from being activated.
- I can’t think of any way to deactivate licences.
Online activation is still somewhat appealing as it offers more control over licence activation. However, it adds so much complexity at the web server end. It also comes with the responsibility to keep the licencing web infrastructure maintained well into the future to ensure that users can still activate the software.
I am hoping to price the software somewhere around £150 to £200. Is it too risky to provide permanent keyfiles? Is there a way to prevent keyfiles from being shared? Alternatively, is online activation (using hardware IDs) worth the additional coding & maintenance effort for a product in this price range?
I would love to know your thoughts on this!