Re: trial and licensing schemas
- From: Michael Ash <mike@xxxxxxxxxxx>
- Date: Fri, 20 Jul 2007 21:18:35 -0500
William Zumwalt <wizumwalt@xxxxxxxxx> wrote:
I have a cocoa app that eventually I'd like to release publicly next
year and want to start thinking about how to put in the trial days and
get ideas for licensing. It's a ways off, but would like to start
thinking about this.
I can imagine that for trial days, it would be something like X days
added to the current system time of the first run, but when thinking
how to protect from multiple installs, etc... it can get pretty
First, a bit of meta-advice: realize that pirates will always have a lot
more time to attack your application than you will have to defend it, so
in a sense this is always a losing battle. Further realize that many
(most?) pirates would never be paying customers no matter what you do and
so they are irrelevant; you must focus on the pirates who might be induced
to give you money. Also, any scheme which somehow causes a potential
customer not to buy is probaly worse than a scheme which causes someone to
pirate the app.
What it comes down to is that you should be unobtrusive and try to take
advantage of the 90/10 rule. Find the 10% of your effort which will get
you 90% anti-piracy effectiveness, then forget about the other 90%. It can
be tough to ignore piracy when you know there are other things you could
be doing, but in the end improving your app will get you more money than
making it harder to pirate.
One approach I like is to avoid trial periods and find some other way of
limiting the app. Trial periods put pressure on customers and leave you
vulnerable to exactly the sort of things you mention, whereas an app which
always watermarks saved files unless you enter a license gives the user as
much time as he wants to evaluate it, and can't be defeated by a
If you do go for a trial period, try to store the information in a couple
of different places and write your code to work even if some of them go
missing or give conflicting information. There's no way to hide this
information where a determined user can't get to it, but you can make it
difficult for a casual user.
Also, are there API's available that allow for automated web
registrations and different licensing schemas? What do you guys do?
For my personal projects I use eSellerate for my payment processing and
they provide libraries for this sort of thing. The downside is that a
popular library will be well known and more easily cracked, but the upside
is that it makes life easier for you. You'll have to decide for yourself
which side of the 90/10 rule this falls on. You may also be interested in
the AquaticPrime library.
Rogue Amoeba Software
- Prev by Date: Re: Application font?
- Next by Date: Re: trial and licensing schemas
- Previous by thread: Re: how to declare vars once for only certain classes
- Next by thread: Re: trial and licensing schemas