> In any event, meem's original point was not that someone needs to fix
 > every one of these cases individually (obviously, they do need fixes),
 > but instead the point is that as changes go, this *particular* one
 > (changing /usr/bin/sleep) had a substantial blast radius.

Yes.  I also have broader questions about where all of this is going.
Most would agree that our core UNIX toolchain is lagging behind other
UNIX-like systems in terms of feature set, completeness, and familiarity.
Further, most would agree that as a whole this is a notable dissatisfier
for OpenSolaris and thus that we need to address it.

Where things get murkier is how we go about doing that.  Userland is not a
monolithic beast, and all the world is not (and will never be) ksh93.  In
some cases, it may be best to leverage the ksh93/libshell implementations
of core commands.  In other cases, it may be best to use other versions
from e.g. GNU or *BSD.  In still other cases, it may be best to enhance
the ones that we already have (e.g., because the command interacts with
other core Solaris differentiators).  In some cases, it may even be best
to write a new command from scratch.  The best choice will depend on a
host of factors, such as the manner and context in which a command is
used, its complexity, its maturity, interdependencies with other
functionality, standards issues, and so forth.

In short, I'd expect us to have a simple technical strategy that plots the
path for various commands based on the issues mentioned above, and then
have us execute against that.  I am not saying this will shield us from
mistakes, but it will allow those mistakes to be understood in the broader
context of where we're going with all of this, and moreover will allow us
to adjust in the large as we learn things in the small.

Perhaps such a write-up has already been circulated and I missed it?

As best I can tell, the current (unstated) plan consists of:

    Convert everything we can to use ksh93/libshell implementations.

... which is at best incomplete (ksh93/libshell doesn't have everything we
need), and I believe too simplistic (e.g., as sleep as shown, even when
ksh93/libshell support is available, using it may prove more trouble than
it's worth).

So, in short, I request that we go back to the problem statement and
requirements, come up with the strategy, and then execute on that
strategy, adjusting it based on implementation experience.

--
meem

Reply via email to