From: nickless@lunch.mcs.anl.gov (Bill Nickless)
Subject: Re: Vendors Considered Evil (Re: Perl use over NFS)
Followup-To: comp.sys.next.sysadmin
Summary: Perl should live in /usr/local/bin
Keywords: perl /usr/local/bin vendors installation
Organization: Argonne National Laboratory, Chicago, Illinois
Date: Mon, 14 Sep 1992 02:37:55 GMT

In article <1992Sep1.164326.23778@netlabs.com> lwall@netlabs.com (Larry Wall) writes:
>Okay, I'm putting on my dictator clothes...  *dictate on*!
>Perl is becoming a standard UNIX distribution.  Assume it is.  All perl
>scripts should start with #!/usr/bin/perl.
>*dictate off*

Tell that to IBM.  I can't even make suidperl work properly thanks to their
different way of doing effective uids.  I understand this comes as no 
surprise.

Tell that to Alliant.  I still have two of their machines sitting in my
machine room, and they are making decisions based on the orders of a 
bankruptcy court, not on what makes sense for their end users.  The Encore 
Multimax that we took off of maintenance six months ago is in a similar 
state, as is the Stardent Titan 1500 that we just turned off too.

Tell that to Epoch.  They make a line of optical disk jukeboxes systems.  I 
gave my local site rep a copy of the Perl source, on an 8mm tape and asked 
him to simply have it compiled.  No dice.  They want us to upgrade to the
SunOS version of their product, and so they don't want to add anything new
to their old proprietary UNIX-based box.  Even if all it involved was
someone sitting down and typing Configure ; make and jumping through the
hoops.  (If they can do it with Amd they can do it with Perl!)

Tell that to Intel.  Their iPSC/860 front end is still running AT&T UNIX
System V/386 Release 3.2.  If they're not investing the money or manpower in 
upgrading from SV3.2 (Copyright 1984, 1986, 1987, 1988) they're not going
to be putting the latest and greatest scripting language there too.

Tell that to NeXT.  (This is, after all, comp.sys.next.sysadmin, right?)

abby.mcs.anl.gov> cut
cut: Command not found.
abby.mcs.anl.gov> 

>Did I ever tell you that I believe in the tail wagging the dog?  :-)
>
>Larry "Hubris is a Virtue (I hope)" Wall
>lwall@netlabs.com
>
>P.S. This is really a Laziness issue.  In the long run it's a heck of a
>lot easier to install a *standard* symbolic link a few times than to
>edit oodles of files.  The real culprit here is that #! won't search a
>path, and UNIX never established a standard place for interpreters.
>(Well, apart from /bin and /usr/bin, that is, and /bin is no longer
>tenable.  Which leaves us with /usr/bin, poor choice though it is for
>the reasons you've elucidated already.  The fact is, even though you
>have established a coherent /usr/local/bin policy, there are billions
>and billions of machines out there that haven't, and never will.  What
>we have here is conflicting de facto standards, and the resulting
>evolutionary struggle.  There aren't any perfect answers to this.)

OK, Larry, how about this compromise?  All the systems that do in fact
ship /usr/bin/perl as part of the operating system can ship their 
rewritten basic utilities starting with #!/usr/bin/perl to their heart's
content.  Then as soon as someone starts bringing in outside scripts, have
them simply put a symlink in from /usr/local/bin/perl --> /usr/bin/perl 
and everyone is happy.

The problem of sites not establishing a coherent /usr/local/bin/policy
is one that has a much larger chance of being fixed then vendors not shipping 
perl in their standard releases.  You will get a lot further by telling
people "here is this free software, not as much will break if you put it in 
/usr/local/bin" than by punting the problem to the vendors.  Even MIT
gave up and realized that X had to be able to live wherever the local site
wanted it to go.

If a Convex box hits my machine room (which would *not* be a bad thing) it
will have a symlink put from /usr/local/bin/perl --> /usr/bin/perl less than
15 minutes after I get the first multi-user-state root prompt.

In the interests of stopping any escalation of flamage, let me just say that
I really really like all that Perl does.  It's drawn on a lot of experience
of things that were missing in the standard UNIX toolchest, and unified them
together in a powerful way.  Thank you very much for writing and maintaining 
Perl, it makes my life easier and in fact will be used to transfer this
message from the workstation on my desk to our NNTP server.
---
Bill Nickless  System Support Group  <nickless@mcs.anl.gov>  +1 708 252 7390
Newsgroups: comp.sys.next.sysadmin