John Plocher wrote:
> James C. McPherson wrote:
>> James Carlson wrote:
>>> James C. McPherson writes:
>>>> Frank Che wrote:
>>>>> Requested release binding is patch/micro for OpenSolaris
>
>> True, and I consider the "patch/micro" request to be incorrect
>
> The final binding is a synthesis of the team's desires and the
> type of change actually being proposed.  The actual changes set
> the "low bar", the team's desires can only raise it.
>
> Patch/Micro seems appropriate based on the actual change;
> Minor might be more desirable as a way of preventing feature
> creep in the Update releases.  The former is an ARC call,
> the other is a project team one.

My only concern here is that IPS itself is not Patch or Micro.  So this 
case doesn't *itself* have a burden that would require a minor release, 
but it has a dependency that does.

I'm happy with Patch or Micro (but not ambiguous "Patch/Micro"), 
*provided* that we all understand that this doesn't set a precedent 
where someone could use this case's binding to bring along the 
dependency with a stricter binding requirement (IPS in this case) as 
part of a backport -- at least not without coming back to ARC for a 
change in the binding on the dependency.

(Granted, "backporting" IPS seems a bit unlikely to me.  My concern is 
that a precedent might be set for other less "obvious" cases.)

    -- Garrett

>
>    -John
>
> <
>       ARC Tutorial Warning
>  It is safe to stop reading now :-)
> >
>
> What is a "Release Binding"?
>
> In simplistic terms, a project can be thought of as consuming
> an existing system, applying some changes to it, and producing
> a new version of the system.
>
> The ARC review focuses on those changes; one of the outcomes
> of the review is a pronouncement about the magnitude and
> impact of those changes.  That pronouncement is called the
> Release Binding.
>
> At any given time, there are several different releases under
> construction:
>     Solaris10updateX (a patch gate that allows a restricted
>                       set of new features),
>     OpenSolaris/Nevada (a Minor release) and
>     (maybe?) OpenSolaris/Indiana (a Major release).
>
> The case's release binding is used to steer a project to
> the appropriate integration gate for a Major release, a
> Minor one, or a Micro or Patch.
>
> An example:
>
> Assume the baseline existing system was the "zpool" command.
> Grunging thru the ARC case archives, we find several cases
> that describe zpool's Exported Interfaces; in particular,
> they set expectations as to their future evolutionary stability.
>
> Example1:
> Another zpool project comes in and says they wish to change
> the meaning of an existing command line option such that it
> does a completely different thing.  Looking at the previous
> ZFS ARC cases, we find that the interface stability level
> for that option was Committed.  Looking at the Interface
> Taxonomy, we find, under the heading "Committed":
>
>> Incompatible Change     major release (X.0)
>
> Thus, the release binding would need to be Major.
> (Committed Interface + Incompatible change = Major binding)
> This poses a problem today, since we don't *have* any gates
> chartered for a Major Release.
>
> If the project team was expecting Minor or Patch binding,
> this would be a good time for an ARC discussion about
> living up to expectations - and setting them correctly in
> the first place :-)
>
>
> Example 2:
> A project comes in and proposes to add a new flag to zpool.
> The change being proposed is a "compatible" change - existing
> users of the zpool command won't be impacted by this change.
> What is the release binding?  From the Interface Taxonomy,
> we find:
>
>> A compatible addition is normally permitted in a minor (X.Y) release; 
>> adding features in a micro (X.Y.Z) release, or in patches makes it 
>> hard for ISVs to determine when they can start depending on the 
>> existance of a new feature.
>
> Thus, the release binding is at most Minor, but *could* be
> Micro or Patch if sufficient justification were given.
> (Compatible feature addition = Minor +/- wiggle room)
>
> This "justification" or "wiggle room" is where the project
> team's desires come in, and is why we usually ask them for
> their binding suggestion.
>
> Assume the final binding is "Patch", with the justification
> that this change is needed in Solaris10UpdateX.  This
> project would be expected to integrate into S10Ux AND
> OpenSolaris so that there would not be any feature
> regressions between the two versions.  If there also
> was a Major gate out there, it would go there as well.
>
>   -John
>
>
>
>
>
>
>
>


Reply via email to