From: Theodore Ts'o (tytso@ATHENA.MIT.EDU)
Date: 09/21/92


From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
Subject: All this /usr/local flamage
Date: Tue, 22 Sep 1992 01:03:39 GMT

Sigh.... I've watched all of this flamge occur on the linux-standards
list a couple of months ago..... perhaps now people will understand why
the Linux standards list has mostly died.... :-)

For people who are interested, you can read the whole, sordid discussion
by FTP'ing the file /pub/linux/mirrors/linux-standards/mail-archives.

For those of you who were interested, the following opinion was finally
reached: The original purpose of /usr/local was a place where users
could put programs THAT WERE NOT ORIGINALLY PROVIDED BY THE OS.
/usr/local is a place for individual system administrators to install
programs such that they won't get nuked by an update.

Given this rationale, it is not surprising that many programs (such as
many of the GNU utilities, TeX, Perl, etc.) are often installed in
/usr/local, since they are usually supplied in source form and compiled
and installed by individual system administrators. However, if a binary
is being offered as part of a complete release, as part of an "OS
Release", they should not be installed in /usr/local, since /usr/local
should be reserved exclusively for site-local programs. There is
precedence for this; when Convex included perl as part of its official
operating system, it was placed in /usr/bin instead of /usr/local. In
the MIT Project Athena release, the TeX files were placed in
/usr/athena/lib/tex/* to avoid placing anything in /usr/local. Thus,
just because something is usually installed in /usr/local does not mean
that in a Linux binary release, it should always be there. Also, note
that it generally does not require modifying the program to change where
it is rooted; it's usually just editing a Makefile or a config file.

Therefore, in something like the MCC Interim release or the SLS release, it's
fairly clear that /usr/local should be empty, so that people can put
their own programs there and expect them not to get nuked when they
upgrade to the next version of SLS, or MCC Interim. What should happen
for binaries compiled and then uploaded to FTP sites is less clear. Is
that part of an official OS release or just a random program compiled
and installed by a system administrator. I would tend to take the
position that major packages (like TeX) should be considered closer to
official releases instead of site-local installations. Thus, I think
they should be installed somewhere other than /usr/local.

Now, I should point out that this was reached after much flamage, most
of which as already been heard on comp.os.linux. I would urge people to
read the mail archives of Linux standards before posting more about this
report, in consideration of all of the people who have been complaining
about too many articles on the newsgroup.

                                                        - Ted