[openstack-dev] The Evolution of core developer to maintainer?
Joe Gordon
joe.gordon0 at gmail.com
Fri Apr 3 17:35:33 UTC 2015
On Fri, Apr 3, 2015 at 1:39 AM, Thierry Carrez <thierry at openstack.org>
wrote:
> Joe Gordon wrote:
> > On Thu, Apr 2, 2015 at 3:14 AM, Thierry Carrez <thierry at openstack.org
> > <mailto:thierry at openstack.org>> wrote:
> >
> >> Joe Gordon wrote:
> >> > I cannot speak for all projects, but at least in Nova you have to
> be a
> >> > nova-core to be part of nova-drivers.
> >>
> >> And would you describe that as a good thing ? If John Garbutt is so
> deep
> >> into release liaison work that he can't sustain a review rate
> suitable
> >> to remain a core reviewer, would you have him removed from the
> >> "maintainers" group ? If someone steps up and works full-time on
> >> triaging bugs in Nova (and can't commit to do enough reviews as a
> >> result), would you exclude that person from your "maintainers"
> group ?
> >
> > I want to empower that person and recognize them in some semi formal
> > capacity and make sure they have all the correct permissions.
> >
> > I do not want a single flat 'maintainers' group, I think we need a
> > hierarchical notion of maintainers, where different people can end up
> > with very different responsibilities (and ACLs -- but that is a
> > implementation detail).
>
> OK, so I probably misread your proposal[1]. My understanding was you
> wanted a single flat "maintainers" group that would purely replace "core
> reviewers", keep the same rights and just add duties to the
> already-existing reviewing duties.
>
> [1] https://review.openstack.org/#/c/163660/
So that proposal was not the end goal it was supposed to be a very tiny
first step down this path. I see how that was misleading.
>
> Since I thought project leadership needs to be expressed in a much more
> diverse and inclusive way (and explicitly not tied to +2 rights), I
> opposed such simple renaming.
>
> From what you're saying now your objective is the same as mine. I'm not
> sure the maintainers group needs to be purely hierarchical (I think I'd
>
Hierarchical, in the sense of subsystem maintainers. Not all duties would
have to be that way though.
> prefer it to be a set of duties with no hierarchy between them), but I
> agree that:
>
> - today core reviewers are the only visible project duty, and we need to
> expose and reward all the others, as separate attributes
++
>
> - we could use a blanket term ("maintainers" ?) to describe the people
> holding one or more of those attributes.
>
++
>
> >> OpenStack governance mandates that core developers are ultimately
> the
> >> PTL's choice. Since the PTL is regularly elected by all
> contributors,
> >> that prevents aristocracy.
> >
> > Can you site your source for this? Because the earliest reference to
> > 'Core Developer' (what you are calling core reviewer -- even though that
> > is not the original name) that I could find says nothing about it
> > ultimately being the PTLs choice.
>
> PTLs have (and always had) ultimate say over their project matters. That
> includes how to select core reviewers (or how reviews should be
> performed). A lot of projects let their PTL directly determine who
> should (and should no longer) be on the core list.
>
> > https://wiki.openstack.org/wiki/Governance/Approved/CoreDevProcess
>
> Now it's true that very early on, a lot of PTLs adopted a more "open"
> process to help in that selection. That doesn't mean they can't bypass
> the process.
>
> Personally I think that the apparently "open" process for core selection
> just resulted in reinforcing the aristocracy. This is why I encourage
> PTLs to own the content of core reviewing teams more directly.
>
> >> However in some projects, core reviewers have to be approved by
> existing
> >> core reviewers. That is an aristocracy. In those projects, if you
> >
> > Which projects do it differently?
>
> The Swift PTL always just announced additions. I seem to remember
> TripleO under Robert Collins directly adding members. Also Nova under
> Russell Bryant removed inactive members without asking for an existing
> core members poll. (and that is all good). That said, I agree with you
> that most projects copied the "existing cores must agree" rule.
>
It sounds like writing down this aspect of the PTL powers may be something
worth writing down in the governance repo somewhere?
>
> > So this is where you loose me. Has there ever been a case of a project's
> > PTL adding/removing people from the core team where the PTL goes against
> > the majority of the core developers? You say that an early (unwritten?)
> > goal of the system we have is to prevent 'aristocracy,' but all I see is
> > 'aristocracy'.
>
> Obviously the PTL would only overrule the majority of his core reviewers
> in extreme cases. Imagine this extreme case: core reviewers in a project
> have become a pure aristocracy, nobody can get in anymore, fresh ideas
> and code are systematically rejected. There is a divide between
>
While a safety valve like this is fine, I am not sure if its existence is
why these issues have never arose, and have a hard time imagining this
safety valve actually being used.
If this did happen there is a better safety valve IMHO, the fork.
> contributors to the project (doing the work) and core reviewers. Project
> is completely blocked. At the next election, a PTL candidate campaigns
> on fixing this by dramatically changing the core team. Contributors
> rally to that candidacy, candidate is elected. Once elected, the PTL can
> fix the core team without asking the existing aristocracy blessing.
>
> Now I agree that it's a governance safety valve, designed to solve a
> mostly theoretical case. But sometimes having a "bucket stops here" rule
> is sufficient to prevent conflict. For example conflicts between two
> projects can be escalated to the TC for final resolution. In effect,
> that never happens: said projects usually solve the issue between
> themselves rather than ask the TC to arbitrate. The same effect applies
> here: saying "the PTL has ultimate say anyway" usually prevents a total
> disconnect between the contributors and the core reviewers, because
> everyone knows there is a safety valve.
>
> [...]
> > So, let me take a step back here. I would like to see at least 2 to 3x
> > more people in a given project to feel empowered and have badges, and
> > make it possible for part time upstream developers to hold some of said
> > badges. It sounds like you more or less agree with that goal. So how do
> > you propose we get there?
>
> Define roles (separate from "core reviewing") that are useful tasks, and
> let people hold those roles. For example we introduced this cycle the
> concept of liaisons -- this is incredibly important work, and I'd like
> the people who hold those roles to be more widely recognized.
Makes sense, but I still think the current role of 'core reviewer' it self
needs to be decomposed further (see below for more on this).
>
> Now the problem is how we give more recognition to those people. I've
> been trying to popularize the use of the "CPL" acronym (cross-project
> liaisons) as a key part of the project leadership (just below the PTL).
> Maybe we need a blanket term ("maintainers" ?) to regroup all those roles ?
>
> > Because having 15 core reviewers for all of nova is just not cutting it.
>
> So I think that's a separate issue. Lack of core reviewers in Nova is
> because the domain you have to have expertise on is just too big. That
> means it is very hard to maintain the expertise and activity level to
> remain a core reviewer, and even harder to learn enough to become one. I
> fear the only solution there is to have separate core review teams
> responsible for smaller areas of code. But that is a separate thread imho.
>
Yes the crux of the core reviewer issue in nova and other projects is
directly related to the size/activity of the repo in question. One of the
main goals in my head of starting this thread was to better address this
specific question. I have a few possible ideas on how we can address this,
but right now I am trying to at least get agreement that the current 'core
reviewer' model for large repositories is not working.
> --
> Thierry Carrez (ttx)
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150403/3dd2a7e2/attachment.html>
More information about the OpenStack-dev
mailing list