AW: Software License Manager
Malte Brill
revolution at derbrill.de
Mon Sep 8 06:27:03 EDT 2008
Hi Tiemo,
I guess everyone has a different take on this and there are quite a
few options. I will for sure not claim completeness in this email,
nor will I claim to be right in any point I make. :)
I think it is important not to be paranoid about piracy. There will
always be the cheapstakes that will try to get everything for free.
Those will never be your customers. They just won't. If they can not
get it for free, they will search for something different. I donĀ“t
think these people is what I need to care about. If I use something
sophisticated to "protect" my work, I only risk to challenge someone
to get around my protection scheme. And if they try, they will get
around it. Using 3rd party technology like wrappers around your
application only increases the likelyhood that a cracker has it
easier to get around the protection. If the protection technology is
cracked for any other application, it will be fairly easy to get
around it for MY app. too if it is protected using the same
technology. I would only considder a wrapper option, if I used a
payment processor with an affiliate system, that stores data in the
wrapper to pay out my affiliates (custom builts)
IMHO it is important to make it easy enough for a person that is
willing to open the wallet to do so. And leave them with a "Yes, it
was worth to pay for it" feeling. This is not only about the
techology you use to protect your work, but also about the experience
in buying it. Depending on the kind of application you develop and
the way you deliver to your users, you have different options, which
can leave your users with a positive feeling about your software or
mildly to terribly annoyed.
If you deliver on a disc, you might require the disc to remain in the
drive, which I would not like to use. I would prefer all the stuff
installed on my HD or if I need to save space, have the option to run
of the Disc.
If you deliver download versions you might go the timeout or the
crippleware approach. A timeout can be based on a date xyz days after
install, a given time of actual use or a number of launches, while a
crippled version would become only fully functional after the app has
been purchased. Both approaches require the user to enter an unlock
code that he has to purchase from you. For different types of
programs, different approaches might be the best fit. These methods
require that you store some information in a sensible place on the
users machine. So you would need to take care that the file is not
too easy to find if you go with a timed copy. If you store the key
for a crippled application, that would be less important, as it would
not make sense to delete the unlock code and thus reverting the
programm to demo mode. You have the option to call home, to check if
the key they are trying to use has been stolen, but I do prefer not
to. I do not trust apps that call home, why should anyone else?
It is important to make the entering of the key as easy as possible
(I learned that the hard way). Give an option to paste from clipboard
and strip all whitespace before and after. Prompt the user if the
stuff pasted is wrong (multiple lines for example) Nothing is more
frustrating when you try to enter your user data and it is too
complicated. If this works in your app, it is important to make it as
easy as possible for your customer to pay you. If you have to click
more than twice on your homepage to buy your product they might have
lost interest already. If you use an online payment processor make
sure to send out the registration immediately. Here is how I do it in
my games:
Game times out after an hour playtime. It has an unlock code checker
and links to the order now page on my website. Payment is handled by
PAYPAL (I know, i know) Once purchase is done PAYPAL sends a so
called instant payment notification to my server. A PHP script
receives the IPN and extracts the relevant purchase data from the
IPN. The script then generates an unlock code that the checker in the
game will parse. This code is sent by email and displays the unlock
code to the user. The whole process is (hopefully) convenient for the
buyer, but also saves me a heap of work, as I do no longer need to
generate unlock codes by hand.
2 euro cents.
Malte
More information about the use-livecode
mailing list