[Sorry for the length.  Executive Summary:

There are several things that a project needs to be able to articulate
to themselves, their CG and to the ARC:
    What do you intend to do (problem statement, scope),
    How will it impact existing promises and expectations (what does it change),
    What new expectations does it set (interfaces & their stability), and
    How will we/you know when you are done (goals)?

In this case, I think that it might be good for the Packaging and Install CG
core contribs to weigh in on where in the packaging system evaluation process
they are, including what decisions (if any) they have made in this area.

    -John]

Brian Gupta wrote:
> My understanding is that ARC is the forum for guidance, as well as 
> informing the community of intended projects. 

You asked for advice as to what the ARC would look for; my response was
an answer to your question, not a prerequisite of stuff to be done before
you could start interacting with the ARC.  Consider it a serious place to
start preparing now for the architectural commitment review at the end of
your ARC interactions; if /you/ don't have good, focused answers to these
types of scope and intent questions, how can you expect the /ARC/ to be
able to even start to understand the potential impact of your project?

ARC review is, at its simplest, simply a review of your problem statement
and project charter:

    What do you intend to do (problem statement, scope),
    How will it impact existing promises and expectations (what does it change),
    What new expectations does it set (interfaces & their stability), and
    How will we/you know when you are done (goals)?

I'll try to elaborate inline below.

>     1) Why are we doing this?
> ...
> We as a community must however understand what we wish to accomplish.

Bingo.  This is the exact question the ARC expects every project to answer:
     "What do we (the community) wish to accomplish?"

>     2) What is the intended usage scope?

[lots of 'it could' and 'it can' deleted...]

The ARC is less interested in potentials than in understanding specifics.
What specifically do you intend to have /this/ project do - as opposed to
future followon efforts?  Possible answers that come to mind might be
        A) We want to port conary to Solaris, package it in systemV pkgs,
            and deliver the bits into the SFW consolidation.
        B) As in A, plus use it to build and maintain some set of stuff in
           a conary repository (sortof like pkg-get's relationship to
           blastwave)
        C) As in B, but targeting the OpenSolaris ON consolidation as
           a specific example
        D) ...

I don't think "A" would be controversial at all, while "C" could end up
requiring a lot more effort on the part of a lot of people.  Without
knowing the scope of what you have in mind, it is like asking me
what you should cook for dinner, without telling me whether you are
thinking of a romantic evening for two, or a big party bash for the
entire NYC OSUG :-)

[ceder plank salmon fillets on the grill over a bed of basmati rice,
steamed asparagus tips with Hollandaise, a big California Cab or medium
Pinot, finishing with bread pudding for desert for the one; grilled BBQ
pork ribs and bulk Costco potato salad with lots of beer for the other :-) ]

>     3) Does it actually work for the use cases and scope called out
>        above?

> What sort of proof do you need? 

I'm not asking for the proof *now*; I'm asking you to scope your proposal,
and then - as part of the ARC review and community acceptance effort - show
that your project can indeed do what you claim it will be able to do.
As above, "A" is a trivial exercise - it compiled, it runs, it is able
to deploy & load an example application, QED.  On the other hand, if your
scope is to convert ON to a new build system, the community will probably
require you to prove (thru a pilot exercise, perhaps) that it is in fact
possible to host, deploy and install something as complex as ON in conary.

> Agreed. How should any prospective packaging system handle legacy SVr4 
> packages? 

It is up to each individual project to say how their architecture will support
them.  SysV pkgs have their own metadata, dependencies, install and uninstall
contexts, rules and expectations, all of which will be "different" from the
norms of the packaging system being reviewed.  The easy part is saying "it
should handle it", the hard part is architecting a system where it and all
its corner cases *actually* work  (think zones, jumpstart, xVM...).

I would expect this to be the hardest part of evaluating *any* alternative
packaging system...

> You say "not might or could but does", yet at the same time 
> you say to "ARC, early and often".

By ARC Commitment time, you need to have these answers; now at the
beginning, I am simply asking you to start thinking about them.  This
is part of the "early"; your response becomes part of the "often" :-)

>     5) What is the relationship between this project and the others being
>        done in the install/packaging CG?  This sounds like a design choice;
>        what has the CG itself said about it?  ... have you asked?
> 
> 
> I was told by Stephen Hahn that Conary had been evaluated for use but 

The sparse mail log shows a slightly different perspective; it also seems
to show that all the conary evaluation has happened behind your own closed
doors.  In some sense, it doesn't matter; the community rules are clear
that design decisions like conary -vs- IPS need to be made at the CG level
with some sort of formal vote among core contributers.  [TIME FOR THE
P&I CG TO CHIME IN...]

IMO, it seems that the result of an "evaluate foo" project is simply
an evaluation that leads to discussion at the CG level, especially
as it pertains to other "evaluate bar" efforts also being done.  It
also seems to me to be scope-creep in the extreme to jump from an
"evaluate" charter to an "endorse me first" one without some
indication that that community that chartered you is in agreement.

  (Please define ABICT)

As Best I Can Tell, Google doesn't always have all the answers :-)

> Finally this request 

You are right - your ARC request wasn't a diss, but the other email from
Martin and you on the topic of the distro community and conary on ogb-discuss
that same day came across that way.  I apologize for painting both discussions
with the same brush.

> Hopefully, as a 
> result of this the OpenSolaris community will be able to come to a comon 
> set of requirements that any packaging system must meet. 

I would expect the install and packaging CG to come up with those
requirements, and to pass them on to the ARC community in the form
of policies, best practices and endorsed projects.  As a project
lead in the install & packaging CG, I would hope that you are one
of those helping drive consensus in that community.

> As I am aware there are no other proposals before the ARC for guidance 
> in creating or adopting an OpenSolaris packaging system. Please 

That is somewhat immaterial - the packaging and install CG is known
to be in the process of evaluating and developing packaging and
repository tools such as conary, ips and others.

This is why I asked whether or not your project's sponsoring CG had
discussed your evaluation of conary and if they had been asked to make
(or had in fact made) a design decision about a packaging system.
I looked at the mail archives and could find no indication that such a
design discussion had in fact been had recently for conary, but I could
have missed it. (Don't worry, I am also beating up Stephen, David, Danek
and the rest on a regular basis for not having "walked the ARC walk" for
IPS, repositories and the rest of the Indiana effort; to their (and your)
defense, architecture review usually happens only after enough prototyping
has been done so that the project leads have a good clue as to what their
architecture /should/ be...)

In the same way as when two LSI drivers popped up before the holidays,
when the ARC is aware of multiple overlapping efforts in a single
architectural area, it usually asks all the parties to coordinate
and cooperate to develop an architecture that works for both, since
having two overlapping somethings without any rhyme or reason between
them tends to spell confusion and chaos for users.  In this case, since
there is a CG that is sponsoring all the various packaging projects, it
is reasonable to ask that you engage there as well as here.

> We are currently working with the IPS folks to try and understand their 
> design criteria behind IPS now.  

This is great news.

As Bill F has just said over on ogb-discuss, Sun has a strong interest in
forming an ecosystem of compatible software package and services.  This
implies that, while it may be desirable to /evaluate/ many packaging options,
we all are best served by choosing one and focusing our efforts on making it
a robust and successful infrastructure piece.  The desired end result isn't
having several competing packaging systems to distract everyone, but in
building a vibrant ecosystem around things that *presume the use* of a
common packaging system.  Anything else IMO simply sets us up for death by
a thousand different package formats, which is almost as bad the fabled
Linux Distro Hell we are also trying to avoid :-)

> One observation right now, is that 
> many of the requirements for IPS seem to be very SMI-centric, and as 
> external community members, we can not always fully relate. 

Any "new" packaging system will need to be able to handle "SMI legacy"
needs; however, the probability that any of those legacy needs will rate
high on external developers checklists may be vanishingly low :-)

   -John



Reply via email to