Subject: Re: should we replace the shell?
To: Greg A. Woods <woods@kuma.web.net>
From: J.T. Conklin <jtc@cygnus.com>
List: tech-userlevel
Date: 12/07/1994 16:43:31
>>>>> "Greg" == Greg A Woods <woods@kuma.web.net> writes:
Greg> Damn, but I wish this hadn't been turned into a discussion
Greg> verging on a flame war about shells!

Are we flaming?  I think we're comparing alternatives so we can come
up with a reasonable strategy wrt. the future of NetBSD's shell.  If
not, I'm going to pretend that we're comparing alternatives...

These are the prime attributes that I think the NetBSD shell should
have:
	- small
	- fast
	- POSIX.2 compliant
	- freely redistributable

I think that other attributes, like ease of maintence and if it is
being actively maintained are also important features.  What other
attributes should be considered?

If we compare Ash and Pdksh on the above merits, they stack up
reasonably well to one another:

	- Ash and pdksh executables are about the same size.

	- Ash is slightly faster than pdksh.  I have measured some
	  cases where ash is almost twice as fast, but performance
	  improvements in pdksh's alpha and beta cycles has steadily
	  decreased it's disadvantage.

	- Pdksh is much closer to POSIX.2 compliance.  The builtins
	  need a bit work, but otherwise it's almost there.

	- Pdksh and ash have redistribution policies acceptable to
	  NetBSD.

	- Pdksh is a lot more fun to maintain (IMO).  I've come to
	  hate trying to fix bugs in Ash.

	- Ash is being/has been hacked by BSDI, FreeBSD, and NetBSD.
	  No one has volunteered to take over it's maintenance.  Pdksh
	  is being still being maintained.

Depending on the way you weigh the attributes, either Ash or Pdksh
could be considered the "winner" of this comparison.  I favour Pdksh,
because I feel that it has better potential at this time.  If someone
volunteers to take over Ash maintenance, I might change my mind.

Greg> But seriously folks, Ash is a perfectly good shell, and POSIX
Greg> compliant, or not, I'm not going to give it up, regardless of
Greg> what might be shipped as /bin/sh on NetBSD in the future.

I don't think that Ash is a perfectly good shell.  It's an adequate
shell, one that has served NetBSD relatively well.

But as NetBSD matures, users will demand and we will be able to devote
energy to things that were once considered unimportant, like standards
conformance.  I think it will be more difficult meet a goal of POSIX.2
compliance with Ash.  That is why I suggested pdksh as an alternative.

	--jtc