Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Apr 2000 14:50:13 +0200
From:      Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
To:        Bob Bishop <rb@gid.co.uk>
Cc:        obrien@freebsd.org, arch@freebsd.org
Subject:   Re: Import of tcsh into src/contrib/, replacing src/usr.bin/csh
Message-ID:  <20000409145013.O1996@daemon.ninth-circle.org>
In-Reply-To: <4.3.1.2.20000407094800.00ac2970@gid.co.uk>; from rb@gid.co.uk on Fri, Apr 07, 2000 at 10:00:12AM %2B0100
References:  <20000406134916.A23265@dragon.nuxi.com> <4.3.1.2.20000407094800.00ac2970@gid.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
-On [20000407 12:05], Bob Bishop (rb@gid.co.uk) wrote:
>
>At 13:49 06/04/00 -0700, David O'Brien wrote:
>>I'm going to be importing tcsh into src/contrib/ and replacing /bin/csh
>>with tcsh. [etc]
>
>On principle, please don't do it. I'd go so far as to vote for having 
>/bin/sh as root's default shell. If people want to use whacky shells and 
>set fire to their ass they are free to do so, but I seriously doubt the 
>wisdom of encouraging them.

I agree with your statement.

I can see no technical reason to support either tcsh or csh as root's
shell.

To substantiate:

- I have gone through our system supplied scripts, and as far as I was
  able to find, none of them were dependant on csh.  Even if csh scripts
  were present they should be rewritten for /bin/sh, in order to be as
  consistent as possible with the rest of the system.

- Every argument in favor of keeping csh either has seemed to be a
  personal subjective reason or a dubious filesize argument.  To
  summarise some things that passed our eyes in the thread:

	- Embedded Systems.
	  Effectively, embedded systems are pretty customised because
	  they need to be small in size as well as be functional.  This
	  idea would support the argument of retiring csh to the ports
	  system and just have sh as the only shell in the base system.
	  That opens the way for easily customising the sources by using
	  the ports or just using /bin/sh since it is fast, small and
	  reliable.  

	- Usefulness.
	  Which obviously demands an explanation of ``useful''.  The
	  word and its meaning in the context will probably always be
	  subjective as no-one can agree on a common set of
	  ``usefulness''.  If you look at the common case in which
	  root's shell would be used it would be for emergency cases 99%
	  of the time.  The other 1% of the time one would do best to
	  use su -m to get root privileges and keep one's shell along
	  with all the features one needs.

	- The csh UI.
	  If Linux users cannot comprehend the reasons why our default
	  shell(s) do not have featurism bloat, it should not be a goal
	  in itself to replace the shell.  This merely indicates that
	  the way the FreeBSD system is set up is substantially
	  different from the point of view Linux users have with regards
	  to complete systems.

	- Hype.
	  With Linux being the next hot thing out there, are we going to
	  compete with it in terms of creeping featurism and bloat?
	  FreeBSD should be chosen because people know it is technically
	  correct, both internally as well as in its provisional
	  infrastructure.  Not because we sport the latest featurerich
	  version of either csh/tcsh/ksh/zsh/bash for our root user.
	  And our provisional infrastructure, e.g. ports, allows for
	  easy installing of the shell someone wants.

	- Old habits.
	  Being used to a certain set-up and configuration is not a
	  reason that a certain change should be put off.  It may even
	  be argued that doing so is actually negative on new
	  developments.

Changing root's default shell to sh (just as the default for normal
users) decreases maintenance time on our default  profile/login/shell
skeleton files, since we can simply take a normal user's skeleton files
and adjust them.
Let the choice of a shell be a configuration issue for the user.

The arguments in favour of replacing csh with tcsh are IMHO not
relevant. Replacing it with /bin/sh seems to make a lot more sense. I
refer to Nate's statement that FreeBSD's default install is a default,
how spartan and sober it may be, which people can adore with pretty,
shiny things by themselves. To quote Nate on that (one of the first
mails in the thread):

	``2) FreeBSD's base installation is *NOT* intended for
	you to have a completely/fully functional workstaion.
	That's what the ports are for.  It's meant to be the
	most basic installation, and if you need more than the
	basics, install ports.''

Note that Nate refers to completely/fully functional as the
functionality which a fully customised environment provides to its user,
not the functionality of the operating system.

If people are so anxious to have their $FAVOURITE_SHELL for root, what
is stopping them from installing it from ports?

-- 
Jeroen Ruigrok vd Werven/Asmodai    asmodai@[wxs.nl|bart.nl|freebsd.org]
Documentation nutter/C-rated Coder BSD: Technical excellence at its best  
The BSD Programmer's Documentation Project <http://home.wxs.nl/~asmodai>;
In every stone sleeps a crystal...




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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