Implementing a 30-day trial period 
Author Message
 Implementing a 30-day trial period

Hi,

I've got 2 questions.
1) How do you implement a 30-day trial period.
2) How do you prevent the (average non-computer literate) user from re-
installing a program after the 30-day trial period.

Can you do this by putting the installation date in the windows
registry? In that case, I could use the clock command and calculate the
number of days that the program has been tried for.

I came upon the 'package require registry 1.0' command in Foster-
Johnson (1997)...but it looks all magic to me.

Does anyone have code for this?

Thanks
Alain.

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Sat, 01 Mar 2003 17:17:02 GMT  
 Implementing a 30-day trial period
/ 1) How do you implement a 30-day trial period.
/ 2) How do you prevent the (average non-computer literate) user from re-
/ installing a program after the 30-day trial period.

One way is to encipher the current time and write it twice into a file.
You can decipher the timestamps and compare them to the current clock
time, and update the second encipher timestamp in the file. If the second
timestamp is less than the current clock, they set clock back (an old
trick to defeat licensing). If the first timestamp+30 days is less than
the current clock, the license expired.

The problem is finding a good file to do this in. Our company requires the
customers request the 30 day license so the existence of an explicit
license file is not a problem. If you want the software to adapt to 30
days+the first use, this license file can be found and deleted to defeat
the license constraints. How sophisticated do you want to be? One
possibility is to stuff it into the tcl script file itself.

If you don't have real cipher code and unsophisticated users, you can use
something like gzip to cipher the timestamps.

=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Sign up for WASHINGTON MUTUAL BANK's special
We Rob You While You Sleep Service TODAY!
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
CACS: Collective Against Consensual Sanity       v0.123
pretty pretty <blink>    http://www.tsoft.com/~wyrmwif/
All new and improved web pages!   Bookmark yours today!
:)-free zone. </blink>        Elect LUM World Dictator!



Sat, 01 Mar 2003 19:16:47 GMT  
 Implementing a 30-day trial period
You'll also need to encrypt or byte-compile your TCL code using something
like freewrap if you want to stop canny users from looking through your TCL
source and commenting out calls to your licence-checking procs.

Tools like freewrap and the TCLPro compiler can help with this:  have a look
around on http://dev.scriptics.com .

We have our own in-house TCL encryption-decryption but I'm not permitted to
make it public.

Steve Ross

Useful tip:  during the current Europe-wide fuel blockades, use Sunny
Delight as an ideal substitute for unleaded petrol or diesel.



Sat, 01 Mar 2003 23:24:44 GMT  
 Implementing a 30-day trial period

Quote:



> > :2) How do you prevent the (average non-computer literate) user from re-
> > :installing a program after the 30-day trial period.

> > The bottom line here is that you can't guarantee it.  You can attempt to
> > hide a file somewhere indicating an installation.  However, a wipe of the
> > disk, a disk recovery, a replacement of a disk (or Registry), the use of a
> > different machine, etc. all are relatively common events in a computer
> user's
> > life...

> Hence why there are a number of commercially available license systems out
> there that attempt to circumvent this.

> On (non-Intel?) Unix boxes, it's awfully common to use FlexLM (an
> encryption-based system that relies on a machine ID, usually a part of the
> ethernet address of a built-in network adapter).  Transferring a license to
> another machine requires contacting the vendor for a new license (most
> vendors allow a reasonable number of rehosts in a given year).

> This isn't as popular on Windows; most systems there seem to use a dongle
> attached to the parallel port or a USB port (but only rarely because NT 4
> doesn't support USB).

> Contacting a global server is becoming surprisingly common, too (but there
> are tons of privacy concers with this).

> At any rate, the key is to base the licensing system off of something the
> user can't (or would find probitively difficult to) change.

You might want to note that we use flexlm for Source-Navigator when
it was a for pay product. It generated TONS of support calls
(heck, we get a couple of support calls a week about this and
SN has been GPLed).

Folks had far more problems getting the license to work than actually
running the product. You might need to keep this in mind if you
are trying to hold costs down. It might be cheaper to not use
a license manager at all. You don't want customers to skip your
product because they could not get the LM to work.

Mo DeJong
Red Hat Inc



Sun, 02 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period
                        .
                        .
                        .
Quote:
>You might want to note that we use flexlm for Source-Navigator when
>it was a for pay product. It generated TONS of support calls
>(heck, we get a couple of support calls a week about this and
>SN has been GPLed).

>Folks had far more problems getting the license to work than actually
>running the product. You might need to keep this in mind if you
QOTW
>are trying to hold costs down. It might be cheaper to not use
>a license manager at all. You don't want customers to skip your
>product because they could not get the LM to work.

                        .
                        .
                        .
And FlexLM is one of the *good* license schemes.

If there were a newsgroup for business models, I
would have included it here.  I think about these
things every day.  Part of the point of Mo's anec-
dote is that there is NOTHING remarkable about it.
People regularly pay $50 or $100 dollars for a
product, then spend another $1000 to get it
installed adequately.  The economics of computing
is seriously perverse.
--


Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



Sun, 02 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period
Quote:




> > > :2) How do you prevent the (average non-computer literate) user from re-
> > > :installing a program after the 30-day trial period.

> > > The bottom line here is that you can't guarantee it.  You can attempt to
> > > hide a file somewhere indicating an installation.  However, a wipe of the
> > > disk, a disk recovery, a replacement of a disk (or Registry), the use of a
> > > different machine, etc. all are relatively common events in a computer
> > user's
> > > life...

> > Hence why there are a number of commercially available license systems out
> > there that attempt to circumvent this.

....
I think that there are three levels of the solution, depending on your expected
profits from the sale:

- minimal, ask for 20-50$ on honor system, implement simple 30 day trial via
hidden installation file or registry entry. some users will cheat, but you save
on your own investment

- medium: require users to ask for the license (even automated e-mail) not
automatic 30-day from the installation. Additional advantage - you have a trace
of who and when tried it. You may discourage one or two, but on the average they
have more respect for its' value ("it is not completely free and automatic, so
maybe it is worth something" - With fully automatic 30-day period, I often
download, install, click few buttons and thats it). License may be very simple:
expiration date - not necessarily even tied to a system ID - in plain text with
the scrambled checksum at the end. You may want to poke around the disk or
registry if you find any files with futuristic dates, but then tell the user
about it (We've spent few days trying to fugure out what happened to a
legitimate FlexLM license which refused to work because we downloaded some files
from messed up ftp server)

- heavyweight: use commercial license, have support person to issue and maintain
those, if you expect real downpour of license money and significant number of
users.

--
Tadeusz
:: The public opinion should be alarmed by its own nonexistence
:: (512)467-0618 ext. 526 ::       Stanislaw J. Lec, trans. TJL



Sun, 02 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period


:2) How do you prevent the (average non-computer literate) user from re-
:installing a program after the 30-day trial period.

The bottom line here is that you can't guarantee it.  You can attempt to
hide a file somewhere indicating an installation.  However, a wipe of the
disk, a disk recovery, a replacement of a disk (or Registry), the use of a
different machine, etc. all are relatively common events in a computer user's
life...

And what to do about someone who has installed your software, and then
found it got corrupted or partially deleted and who wants to finish up
the 30 day trial?  Or who has used the software for 25 days, decided to buy
it, mailed you the check, and then finds the expiration date has run out
before the 'real' version arrives?
--
<URL: https://secure.paypal.com/refer/pal=lvirden%40yahoo.com>

Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.



Mon, 03 Mar 2003 00:05:01 GMT  
 Implementing a 30-day trial period

Quote:

> :2) How do you prevent the (average non-computer literate) user from re-
> :installing a program after the 30-day trial period.

> The bottom line here is that you can't guarantee it.  You can attempt to
> hide a file somewhere indicating an installation.  However, a wipe of the
> disk, a disk recovery, a replacement of a disk (or Registry), the use of a
> different machine, etc. all are relatively common events in a computer
user's
> life...

Hence why there are a number of commercially available license systems out
there that attempt to circumvent this.

On (non-Intel?) Unix boxes, it's awfully common to use FlexLM (an
encryption-based system that relies on a machine ID, usually a part of the
ethernet address of a built-in network adapter).  Transferring a license to
another machine requires contacting the vendor for a new license (most
vendors allow a reasonable number of rehosts in a given year).

This isn't as popular on Windows; most systems there seem to use a dongle
attached to the parallel port or a USB port (but only rarely because NT 4
doesn't support USB).

Contacting a global server is becoming surprisingly common, too (but there
are tons of privacy concers with this).

At any rate, the key is to base the licensing system off of something the
user can't (or would find probitively difficult to) change.



Mon, 03 Mar 2003 08:05:17 GMT  
 Implementing a 30-day trial period

Quote:
> People regularly pay $50 or $100 dollars for a
> product, then spend another $1000 to get it
> installed adequately.  The economics of computing
> is seriously perverse.

Which brings up the question: why would you stick such a licensing system on
a $50-$100 product?  (I can't think of any good reasons...)

We use it, but in our industry (EDA) products typically cost $10k-250k per
license.  $1k doesn't sounds so bad, then.  ;-)  Besides, despite all of its
pickiness and flaws, people know what to expect with FlexLM (e.g., we can
tell a customer to "add the -c switch to lmgrd" and they'll know what we're
talking about).  But this situation is quite the exception.

Tangent: I'm not a big fan of the (mainstream) application service provider
movement to begin with; I think all the quirks with licensing will turn off
users enough to potentially kill it.



Mon, 03 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period

Quote:

> Hi,

> I've got 2 questions.
> 1) How do you implement a 30-day trial period.
> 2) How do you prevent the (average non-computer literate) user from re-
> installing a program after the 30-day trial period.

> Can you do this by putting the installation date in the windows
> registry? In that case, I could use the clock command and calculate the
> number of days that the program has been tried for.

> I came upon the 'package require registry 1.0' command in Foster-
> Johnson (1997)...but it looks all magic to me.

> Does anyone have code for this?

> Thanks
> Alain.

> Sent via Deja.com http://www.deja.com/
> Before you buy.

   Use a compiled C library which check the locale date

mfg

  aotto

--
================================================================
Andreas Otto              Phone: ++49-(0)8152-399540

    Praezisionsnumerik    Web: http://home.t-online.de/home/aotto
Ulmenstrasse 3            Skills: Unix,Sql,Tcl,Shell,Sybase...
D-34289 Zierenberg        Area: Bank, FX, MM, shares, options
=================================================================



Thu, 06 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period

Quote:


>> On (non-Intel?) Unix boxes, it's awfully common to use FlexLM (an
...
>> This isn't as popular on Windows; most systems there seem to use a dongle
> You might want to note that we use flexlm for Source-Navigator when
> it was a for pay product. It generated TONS of support calls
...
> Folks had far more problems getting the license to work than actually
> running the product.

In a project that we did at my former company for a large corporate
customer, I built an extension that handled Tcl->FlexLM integration,
and we had a good deal of success with it. The thing that made it
easiest was there were very limited options in the distribution, and
we included a FlexLM lmgrd install in the distribution.  It was
reasonably easy to build the extension, but working out the installs
across 6 platforms (including Windows NT) really sucked up a _lot_ of
time and effort both on our part and the client's.

The biggest thing we found was pretty elementary - have people who are
not at all familiar with FlexLM or your product test the
install/first-run. They'll run into the wierdest stuff. Also, make
sure at least a few of the test installs are done in a networked
environment vs. standalone. That's when you hit the other problems
(environment variables not set, conflicting versions, directories,
permissions, etc.)

-Bill



Fri, 07 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period

online.de> writes

Quote:
>   Use a compiled C library which check the locale date

That's not really very good; those sorts of libraries are usually pretty
easy to break with a binary editor and a disassembler/decompiler.  A
smarter technique is to make the program that checks the date also be
the decryption key for a crucial part of the program being protected.

Of course, unless the product is extremely expensive, its going to be
cheaper overall (in terms of development and support costs balanced
against income from sales) to do the minimum effort.  Fancy stuff is
hard to write, goes wrong easily, puts off legit customers, and isn't
much of a barrier to the real Black Hats.  Leaving out major features
from the trial version (or concentrating on support contracts) will be
much more effective.

Donal.
--
Donal K. Fellows (at home)
--
FOOLED you!  Absorb EGO SHATTERING impulse rays, polyester poltroon!!
      (WARNING: There is precisely one error in this message.)



Fri, 07 Mar 2003 03:00:00 GMT  
 Implementing a 30-day trial period
Hi,
Thanks for all reactions.

I think I managed to produce a reasonable way to implement a 30-day
trial period.

Alain

Sent via Deja.com http://www.deja.com/
Before you buy.



Fri, 07 Mar 2003 03:00:00 GMT  
 
 [ 13 post ] 

 Relevant Pages 

1. 30 day trial support in ProtectedProductSessionManager

2. SecWin master password & 30 day trial setting

3. How can i get a 30 Day Trial Version License for VeriLogger Pro v6.5 ?(null)

4. 30-day trial copies of Compaq Visual Fortran now available

5. 1 day trial period????

6. 30-day evaluation version of ASMPUT now available

7. Help deleting files older than 30 days.

8. 30 day count down has begun!

9. More than 30 Days Past Due

10. List & Label 30 day evaluation templates released

11. Evaluation Activ-VHDL only for 30 days :(

 

 
Powered by phpBB® Forum Software