On Tue, Nov 29, 2005 at 11:22:52AM -0800, Bart Smaalders wrote:
> Nikhil wrote:
> > I believe all of them putting under /usr/gnu/{lib,bin,include} whatever
> >specific to gnu under /usr/gnu as prefix directory would be better.
> >
>
> Do you have a reason?
>
> My reason for preferring /usr/bin unless there's a name conflict is
> simply this : if users cannot readily find a command, they implicitly
> assume it isn't available. There is basically no benefit obtained from
> "hiding" commands in strange places around the system; once a user
> discovers he needs /usr/wombat/bin once in his path, he adds it - and
> any benefit obtained from sequestering commands there is immediately
> obviated.
>
> Since there's no useful benefit, why put users through this at all?
>
> In Solaris for years, we placed commands that were subject to change
> outside of Sun's control in /usr/sfw/bin. This led to such absurdities
> as having a menu item on the Solaris desktop to launch Mozilla,
> but having mozilla not be found when invoked from a shell with
> the default path - and all of this ostensibly to protect the user!
I'm just impressed that Bart was able to get through this rant without
quoting our favorite example of this: /usr/proc/bin. Indeed, this
directory was _so_ egregious that we put the p-tools in /usr/bin in
Solaris 8, leaving /usr/proc/bin as a directory of symlinks into /usr/bin.
Suffice it to say that we have learned the hard way: put it in /usr/bin
unless there's a conflict that prevents it. Yes, this sullies /usr/bin,
and yes, there is a non-zero risk in terms of system compatibility --
but we know from painful experience that acts of cowardice like
/usr/proc/bin create more problems than they solve.
- Bryan
--------------------------------------------------------------------------
Bryan Cantrill, Solaris Kernel Development. http://blogs.sun.com/bmc