On Sun, Jan 27, 2008 at 02:13:33PM -0800, Ben Rockwood wrote:

> In some senses the ON CG is the mother from which others flow.  The idea 
> is that most OS projects are going to intersect with ON to some degree, 
> thus becoming projects of that CG.  At some later point the grow 
> sufficiently to be "upgraded" to a CG.  
> 
> For example, if we ran the clock back, SMF or DTrace might have started 
> as ON Projects.  As they grew and matured they would have reached a 
> point at which they needed to be upgraded to a full CG.

Ok, your thinking is where mine was a year ago
(Consolidation-sponsoring Community Groups, anyone?).  There are two
problems with this approach that have become apparent in that time:

1. If consolidations are CGs, then virtually all the other CGs,
including some that are actually functioning as well as might be
hoped, have to go, and we have nothing with which to replace them.
SMF is not a Project any longer, it's a SIG that is working with
several Project Teams, each of which is targetting ON.  I'm fine with
destroying SMF as a CG as long as the value it actually represents is
preserved with some other name and a charter that corresponds to the
activities in which it's actually engaged.  Managing a repository
containing a piece of software called SMF and issuing occasional
releases from it are not among those activities.

2. Community Groups are first-class citizens, but consolidations are
not.  Along the same lines as my reasoning in my earlier message, the
Apache web server is a product, a first-class citizen.  ON is not, and
even if you think it is, Network Storage, to take a different example,
most certainly is not.  We're making an integrated technology base
here, not a couple dozen standalone products.  CGs map well onto
standalone products, but if we assert that consolidations are CGs,
there is no way to represent relationships among them: the ARC, the
W-team, etc.

OpenSolaris is a richer place than can be described in a simplistic
three-level hierarchy.  That each level can be enriched by internal
constructs does not help, because we lack the ability to describe the
real working relationships among these things with what we have now.

> Dr. Fielding has spoken of this in the past at ASF, where they regularly 
> look for Sub-Projects that take on a life of their own and need to be 
> uplifted into full Project status.

Yes.  But this seems like evidence of the exact wrong idea (for us):
that once a piece of software becomes large enough to "stand on its
own", it should be split apart from its context of creation into some
independently governed thing.  This is the exact opposite of what we
should be trying to accomplish: getting people to write
better-integrated software that functions properly as part of a larger
whole.  Instead of creating a new CG, we should be creating another
directory under usr/src/lib or usr/src/uts.  That distinction matters
because we want a maintainable gate, not because the new thing should
stop being a part of the same product organised by the same
institutions.

> As to the comment regarding most CG's being SIG's today... I agree.  We 
> have known for some time (see OGB/2007/002) that a lot of shuffling 
> needs to occur, and in many cases CG's just need to be destroyed.  If a 
> CG isn't operating properly then its useless and needs to be removed, 
> with the hope that at some point it will come back to life with proper 
> organization and determination.
> 
> But before we can go around smashing CG's and Projects we need to 
> address the current cultural misunderstanding in how the system is 
> supposed to work.  Most of the friction that comes from any discussion 
> of removing a CG today is the result of a misunderstanding in their 
> function, organization, and implementation.

Agreed.  But we also need something sensible to replace them with.

-- 
Keith M Wesolowski              "Sir, we're surrounded!" 
Fishworks                       "Excellent; we can attack in any direction!" 

Reply via email to