[openstack-dev] [oslo] maintenance policy for code graduating from the incubator
Russell Bryant
rbryant at redhat.com
Mon Dec 2 14:06:24 UTC 2013
On 12/02/2013 08:53 AM, Doug Hellmann wrote:
>
>
>
> On Mon, Dec 2, 2013 at 8:46 AM, Doug Hellmann
> <doug.hellmann at dreamhost.com <mailto:doug.hellmann at dreamhost.com>> wrote:
>
>
>
>
> On Mon, Dec 2, 2013 at 8:36 AM, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
>
> On 11/29/2013 01:39 PM, Doug Hellmann wrote:
> > We have a review up (https://review.openstack.org/#/c/58297/)
> to add
> > some features to the notification system in the oslo
> incubator. THe
> > notification system is being moved into oslo.messaging, and so
> we have
> > the question of whether to accept the patch to the incubated
> version,
> > move it to oslo.messaging, or carry it in both.
> >
> > As I say in the review, from a practical standpoint I think we
> can't
> > really support continued development in both places. Given the
> number of
> > times the topic of "just make everything a library" has come
> up, I would
> > prefer that we focus our energy on completing the transition
> for a given
> > module or library once it the process starts. We also need to
> avoid
> > feature drift, and provide a clear incentive for projects to
> update to
> > the new library.
> >
> > Based on that, I would like to say that we do not add new
> features to
> > incubated code after it starts moving into a library, and only
> provide
> > "stable-like" bug fix support until integrated projects are
> moved over
> > to the graduated library (although even that is up for
> discussion).
> > After all integrated projects that use the code are using the
> library
> > instead of the incubator, we can delete the module(s) from the
> incubator.
> >
> > Before we make this policy official, I want to solicit
> feedback from the
> > rest of the community and the Oslo core team.
>
> +1 in general.
>
> You may want to make "after it starts moving into a library" more
> specific, though.
>
>
> I think my word choice is probably what threw Sandy off, too.
>
> How about "after it has been moved into a library with at least a
> release candidate published"?
Sure, that's better. That gives a specific bit of criteria for when the
switch is flipped.
>
>
> One approach could be to reflect this status in the
> MAINTAINERS file. Right now there is a status field for each
> module in
> the incubator:
>
>
> S: Status, one of the following:
> Maintained: Has an active maintainer
> Orphan: No current maintainer, feel free to step up!
> Obsolete: Replaced by newer code, or a dead end, or
> out-dated
>
> It seems that the types of code we're talking about should just be
> marked as Obsolete. Obsolete code should only get stable-like
> bug fixes.
>
> That would mean marking 'rpc' and 'notifier' as Obsolete (currently
> listed as Maintained). I think that is accurate, though.
>
>
> Good point.
So, to clarify, possible flows would be:
1) An API moving to a library as-is, like rootwrap
Status: Maintained
-> Status: Graduating (short term)
-> Code removed from oslo-incubator once library is released
2) An API being replaced with a better one, like rpc being replaced by
oslo.messaging
Status: Maintained
-> Status: Obsolete (once an RC of a replacement lib has been released)
-> Code removed from oslo-incubator once all integrated projects have
been migrated off of the obsolete code
Does that match your view?
>
> I also added a "Graduating" status as an indicator for code in that
> intermediate phase where there are 2 copies to be maintained. I hope we
> don't have to use it very often, but it's best to be explicit.
>
> https://review.openstack.org/#/c/59373/
Sounds good to me.
--
Russell Bryant
More information about the OpenStack-dev
mailing list