Hi Olga,
Please find my comments in-line below...

Cheers,
Don

On Feb 28, 2010, at 7:43 PM, ????? ???????????? wrote:

> Please review the "POSIX utility community Group Proposal" below until
> Tuesday 18:00h MEST and send feedback to
> <shell-discuss at opensolaris.org>.
> I will send out the revised proposal Tuesday 19.00h MEST.
> 
> Olga
> 
> =========================================
> POSIX utility community Group Proposal
> 
> Summary
> 
> -----------------------------------------------------------------
> 
> The following is a proposal for the creation of an OpenSolaris POSIX
> utility community group that focuses on long-term innovation,
> enhancement, development, testing and maintainance of the basic

s/maintainance/maintenance/

> POSIX commands and utilities in Solaris.

s/commands and //
(In the terminology used by the standard, commands are invocations of
utilities.  Therefore, the utility community only needs to maintain
utilities.)

> 
> 
> Background
> 
> -----------------------------------------------------------------
> 
> Right now, the OpenSolaris userland environment, specifically the
> POSIX-mandated commands and utilities, lacks a dedicated community which

s/commands and //

> can guide its progressive evolution. This has a few unfortunate side
> effects: there is no *consistent* and modern API, there's no attention
> paid to how user-friendly the utilities are (it's been lamented that
> Solaris's userland is actively *hostile* to converts), there's been no
> real innovation in the Solaris userland for many years (except
> unconditionally using GNU coreutils as replacement instead of
> creating own *innovations* and focusing on the traditional strength of
> Solaris such as API stability, good internationalisation, performance,
> good testing, etc.), and there are no feedback loops or *joint*
> development with other vendors.
> 
> As a result, this lack of manpower in the form of a dedicated
> community has resulted in a splintering of userland maintenance,
> alienating customers who rely on traditional Solaris features (like
> API stability, internationalisation, performance, ...) and general
> frustration with the userland (for example, stealing from GNU
> coreutils and putting their utilities in the front of the $PATH
> and relegating "standard" tools to demeaning locations such as
> /usr/has/bin).
> 
> Thus far, without manpower and a community, no one is taking the
> responsibility to innovate and improve the utilities, following a
> strategic plan for the environment as a whole rather than a
> piecemeal approach for whatever utility is "broken today."
> 
> 
> Focus and Goals
> -----------------------------------------------------------------
> 
> The POSIX commands community's goal is to own, enhance, develop

s/commands/utility
(To make the community name consistent in this proposal...)

> and maintain the POSIX commands in (Open-)Solaris. We discuss

s/commands/utilities/

> POSIX commands-specific topics here. Users can ask questions and

s/commands/utility/

> report problems about the POSIX commands of (Open-)Solaris. The

s/commands/utilities/

> community work together to answer the questions, fix bugs,
> implement enhancements and work with the Austin Group to add new
> features to the next version of the POSIX standard.

s/version/revision/

> 
> There are several projects&topics in the plan:
> - Implement bug fixes
> - Implement common BSD and GNU features based on the AT&T AST
> code base (the basis for this already exists with the
> ksh93-integration project) assuming they do not conflict
> with the POSIX standard (we will *not* break the POSIX
> standard in *any* case)
> Standard mode of operation is to implement missing features
> one-by-one if they are requested (or useful) and the ARC
> stability is set to "uncommitted" unless more than two
> implementations out of { AST, *BSD, GNU, MacOSX } implement
> them - in that case promotion to "committed" should be done and
> a proposal for inclusion into the next POSIX standard be made.

s/next/next revision of the/

> - Invite other operating systems and vendors to partake
> in the projects and community (i.e. AT&T (AST), Apple
> (busybox) etc.)

(Although accetance migh not be likely, HP and IBM should also be
invited.)

> - Implement own test suite, preferably one test suite module

s/own/our own/???

> per bug id
> - Improve performance
> - Improve portability of the code base
> - Improve maintainability of the code base
> - Improve observability (e.g. Dtrace)
> - Make the code base 64bit clean
> - Strengthen the POSIX conformance

s/the //

> - Strengthen the i18n (multibyte) support

s/the //

> - <...insert more goals...>
> 
> Initial projects include:
> - ksh93-integration project
> - shell project
> - busybox (POSIX core) development project
> - shxml (XML shell API) development project
> - POSIX utility modernisation
> 
> The community will own the following commands and have the sole

s/commands/utilities/

> responsibility to change them (note that many of these commands are
> actually shell special builtins and are only exposed in the fileystem

s/special/regular/
(The special built-ins in the standard are break, colon (:), continue,
dot (.), eval, exec, exit, export, readonly, return, set, shift, times,
trap, and unset.)

> for standard conformance reasons):

I'm evaluating the following list based on the 2008 revision of the
standard.  Since you later mention /usr/xpg4/bin, we need to also
check for utilities marked obsolescent and dropped in the last two
prior revisions.  I don't have time to do that research tonight.

admin is in the development option in the standard

> /usr/bin/alias

ar and asa are in the standard

> /usr/bin/at
> /usr/bin/awk
> /usr/bin/basename
> /usr/bin/batch
> /usr/bin/bc
> /usr/bin/bg

c99 is in the development option in the standard
cal in the standard


> /usr/bin/cat
> /usr/bin/cd

cflow is in the development option in the standard

> /usr/bin/chgrp
> /usr/bin/chmod
> /usr/bin/chown

cksum is in the standard

> /usr/bin/cmp
> /usr/bin/comm
> /usr/bin/command

compress is in the X/Open system interfaces option in the standard

> /usr/bin/cp
> /usr/bin/crontab

csplit is in the standard

> /usr/bin/ctags
> /usr/bin/cut

cxref is in the development option in the standard

> /usr/bin/date
> /usr/bin/dc

dc is not in the standard
dd and delta are in the standard

> /usr/bin/df

diff is in the standard

> /usr/bin/dirname
> /usr/bin/du

echo is in the standard

> /usr/bin/ed
> /usr/bin/edit

edit is not in the standard

> /usr/bin/egrep

egrep is no longer in the standard

> /usr/bin/env
> /usr/bin/ex

expand is in the standard

> /usr/bin/expr

false is in the standard

> /usr/bin/fc
> /usr/bin/fg
> /usr/bin/fgrep

fgrep is no longer in the standard

> /usr/bin/file
> /usr/bin/find
> /usr/bin/fmt
> /usr/bin/fold

fort77 is in the FORTRAN option in the standard
fuser and gencat are in the standard
get is in the development option in the standard

> /usr/bin/getconf
> /usr/bin/getopts
> /usr/bin/grep
> /usr/bin/hash
> /usr/bin/head

iconv is in the standard

> /usr/bin/id

ipcrm is in the standard

> /usr/bin/ipcs
> /usr/bin/jobs
> /usr/bin/join
> /usr/bin/kill

lex is in the development option in the standard
link is in the X/Open system interfaces option in the standard

> /usr/bin/ln

locale, localedef, and logger are in the standard

> /usr/bin/logname

lp is in the standard

> /usr/bin/ls

m4 and mailx are in the standard
make is in the development option in the standard
man and mesg are in the standard

> /usr/bin/mkdir
> /usr/bin/mkfifo
> /usr/bin/more
> /usr/bin/mv

newgrp is in the standard

> /usr/bin/nice
> /usr/bin/nl

nm is in the development option in the standard

> /usr/bin/nohup
> /usr/bin/od
> /usr/bin/paste

patch is in the standard

> /usr/bin/pathchk
> /usr/bin/pax
> /usr/bin/pr
> /usr/bin/printf

prs is in the developemnt option in the standard
ps and pwd are in the standard

qalter, qdel, qhold, qmove, qmsg, qrerun, qrls, qselect, qsig, qstat,
and qsub are in the obsolescent batch utilities option in the standard.
The batch utilities option is not supported in Solaris 10.

> /usr/bin/read

renice is in the standard

> /usr/bin/rev

rev is not in the standard

> /usr/bin/rm

rmdel is in the development option in the standard

> /usr/bin/rmdir

sact and sccs are in the development option in the standard

> /usr/bin/sed
> /usr/bin/sh

sh is in the standard (but on Solaris systems it resides in
/usr/xpg?/bin; not /usr/bin).
sleep is in the standard

> /usr/bin/sort

split, strings, and strip are in the standard

> /usr/bin/stty

> /usr/bin/sum

sum is no longer in the standard

> /usr/bin/sync

sync is not in the standard (never in POSIX; may have been in an
earlier version of XPG)
tabs is in the X/Open system interfaces option in the standard

> /usr/bin/tail

talk is in the user portability option in the standard

> /usr/bin/tee
> /usr/bin/test

        [ expression ]
is also in the standard as a synonym for
        test expression

time, touch, and tput are in the standard

> /usr/bin/tr

true and tsort are in the standard

> /usr/bin/tty
> /usr/bin/type
> /usr/bin/ulimit
> /usr/bin/umask
> /usr/bin/unalias
> /usr/bin/uname

uncompress is in the X/Open system interfaces option in the standard
unexpand is in the standard
unexpand is in the development option in the standard

> /usr/bin/uniq

unlink is in the X/Open system interfaces option in the standard
uucp is in the UUCP utilities option in the standard
uudecode and uuencode are in the standard
uustat and uux are in the UUCP utilities option in the standard
val is in the developemnt option in the standard

> /usr/bin/vedit

vedit is not in the standard

> /usr/bin/vi
> /usr/bin/view

view is not in the standard

> /usr/bin/wait
> /usr/bin/wc

what is in the development option in the standard

> /usr/bin/who

write is in the standard

> /usr/bin/xargs

yacc is in the development option in the standard

> /usr/xpg4/bin/*
> /usr/xpg6/bin/*
> <CHECK if these are a) all commands covered by POSIX and whether
> b) all commands listed here are defined by POSIX>

See notes above...

> 
> The community will *NOT* handle any commands outside this scope
> (i.e. the scope of this community is *STRICTLY* defined by
> the POSIX standard).

You need to also take responsibility for utilities that are linked
to standard utilities (e.g., grep is a standard utility with links
to egrep and fgrep; ex and vi are in the standard with a link to
view [and a few other things if I remember correctly]).

You will need a strong connection with the compiler group if you
are going to take over development and maintenance of the utilities
in the development option in the standard.

> 
> 
> Leadership
> 
> -----------------------------------------------------------------
> 
> There will be core contributors and leaders to make decisions
> related to POSIX commands community, including creating new
> projects, maintaining existing projects.
> 
> Core Contributors who are nominating the community
> 
>      * Don Cragun
>      * April Chin
>      * Roland Mainz
>      * Olga Kryzhanovska

It would have been polite to ask me whether I support the creation
of this new community before announcing to the world that I have done
so.  Has April said that she supports this action?  If the above list
is intended to be the list of leaders for this new community, what
responsibilities would this entail for me?

> 
> Initial core contributors will be:
> 
>      * April Chin
>      * Roland Mainz
>      * Matt Lewandowsky
>      * David Korn
>      * Glenn Fowler
>      * Don Cragun
>      * Irek Szczesniak
>      * Knut Reinert
>      * Olga Kryzhanovska
>      * Jennifer Pioch
>      * Wendy Phillips
>      * Norm Jacobs
>      * Basabi Bhattacharya
>      * Craig Mohrman
>      * Kenjiro Tsuji
>      * Carol Fields
>      * Robbin Kawabata
>      * Kristin Amundsen
>      * Mike Light
>      <check whether Nico, James, Ralf and Moinak have any
>      interest>

Have you verified that the people in the above list (other than me)
that were laid off by Sun over a year ago from the standards
conformance, libraries, and utilities group (April, Wendy, Basabi,
Craig, Kenjiro, Carol, Robbin, Kristin, and Mike) would accept core
contributor responsibilities?

> 
> -- 
>      ,   _                                    _   ,
>     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
> .----'-/`-/     olga.kryzhanovska at gmail.com   \-`\-'----.
> `'-..-| /     Solaris/BSD//C/C++ programmer   \ |-..-'`
>      /\/\                                     /\/\
>      `--`                                      `--`
> _______________________________________________
> ogb-discuss mailing list
> ogb-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ogb-discuss
> 

Reply via email to