Danek Duvall wrote:
> On Wed, Mar 14, 2007 at 10:28:03PM +0100, Roland Mainz wrote:
> > > As far as I can tell, there aren't any good options.  There's a tension
> > > between the way ON works and the way that projects not developed for ON
> > > work.
> >
> > Uhm... that's not 100% correct... we've spend almost the whole time in
> > the last twelve months to adopt ksh93 for Solaris+OS/Net. Much of the
> > bugfixes, cleanup, design changes and quality work&&testing were done
> > exactly because we're targeting OS/Net and it's stricter rules for
> > putbacks.
> 
> I know you have.  But I believe that much of that work (and associated
> anguish) would not have been required -- all this mess about unreferenced
> files, for instance -- had you been targeting SFW, for instance.

Umpf... right... but that is partially a result because the ksh93
project is _very_ special in many cases. For example the codebase was
initailly not developed for OS/Net, has to maintain portabilty across
more than one platform (e.g. OS/Net vs. rest of the world) and we still
like to maintain some way to do the primary development of "ksh93 for
Solaris" within OS/Net. Another issue which caused confusion here is
AFAIK that ksh93 is feature work - it adds a completely new set of
features which have some unusual properties (like 32bit+64bit versions
of a shell) and (to make it worse) we've added more features during
development (which is unusual for OS/Net, too). It's like aiming on a
moving target while jumping around with the crossbow.

> *Different* messes might have sprung out of that choice, but they *might*
> have been easier to deal with.

I strongly doubt that. We would have saved large amounts of the
"scratching other people's eyes out" now and get larger amounts of
scratching later in all the smaller follow-up projects while fighting
for each single item (see examples below) and create tons of paperwork
and "cross-consolidation mutant flag-days" to handle somehow the
dependicies (assuming this mess would be somehow
controllable/manageable... I guess we would get battle-worn over time
just by the adminstrative overhead instead of producing code and at some
point just give up because we can't handle it anymore...).

> > Picking another consilidation won't help because the majority of items
> > we'd like to touch in one or another way are in OS/Net.
> 
> I know.  I don't fully understand how these projects will be implemented,
> but if it's a matter of simply a bunch of things in ON using the ksh
> libraries, then a handful of contracts should be sufficient to ensure that
> when the ksh side changes incompatibly, the ON side follows (or leads,
> depending on the nature of the incompatibility), especially because the
> project team is the same on both sides (at least at present).
> 
> Well-written contracts can be worked on once,

... and who should do that paperwork ?

> and cranked out multiple
> times pretty much at will, and cross-consolidation flag-days,

OUCH! ... ;-(
You may have noticed that I am already trying to avoid any "flag days"
at all costs. I guess something like a "cross-consolidation flag-day" is
even worse, right ? If "yes"... how should I react in such a case - die
and explode ? ;-((

> while they
> can be painful, needn't be, and can often have a grace period built into
> them without much discomfort.

Uhm... I doubt that this would be much "fun". Think about cases like
/usr/bin/sleep or /usr/bin/printf where something like |int main(int ac,
char *av[]) { return b_sleep(ac, av,  sh_init(argc, argv,
(Shinit_f)0));}| would live in OS/Net and the main code would reside in
SFW (e.g. libshell/libcmd/etc.). And that wouldn't be an exception - it
would be AFAIK the general case for all the consumers of "alias.sh"&co.
(see OS/Net closed source).
2nd example (and we have much worse dependices on the ToDo list... for
example... is it allowed to deliver kernel modules from SFW ?) would be
|libc::wordexp()| depending on libshell to do the word expansion - would
it be really allowed to make a central piece of OS/Net like libc.so.1
depend on a piece of software which lives in SFW (ask youself and try to
be honest... :-) ) ?
3rd problem... we would have to replicate lots of OS/Net's build system
and Makefiles in SFW, e.g. we would still have to write our own
Makefiles to get features like CTF support, libraries
filtered through "mapfile-vers", all the smaller optimisation work (like
the the largepage optimisations I added in
"usr/src/cmd/ksh/Makefile.com") etc. - which finally means we do the
same work for SFW as we are currently doing for OS/Net and we would have
to maintain this ourselves instead of having the gate staff and other
people help us.

Short: Putting ksh93 in SFW would not have any advantage for us... in
fact I guess we would run in even greater problems later - more
bickering, more fights, more paperwork and less stricter rules to
maintain the level of quality we've reached in the meantime. SFW would
really the h*ll for us...

> But if you're as (or more) comfortable with the path you've chosen as you
> think you'd be with the other, then please continue.

It's not about being comfortable or something like that... I still
belive that the choice for OS/Net is the correct one. I know... the
beginning was very bumpy but I hope we've found&&identified all major
problems and that getting rid of these issues at the beginning causes a
much smoother ride for the follow-up projects.

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to