[net.unix] Limiting logons to licensed number: how?

bugoff2@ucbtopaz.CC.Berkeley.ARPA (J. Bradley) (07/24/85)

As a purely academic question: how do outfits like
DEC (Micro-Vax II) and VenturCom (Venix, DEC Pro/Venix)
limit the number of "init"'s for logons?  Both companies
want to charge a user license fee by the logon.  Both seem
to ignore the fact that often one will want more potentially
active ports than the cpu and disk would ever support, merely
to facilitate incoming modem communication at random times.

Again as a purely academic question: is the trick done in
the kernel, "/unix", or in "init", or where?

J. Bradley

paul@vcvax1.UUCP (paul) (07/25/85)

> As a purely academic question: how do outfits like
> DEC (Micro-Vax II) and VenturCom (Venix, DEC Pro/Venix)
> limit the number of "init"'s for logons?  Both companies
> want to charge a user license fee by the logon.

VenturCom has explored a couple of schemes to limiting the number
of simultaneous logins to our VENIX systems.  In VENIX version 2
(a.k.a. PRO/VENIX version 1) the number of logins was enforced by
"init".  In our new VENIX System V release 2 (PRO/VENIX version
2), the number of users is enforced by the kernel.  The latter
scheme is more robust:  the kernel counts the number of control
terminals and prints an error message if an attempt is made to
create more than the licensed number of logins.   Note that this
does NOT restrict the use of an arbitrary number of lines for
printers or for dialing out (e.g. with UUCP or CU).

I should point out that our licensing from AT&T is on a per-user
basis, so we are legally obligated to restrict the number of
users to the licensed number.

> Both seem
> to ignore the fact that often one will want more potentially
> active ports than the cpu and disk would ever support, merely
> to facilitate incoming modem communication at random times.

That's a good point.  In our new VENIX version, we've tried to
ease this problem through a new command called "ttystate" which
can be used to quickly enable and disable login lines.  The
approach which you seem to suggest would involve automatic
dynamic enabling and disabling of login lines.  Although this
seems feasible, I think it could be quite confusing for users
attempting to log in on a line which is sometimes available and
sometimes not.  The "ttystate" command has the virtue of being
simple and deterministic.


Paul Kleppner
VenturCom, Inc.
{harvard,mit-eddie}!cybvax0!vcvax1!paul

rad@faron.UUCP (Richard A. Dramstad) (07/27/85)

In article <1029@ucbtopaz.CC.Berkeley.ARPA> bugoff2@ucbtopaz.CC.Berkeley.ARPA (J. Bradley) writes:
>As a purely academic question: how do outfits like
>DEC (Micro-Vax II) and VenturCom (Venix, DEC Pro/Venix)
>limit the number of "init"'s for logons?  Both companies
>want to charge a user license fee by the logon.
> ...
>Again as a purely academic question: is the trick done in
>the kernel, "/unix", or in "init", or where?
>
>J. Bradley

  According to some notes I took at the Portland BSD4.3 internals
course, Ultrix uses BSD's quota mechanism to enforce AT&T binary
license restrictions.

Dick Dramstad

kre@ucbvax.ARPA (Robert Elz) (07/30/85)

>   According to some notes I took at the Portland BSD4.3 internals
> course, Ultrix uses BSD's quota mechanism to enforce AT&T binary
> license restrictions.

That's true, but "misuses" might be a better word.

This raises a question I have never known the answer to.

What is a "user" for the purposes of the user count on
a binary licenced system.

The quota stuff counts uid's with active processes, so that's
what DEC has defined a user to be.  (On a system licenced for
'8 users' the same person can log in 200 times if there are enough
tty lines or net ports available).  (I believe that DEC add 2
to the number, one for "root" and one spare for random daemons).

Another scheme would be to count reead/write opens of tty lines.
I believe that plexus does this (probably others, maybe its unisoft).
That means that lots of users can log in, start a background process
and log out, allowing another user to use the vacated tty line, so there
are far more users running processes than the cpu is licenced for.
(But not more logged in).  Disadvantage of this scheme is that you
can't enable "getty"'s on more lines than you're icenced for,
even if they won't all be used at once.  (The DEC quota scheme
doesn't have that restriction).  This also doesn't seem to handle
net logins at all.

So, does anyone know what a "user" is ??

Robert Elz			ucbvax!kre  kre@ucb-vax.berkeley.edu

pilotti@telesoft.UUCP (Keith Pilotti @shine) (08/02/85)

In article <112@vcvax1.UUCP> paul@vcvax1.UUCP (paul) writes:
>I should point out that our licensing from AT&T is on a per-user
>basis, so we are legally obligated to restrict the number of
>users to the licensed number.

    Hmmm, I might be spoiled by public domain software, but my gut feeling
    isn't too good on this.  First it was PER-CPU licensing, now it's
    PER-USER ?  What's next, PER-PROCESS ??  PER-CYCLE ???  (Imagine:
    "I'm sorry, the PID you just created, 1-0-0-1, is beyond the daily
    limit imposed by your license.  Please reboot the machine or come
    back tomorrow.")

    Maybe I'm economically naive, but I think this is ridiculous.  When I buy
    something, I feel I should be able to do whatever I darn well please with
    it.  I'd rather not have some Big-Brother tell me I can only toast bread
    Monday-Friday unless I pay more for the toaster. 

    I realize I don't ever "buy" Unix, just "rent", and that if I don't
    like it I don't have to use it.  (Those answers are cop-outs.)

    Thinking of other commodities in life, the precedent of charging more
    money for greater use seems to be justified and expected only for things
    which are consumable.  I don't see that to be the case with hardware or
    operating systems.  How does it cost AT&T more to develop Unix depending
    on the number of people that can login to my machine?  This also implies
    that if I normally have 5 users, and for one week a year I have 10, I'm
    forced to pay for 10 users always. 

    I can't help but think that the whole point behind this is to charge
    "what the market will bear", ie. to squeeze every last dime out of the
    consumer's pocket, regardless of justification. 

    I would like to hear considered opinions on this topic, pro and con.

    Thanks...
    /+\ Keith
    ________________________________________________________
    KEITH F. PILOTTI -- TeleSoft         (619) 457-2700 x172
                        10639 Roselle St, SanDiego, CA 92121

        (UUCP) {decvax,ucbvax}!sdcsvax!telesoft!pilotti
        (ARPA) Pilotti@UCSD

mash@mips.UUCP (John Mashey) (08/02/85)

Robert Elz	ucbvax!kre  kre@ucb-vax.berkeley.edu writes:
> (But not more logged in).  Disadvantage of this scheme is that you
> can't enable "getty"'s on more lines than you're icenced for,
> even if they won't all be used at once.  (The DEC quota scheme
> doesn't have that restriction).  This also doesn't seem to handle
> net logins at all.
> 
> So, does anyone know what a "user" is ??
> 
Hard to tell.  When I was at Convergent, we settled on a scheme whereby
the kernel had a hard-coded constant of the max number of users.
Login was tweaked to compare the current number of users to the limit and
tell somebody they couldn't login due to exceeding the limit.
It ignored names ending in "uucp" in the count. [Of course, almost nothing
is absolute protection against a knowledgable super-user, but I believe
the intent of the ATT license is to make it difficult for the normal
system administrator to figure out where the limit is and change it.]

This is a fuzzy problem, which exists only due to the peculiarity of
a company selling an operating system that runs on so many different
machines not under the control ofthe original seller.  After all,
vendors have been pricing software for years based on the size of the
machines [their own, of course].  Counting users is
a rough attempt to scale the price of the software to the price of the
hardware, and although has its funnies [after all, an SGI IRIS costs a few
dollars more than a PC running PC/IX, but both are 1-user systems],
its probably as good as any.  IT WOULD BE NICE IF SYS V SUPPORTED SOME
RELATIVELY STANDARDIZED WAY OF DOING IT, AND THEN WE COULD QUIT WASTING
ENERGY BEING INVENTIVE ON THIS PROBLEM.
-- 
-john mashey
UUCP: 	{decvax,ucbvax,ihnp4}!decwrl!mips!mash
DDD:  	415-960-1200
USPS: 	MIPS Computer Systems, 1330 Charleston Rd, Mtn View, CA 94043

hes@ecsvax.UUCP (Henry Schaffer) (08/03/85)

Really Re: charging more for allowing more
logins on the system.
  There are many examples where it doesn't
cost the provider any more to supply one extra
user (perhaps over some range ofusers.) 
Examples include use of the operating system,
use of the computer hardware, and use of a
toll bridge.  (At least this is true for all
users except the last one who saturates the
system.  Then you must build another bridge, or
whatever.  In all these cases, each user before
the last one objects to paying anything, and the last user will probably
agree to pay as much as 1/n'th of the cost of  a
system.  The compromise usually is having
everybody pay 1/n'th.
  I think this is what vendors are trying to do
with pricing licenses according to the no. of
logins permitted.
  P.S. Pricing of computer resources is, to me,
a difficult and fasciniting topic, and one
that university computing people have to deal
with often.
--henry schaffer  n c state univ

mike@hcradm.UUCP (Mike Tilson) (08/05/85)

Keith F. Pilotti (telesoft!pilotti) recently questioned the propriety
of charging for UNIX "by the user", on the grounds that when you buy
something, there shouldn't be any restrictions on the use of the item
bought.  The license restriction on number of users was viewed as a
"Big Brother" feature, and generally a ripoff.  He said that he
should be able to do anything he pleases once he has bought a copy.

While it is true that AT&T is charging a different price for exactly
the same software, depending on use, I don't think this is immoral, at
least if you agree that it is OK to charge for software in the first
place.  (If you think software should be public domain, that is another
argument.)

Software is not a tangible item -- it is "intellectual property", and
the terms under which it is used can be set by the owner.  If you don't
want to use it under those terms, you don't have to buy a license.
It can be licensed for use in a company, at one site, on a particular
CPU, by the user, and sometimes according to how much it is actually
used.  (This last is common for proprietary packages used on timesharing
systems, for example.)  Per-user licensing is an attempt to recover
costs and make a profit that is roughly constant according to the
number of users -- an unlimited user license makes sense on a large
machine with over a hundred users, and the cost per user approximates
the licensing cost for a hundred single user PCs.  Therefore, AT&T's
revenue is in proportion to the value received, whether or not
the hundred users are spread over a network or operating on one machine.

If only one price was charged, then in order to get the same revenue
stream, AT&T would have a charge a price that was somewhere between
the current single-user price (very cheap) and the "mainframe" price ($7000
I think.)  The result would be a bargain for big mainframes, at the
expense of higher prices for the "little guy".  You might feel better
to view the user-pricing as a small machine discount.  Historically,
I believe that was how it was derived.

/Michael Tilson
/Human Computing Resources Corp
/{decvax,utzoo}!hcr!hcradm!mike

mash@mips.UUCP (John Mashey) (08/05/85)

KEITH F. PILOTTI  {decvax,ucbvax}!sdcsvax!telesoft!pilotti writes:
>     Hmmm, I might be spoiled by public domain software, but my gut feeling
>     isn't too good on this.  First it was PER-CPU licensing, now it's
>     PER-USER ?  What's next, PER-PROCESS ??  PER-CYCLE ???  (Imagine: ....
> 
>     Maybe I'm economically naive, but I think this is ridiculous.  When I buy
>     something, I feel I should be able to do whatever I darn well please with
>     it.  I'd rather not have some Big-Brother tell me I can only toast bread
>     Monday-Friday unless I pay more for the toaster. 
>
>     Thinking of other commodities in life, the precedent of charging more
>     money for greater use seems to be justified and expected only for things
>     which are consumable.  I don't see that to be the case with hardware or
>     operating systems....

1) There is a long history of IBM and others charging for software on the
basis of the system size, even with the same software running.  There is also
IBM history of paying more for running the same machine 3 shifts instead of 2.
All of this is usually called "value pricing".

2) Remember how ATT got here: an important reason for all of this was to
REDUCE the binary charge for the smaller systems, because people wouldn't
pay VAX-size prices for 68K-size machines.  Of course, there are always
corporate goals of total revenue.

3) All of this is a tricky issue; I'd rather have per-user pricing, so that
I can both have cheap software on cheap machines, and reasonable per-user
costs on big machines, than have cut either end off.  If you look the
numbers, what they seem to be doing is to try to get a consistent
per-user cost for software [with some aberrations here and there].
-- 
-john mashey
UUCP: 	{decvax,ucbvax,ihnp4}!decwrl!mips!mash
DDD:  	415-960-1200
USPS: 	MIPS Computer Systems, 1330 Charleston Rd, Mtn View, CA 94043

hammond@petrus.UUCP (Rich A. Hammond) (08/05/85)

> In article <112@vcvax1.UUCP> paul@vcvax1.UUCP (paul) writes:
> >I should point out that our licensing from AT&T is on a per-user
> >basis, so we are legally obligated to restrict the number of
> >users to the licensed number.
> 
>     KEITH F. PILOTTI -- TeleSoft says:
>     ...  How does it cost AT&T more to develop Unix depending
>     on the number of people that can login to my machine?  This also implies
>     that if I normally have 5 users, and for one week a year I have 10, I'm
>     forced to pay for 10 users always. 

You're right, it doesn't cost more to develop a multi-user version.
The idea is to charge roughly what the economic value to the purchaser is.
This means that if you really need those 10 people for that week then it
is worth your while to pay to allow them on.  Also, the licenses (I think)
go something like: single user, up to 8 users, up to 16 users, up to 32 users,
and more than 32 users.
> 
>     I can't help but think that the whole point behind this is to charge
>     "what the market will bear", ie. to squeeze every last dime out of the
>     consumer's pocket, regardless of justification. 

The justification is that you're using a tool which is assumed to be more
valuable the more users you have and your willingness to pay reflects this.

Also, if you wanted a flat price for UNIX, it wouldn't be low!  What the
per user structure does is allow a single user system to compete with MS-DOS.

The competition with MS-DOS is also the reason for the "unbundling" of UNIX
into a basic part plus additional packages.  If you look at the way IBM PC
sales work, the base operating system is essentially zip (8 programs?!) and
the user/owner buys additional packages (spreadsheet, dbms, ...) to do
what she wants.  AT&T can't afford to give away a whole set of programs
for the same price that IBM gives away a few, so they stripped out as much
as they could to make a small package for sale on small machines.

To some extent this is "what the market will bear"  but I want AT&T to
make a profit, after all who wants IBM/MCI to be the only major computer/
telecommunications supplier?

Rich Hammond (Bellcore,not part of AT&T) ihnp4|ucbvax !bellcore!hammond

lasse@daab.UUCP (Lars Hammarstrand) (08/05/85)

>That's a good point.  In our new VENIX version, we've tried to
>ease this problem through a new command called "ttystate" which
>can be used to quickly enable and disable login lines.  The
>approach which you seem to suggest would involve automatic
>dynamic enabling and disabling of login lines.  Although this
>seems feasible, I think it could be quite confusing for users
>attempting to log in on a line which is sometimes available and
>sometimes not.  The "ttystate" command has the virtue of being
>simple and deterministic.
>
>
>Paul Kleppner
>VenturCom, Inc.
>{harvard,mit-eddie}!cybvax0!vcvax1!paul

I hope that you are using the "run level field" in /etc/inittab and the
"telinit" command indirect via your "ttystate" command, becauce that is what it
is should be used for, switching tty lines on and off I mean.

It's the second field in /etc/inittab, and the following arguments serve as
directives to the "telinit" command that changes the run level and what lines
that should be on or off (From the manual) :

0-6	tells "init" to place the system in one of the "run-levels" 0 - 6.
	(one of the diggits 0-6)
a,b,c	tells "init" to process only those /etc/inittab file entries having the
	a, b  or c "run-level" set.
Q,q	tells "init" to re-examine the /etc/inittab file
S,s	tells "init" to enter the single user enviroment. When this level
	change is effected, the the virtual system teletype, "/dev/syscon", is
	change to the terminal from which the command was executed.

(Telinit command is used to direct the actions of "init" and can only be run by
someone who is superuser or a member of group: sys)



	My name: Lars Hammarstrand.
	My company: Datorisering AB,  SWEDEN.

	UUCP:	{seismo,decvax,philabs}!mcvax,ukc,unido!enea!daab!lasse
	ARPA:	decvax!mcvax!enea!daab!lasse@berkley.arpa

peter@kitty.UUCP (Peter DaSilva) (08/08/85)

> The justification is that you're using a tool which is assumed to be more
> valuable the more users you have and your willingness to pay reflects this.

Most people aren't willing to pay $1000 for a personal operating system. The
market distribution reflects that.

> Also, if you wanted a flat price for UNIX, it wouldn't be low!  What the

Why not?

> per user structure does is allow a single user system to compete with MS-DOS.

It doesn't. The single user system still costs more than MS-DOS, and the
development costs of UNIX HAVE to have been depreciated long ago...

> The competition with MS-DOS is also the reason for the "unbundling" of UNIX
> into a basic part plus additional packages.  If you look at the way IBM PC
> sales work, the base operating system is essentially zip (8 programs?!) and
> the user/owner buys additional packages (spreadsheet, dbms, ...) to do
> what she wants.  AT&T can't afford to give away a whole set of programs
> for the same price that IBM gives away a few, so they stripped out as much

Why not? If they did this you'ld see many many more people buying Xenix and
putting money into AT&T's coffers.

> as they could to make a small package for sale on small machines.

But it's not selling. It still costs $1000 to get UNIX for your PC. MS-DOS
comes with the machine.

> To some extent this is "what the market will bear"  but I want AT&T to
> make a profit, after all who wants IBM/MCI to be the only major computer/
> telecommunications supplier?

And if AT&T doesn't do something about their licensing they will be.

> Rich Hammond (Bellcore,not part of AT&T) ihnp4|ucbvax !bellcore!hammond

Peter da Silva, UNIX fan.

campbell@maynard.UUCP (Larry Campbell) (08/09/85)

> > The competition with MS-DOS is also the reason for the "unbundling" of UNIX
> > into a basic part plus additional packages.  If you look at the way IBM PC
> > sales work, the base operating system is essentially zip (8 programs?!) and
> > the user/owner buys additional packages (spreadsheet, dbms, ...) to do
> > what she wants.  AT&T can't afford to give away a whole set of programs...
> 
> But it's not selling. It still costs $1000 to get UNIX for your PC. MS-DOS
> comes with the machine.

Be realistic.  With MS-DOS you get a wimpy filesystem, no multitasking,
and essentially no utilities.  Forget about multitasking, mountable file
systems, etc., let's just see what you'd have to add to MS-DOS to make
it even close to a typical PC Unix.  I'm using very rough rule-of-thumb
prices based on retail prices for comparable products:

	C compiler		$ 300
	lint			  500
	as			  100
	vi, ex, ed		  600
	plot, graph, spline	  200
	make			  100
	adb			  300
	nroff, tbl, neqn	  500
	spell			  100
	TOTAL			$2600

All of the utilities I've listed (and lots more) come with VENIX/86, which
sells for $800.  I think it's a bargain.  (Note that I didn't even list all
the stuff you just can't get for MS-DOS:  awk, bc, dc, sh, csh, uucp, m4,
tar, time, lex, yacc...)

> > Rich Hammond (Bellcore,not part of AT&T) ihnp4|ucbvax !bellcore!hammond
> 
> Peter da Silva, UNIX fan.

Larry Campbell, UNIX and VENIX fan.

peter@kitty.UUCP (Peter DaSilva) (08/09/85)

> the current single-user price (very cheap) and the "mainframe" price ($7000

It's not quite cheap enough to compete, unfortunately. $150 is about the most
you can expect to sell an O/S for a small computer for & get away with it. At
that price unbundling would make sense. Unbundling at 3to10 times that price is
self-defeating.

> I think.)  The result would be a bargain for big mainframes, at the
> expense of higher prices for the "little guy".  You might feel better
> to view the user-pricing as a small machine discount.  Historically,
> I believe that was how it was derived.

Good point. I hadn't thought of it that way.

paul@vcvax1.UUCP (paul) (08/09/85)

> >That's a good point.  In our new VENIX version, we've tried to
> >ease this problem through a new command called "ttystate" which
> >can be used to quickly enable and disable login lines.  

> I hope that you are using the "run level field" in /etc/inittab and the
> "telinit" command indirect via your "ttystate" command, becauce that
> is what it should be used for, switching tty lines on and off I mean.

Absolutely!  In fact, the "ttystate" command is just a shell
script that edits /etc/inittab and runs the telinit command,
after checking that someone is not logged in on the line.
It has a few other options too.

I would be willing to post a copy to net.sources if there
is enough interest.  Although ttystate was written for
VENIX System V, it should run under any UNIX System V.
It is much easier and more reliable than enabling/disabling
login lines "by hand."


Paul Kleppner
VenturCom, Inc.
{harvard,mit-eddie}!cybvax0!vcvax1!paul

phil@amdcad.UUCP (Phil Ngai) (08/11/85)

This whining about the cost of the ATT Unix license is ridiculous.
A single user binary only license costs $60. That's cheaper than
wordstar...
-- 
 "Where are all the good men?"
 "I think they're out with all the bad women!"

 Phil Ngai (408) 749-5720
 UUCP: {ucbvax,decwrl,ihnp4,allegra}!amdcad!phil
 ARPA: amdcad!phil@decwrl.ARPA