Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Sep 1996 20:02:09 -0400 (EDT)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        terry@lambert.org (Terry Lambert)
Cc:        stesin@gu.net, ulf@lamb.net, jhs@freebsd.org, current@freebsd.org, serious@freebsd.org, commercial@freebsd.org
Subject:   Re: Licensing Software
Message-ID:  <199609260002.UAA23198@skynet.ctr.columbia.edu>
In-Reply-To: <199609252002.NAA06541@phaeton.artisoft.com> from "Terry Lambert" at Sep 25, 96 01:02:38 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Terry Lambert 
had to walk into mine and say:

> > Yea, so, I put a third box called a dummy router/NAT between them
> > and make them talk.  Novell Netware servers can be fooled into
> > operating this way (thats how I do server to server upgrades of
> > Netware, just put a router between them and spoof a few things,
> > works great, and no inplace upgrade risk, and no need for a second
> > license.)
> 
> All software soloutions *can* be spoofed.  The Flex/LM spoof is trivial,
> and can be easily using a shell script with a sleep delay and a
> background job.

I'm not sure what you're on about here. FLEXlm has a very serious fundamental
flaw, but it's not something you can exploit with just a shell script. But
that's neither here nor there.
 
> Other than forcing the PC to be redesigned (in which case, I say
> getting rid of ISA entirely is a more worthy goal than installing
> serial numbers, since I can trap the memory references and lie about
> those too), there's really no fix.

Yes! Exactly! So let's all throw our licensing software in the trash
and forget about the whole thing! (Algright, so I thinking wishfully
out loud. What do you want from me: I'm a sysadmin; if I have to install
one more licensed product, I'll scream.)
 
> Yet Linux, SCO, Solaris, and UnixWare all have license manager
> software, and you guys insisting on ethnic purity inre: the
> network interface is succeeding in doing nothing other than making
> FreeBSD a less attractive commercial platform.

Solaris/x86 doesn't use the network addresses at all. It does something
much worse: when you install it, it concocts a hostid value and writes it
onto your disk somewhere (not within a filesystem). This means that if
your disk ever fails and you reinstall it, you'll end up with a different
hostid and all your licenses will be crap. Think about it for a minute:
one of the things Sun licenses is their C compiler. If they used IP addresses
for the hostid, there'd be nothing to stop someone from bying a room full
of _NON_ _NETWORKED_ PCs, installing Solaris/x86 on them, buying one C 
compiler license and loading it on all the machines. If the machines were
not networked together, you could assign them all the same IP address and
the same license codes would work on all of them. Sun would not want 
you to do this since they'd lose a ton of money: they'd much rather you
purchased licenses for all the machines. But there'd be no way for them
to enforce this restriction if they used the IP address as a machine ID,
so they DON'T BLOODY DO THAT!

I don't know what they did for SCO, Linux or UnixWare. Having read the
FLEXlm user's manual, I do know that for Windoze, they do something just
as evil as Sun does with Solaris/x86: they use the 'serial number' that's
created when you format your disk. Again, if you toast your disk and
reinstall, your 'serial number' will change, and your licenses will be
useless. However, they also offer you a choice to use some other form
of system identification, either using a dongle or a MAC address from a
network card.

> Unless that's your ultimate goal, it seems pretty stupid to put
> forth arguments against instead of arguments for.

Licensing software is pretty stupid in general, but that hasn't
stopped vendors from using it.

So far, the only marginally clever system I've ever encountered is (as
I described in a previous message) is the one used with Framemaker. They
don't use any machine identification at all. You can run the license
server on any host, but it will only let you check out as many licenses
as are allowed by the license file. If you try to run another instance
of the server with the same license file (on some other host), the second
server will automatically synchronize with the first so that you'll still
only have as many licenses available as the your license file allows.
You get redundancy and the ability to run the servers on any hosts you
want.

Unfortunately, this system breaks down where standalone machines are
involved: if I have many stabdalone machines, I can install a server
process on each one, and there'd be no way for them to synchronize
with each other since they couldn't communicate. I can't think 
of a compromise here offhand. Maybe someone else can think of something.

-Bill 

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "If you're ever in trouble, go to the CTR. Ask for Bill. He will help you."
=============================================================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609260002.UAA23198>