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
POSIX commands and utilities in Solaris.


Background

-----------------------------------------------------------------

Right now, the OpenSolaris userland environment, specifically the
POSIX-mandated commands and utilities, lacks a dedicated community which
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
and maintain the POSIX commands in (Open-)Solaris. We discuss
POSIX commands-specific topics here. Users can ask questions and
report problems about the POSIX commands of (Open-)Solaris. The
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.

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.
- Invite other operating systems and vendors to partake
 in the projects and community (i.e. AT&T (AST), Apple
 (busybox) etc.)
- Implement own test suite, preferably one test suite module
 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
- Strengthen the i18n (multibyte) support
- <...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
responsibility to change them (note that many of these commands are
actually shell special builtins and are only exposed in the fileystem
for standard conformance reasons):
/usr/bin/alias
/usr/bin/at
/usr/bin/awk
/usr/bin/basename
/usr/bin/batch
/usr/bin/bc
/usr/bin/bg
/usr/bin/cat
/usr/bin/cd
/usr/bin/chgrp
/usr/bin/chmod
/usr/bin/chown
/usr/bin/cmp
/usr/bin/comm
/usr/bin/command
/usr/bin/cp
/usr/bin/crontab
/usr/bin/ctags
/usr/bin/cut
/usr/bin/date
/usr/bin/dc
/usr/bin/df
/usr/bin/dirname
/usr/bin/du
/usr/bin/ed
/usr/bin/edit
/usr/bin/egrep
/usr/bin/env
/usr/bin/ex
/usr/bin/expr
/usr/bin/fc
/usr/bin/fg
/usr/bin/fgrep
/usr/bin/file
/usr/bin/find
/usr/bin/fmt
/usr/bin/fold
/usr/bin/getconf
/usr/bin/getopts
/usr/bin/grep
/usr/bin/hash
/usr/bin/head
/usr/bin/id
/usr/bin/ipcs
/usr/bin/jobs
/usr/bin/join
/usr/bin/kill
/usr/bin/ln
/usr/bin/logname
/usr/bin/ls
/usr/bin/mkdir
/usr/bin/mkfifo
/usr/bin/more
/usr/bin/mv
/usr/bin/nice
/usr/bin/nl
/usr/bin/nohup
/usr/bin/od
/usr/bin/paste
/usr/bin/pathchk
/usr/bin/pax
/usr/bin/pr
/usr/bin/printf
/usr/bin/read
/usr/bin/rev
/usr/bin/rm
/usr/bin/rmdir
/usr/bin/sed
/usr/bin/sh
/usr/bin/sort
/usr/bin/stty
/usr/bin/sum
/usr/bin/sync
/usr/bin/tail
/usr/bin/tee
/usr/bin/test
/usr/bin/tr
/usr/bin/tty
/usr/bin/type
/usr/bin/ulimit
/usr/bin/umask
/usr/bin/unalias
/usr/bin/uname
/usr/bin/uniq
/usr/bin/vedit
/usr/bin/vi
/usr/bin/view
/usr/bin/wait
/usr/bin/wc
/usr/bin/who
/usr/bin/xargs
/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>

The community will *NOT* handle any commands outside this scope
(i.e. the scope of this community is *STRICTLY* defined by
the POSIX 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

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>

-- 
      ,   _                                    _   ,
     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
.----'-/`-/     olga.kryzhanovska at gmail.com   \-`\-'----.
 `'-..-| /     Solaris/BSD//C/C++ programmer   \ |-..-'`
      /\/\                                     /\/\
      `--`                                      `--`

Reply via email to